瀏覽代碼

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

humuyu 3 年之前
父節點
當前提交
aa08fc1de1
共有 82 個文件被更改,包括 2550 次插入2883 次删除
  1. 1 0
      eladmin-security/src/main/java/me/zhengjie/security/config/SpringSecurityConfig.java
  2. 1 1
      eladmin-security/src/main/java/me/zhengjie/security/config/bean/LoginProperties.java
  3. 6 0
      eladmin-security/src/main/java/me/zhengjie/security/domain/OnlineUserConstant.java
  4. 2 1
      eladmin-security/src/main/java/me/zhengjie/security/rest/OnlineController.java
  5. 1 1
      eladmin-security/src/main/java/me/zhengjie/security/security/TokenFilter.java
  6. 17 11
      eladmin-security/src/main/java/me/zhengjie/security/service/OnlineUserService.java
  7. 45 26
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/NotaryOrderController.java
  8. 68 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminBorrowerVO.java
  9. 67 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminGuaranteeVO.java
  10. 68 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminMortgageVO.java
  11. 63 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminOrderVO.java
  12. 0 4
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderInfoQueryRsp.java
  13. 1 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderQueryReq.java
  14. 2 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderQueryRsp.java
  15. 2 0
      eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/PartyEntity.java
  16. 10 47
      eladmin-system/src/main/java/me/zhengjie/application/admin/job/GenerateNotarizationJob.java
  17. 5 6
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/NotaryOrderService.java
  18. 96 160
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/NotaryOrderServiceImpl.java
  19. 2 2
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/BankServiceImpl.java
  20. 13 14
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/CochainLogServiceImpl.java
  21. 3 1
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/ModelNotarizationServiceImpl.java
  22. 2 3
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/NotaryOfficeServiceImpl.java
  23. 6 7
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/OfficeXbankServiceImpl.java
  24. 2 2
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/UserServiceImpl.java
  25. 1 1
      eladmin-system/src/main/java/me/zhengjie/base/BaseController.java
  26. 98 441
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/AppBankController.java
  27. 151 0
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankNotarizeController.java
  28. 249 0
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankOrderController.java
  29. 75 0
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BankOrderVO.java
  30. 13 165
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BorrowerVo.java
  31. 12 150
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/GuaranteeVo.java
  32. 5 42
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/ImageUploadVo.java
  33. 13 165
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/MortgageVo.java
  34. 1 0
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/NotaryNoteVo.java
  35. 11 8
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderDetailDto.java
  36. 0 81
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderDto.java
  37. 0 25
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderVo.java
  38. 69 72
      eladmin-system/src/main/java/me/zhengjie/application/bank/mq/RedisReceiver.java
  39. 3 3
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/ApiBankService.java
  40. 18 22
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/BorrowerService.java
  41. 11 9
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/GuaranteeService.java
  42. 6 9
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/MortgageService.java
  43. 21 30
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/OrderService.java
  44. 7 6
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/UserAXQInfoService.java
  45. 13 15
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/ApiBankServiceImpl.java
  46. 31 194
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BorrowerServiceImpl.java
  47. 2 2
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/FileInfoServiceImpl.java
  48. 17 26
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/GuaranteeServiceImpl.java
  49. 24 31
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/MortgageServiceImpl.java
  50. 217 68
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/NotaryNoteServiceImpl.java
  51. 387 306
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/OrderServiceImpl.java
  52. 3 3
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/SysUserServiceImpl.java
  53. 113 65
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/UserAXQInfoServiceImpl.java
  54. 36 30
      eladmin-system/src/main/java/me/zhengjie/application/user/app/controller/AppUserController.java
  55. 9 9
      eladmin-system/src/main/java/me/zhengjie/application/user/app/mq/WebSocketReceiver.java
  56. 32 26
      eladmin-system/src/main/java/me/zhengjie/application/user/mini/controller/MiniUserController.java
  57. 9 12
      eladmin-system/src/main/java/me/zhengjie/application/user/service/ApiService.java
  58. 25 44
      eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/ApiServiceImpl.java
  59. 2 2
      eladmin-system/src/main/java/me/zhengjie/base/util/CFCACertUtil.java
  60. 7 20
      eladmin-system/src/main/java/me/zhengjie/base/util/DownloadUtils.java
  61. 31 33
      eladmin-system/src/main/java/me/zhengjie/base/util/FileUploadUtil.java
  62. 12 0
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/BankRepository.java
  63. 14 0
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/FileInfoRepository.java
  64. 29 4
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/ModelRepository.java
  65. 41 29
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OrderFileRepository.java
  66. 59 8
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OrderRepository.java
  67. 26 0
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/UserAXQInfoRepository.java
  68. 0 144
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/NotaryOrderEntity.java
  69. 26 219
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/OrderEntity.java
  70. 3 0
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/OrderFileEntity.java
  71. 1 1
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IFileInfoDao.java
  72. 0 18
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IOrderDao.java
  73. 2 2
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/NotaryOrderMapper.java
  74. 1 1
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/ISysUserDao.java
  75. 1 1
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IUserAXQInfoDao.java
  76. 15 0
      eladmin-system/src/main/java/me/zhengjie/domain/order/OrderConstant.java
  77. 6 0
      eladmin-system/src/main/java/me/zhengjie/domain/order/OrderFileConstant.java
  78. 5 2
      eladmin-system/src/main/resources/config/application-prod.yml
  79. 16 2
      eladmin-system/src/main/resources/config/application.yml
  80. 1 1
      eladmin-system/src/main/resources/mapper/FileInfoMapper.xml
  81. 1 1
      eladmin-system/src/main/resources/mapper/SysUserMapper.xml
  82. 86 49
      eladmin-system/src/main/resources/template/note/notary-note.html

+ 1 - 0
eladmin-security/src/main/java/me/zhengjie/security/config/SpringSecurityConfig.java

@@ -118,6 +118,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/swagger-ui.html").permitAll()
                 .antMatchers("/swagger-resources/**").permitAll()
                 .antMatchers("/app/**").permitAll()
+                .antMatchers("/api/bank-app/**").permitAll()
                 .antMatchers("/minipro/**").permitAll()
                 .antMatchers("/image/**").permitAll()
                 .antMatchers("/webjars/**").permitAll()

+ 1 - 1
eladmin-security/src/main/java/me/zhengjie/security/config/bean/LoginProperties.java

@@ -36,7 +36,7 @@ public class LoginProperties {
     /**
      * 账号单用户 登录
      */
-    private boolean singleLogin = false;
+    private boolean singleLogin = true;
 
     private LoginCode loginCode;
 

+ 6 - 0
eladmin-security/src/main/java/me/zhengjie/security/domain/OnlineUserConstant.java

@@ -0,0 +1,6 @@
+package me.zhengjie.security.domain;
+
+public class OnlineUserConstant {
+    public static final String SEARCH_USER_WITH_KEWORD = "0";
+    public static final String SEARCH_USER_WITH_USERNAME = "1";
+}

+ 2 - 1
eladmin-security/src/main/java/me/zhengjie/security/rest/OnlineController.java

@@ -18,6 +18,7 @@ package me.zhengjie.security.rest;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import me.zhengjie.security.domain.OnlineUserConstant;
 import me.zhengjie.security.service.OnlineUserService;
 import me.zhengjie.utils.EncryptUtils;
 import org.springframework.data.domain.Pageable;
@@ -52,7 +53,7 @@ public class OnlineController {
     @GetMapping(value = "/download")
     @PreAuthorize("@el.check()")
     public void exportOnlineUser(HttpServletResponse response, String filter) throws IOException {
-        onlineUserService.download(onlineUserService.getAll(filter), response);
+        onlineUserService.download(onlineUserService.getAll(filter, OnlineUserConstant.SEARCH_USER_WITH_KEWORD), response);
     }
 
     @ApiOperation("踢出用户")

+ 1 - 1
eladmin-security/src/main/java/me/zhengjie/security/security/TokenFilter.java

@@ -107,7 +107,7 @@ public class TokenFilter extends GenericFilterBean {
 
 		// 这里是处理app的接口
 		String token = resolveToken(httpServletRequest);
-		if (reqUrl.startsWith("/app/")|| reqUrl.startsWith("/minipro/")) {
+		if (reqUrl.startsWith("/api/bank") || reqUrl.startsWith("/app/") || reqUrl.startsWith("/minipro/")) {
 			Object appToken = null;
 			try {
 				// 判断是否是不需要权限访问的,

+ 17 - 11
eladmin-security/src/main/java/me/zhengjie/security/service/OnlineUserService.java

@@ -20,6 +20,7 @@ import com.corundumstudio.socketio.SocketIOClient;
 import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.security.config.bean.SecurityProperties;
+import me.zhengjie.security.domain.OnlineUserConstant;
 import me.zhengjie.security.service.dto.OnlineUserDto;
 import me.zhengjie.utils.*;
 import org.springframework.data.domain.Pageable;
@@ -93,27 +94,32 @@ public class OnlineUserService {
 	 * @return /
 	 */
 	public Map<String, Object> getAll(String filter, Pageable pageable) {
-		List<OnlineUserDto> onlineUserDtos = getAll(filter);
+		List<OnlineUserDto> onlineUserDtos = getAll(filter,OnlineUserConstant.SEARCH_USER_WITH_KEWORD);
 		return PageUtil.toPage(PageUtil.toPage(pageable.getPageNumber(), pageable.getPageSize(), onlineUserDtos),
 				onlineUserDtos.size());
 	}
 
 	/**
 	 * 查询全部数据,不分页
-	 * 
-	 * @param filter /
-	 * @return /
+	 * @param filterKeyword
+	 * @param type
+	 * @return
 	 */
-	public List<OnlineUserDto> getAll(String filter) {
+	public List<OnlineUserDto> getAll(String filterKeyword, String type) {
 		List<String> keys = redisUtils.scan(properties.getOnlineKey() + "*");
 		Collections.reverse(keys);
 		List<OnlineUserDto> onlineUserList = new ArrayList<>();
 		for (String key : keys) {
 			OnlineUserDto onlineUserDto = JSON.parseObject((String) redisUtils.get(key), OnlineUserDto.class);
-			// onlineUserDto.setToken(key);
-			if (StringUtils.isNotBlank(filter)) {
-				if (onlineUserDto.toString().contains(filter)) {
-					onlineUserList.add(onlineUserDto);
+			if (StringUtils.isNotBlank(filterKeyword)) {
+				if (OnlineUserConstant.SEARCH_USER_WITH_USERNAME.equals(type)) {
+					if (StringUtils.isNotBlank(onlineUserDto.getUsername()) && onlineUserDto.getUsername().equals(filterKeyword)) {
+						onlineUserList.add(onlineUserDto);
+					}
+				} else {
+					if (onlineUserDto.toString().contains(filterKeyword)) {
+						onlineUserList.add(onlineUserDto);
+					}
 				}
 			} else {
 				onlineUserList.add(onlineUserDto);
@@ -196,7 +202,7 @@ public class OnlineUserService {
 	 * @param userName 用户名
 	 */
 	public void checkLoginOnUser(String userName, String igoreToken) {
-		List<OnlineUserDto> onlineUserDtos = getAll(userName);
+		List<OnlineUserDto> onlineUserDtos = getAll(userName, OnlineUserConstant.SEARCH_USER_WITH_USERNAME);
 		if (onlineUserDtos == null || onlineUserDtos.isEmpty()) {
 			return;
 		}
@@ -221,7 +227,7 @@ public class OnlineUserService {
 	 */
 	@Async
 	public void kickOutForUsername(String username) throws Exception {
-		List<OnlineUserDto> onlineUsers = getAll(username);
+		List<OnlineUserDto> onlineUsers = getAll(username, OnlineUserConstant.SEARCH_USER_WITH_USERNAME);
 		for (OnlineUserDto onlineUser : onlineUsers) {
 			if (onlineUser.getUsername().equals(username)) {
 				String token = EncryptUtils.desDecrypt(onlineUser.getKey());

+ 45 - 26
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/NotaryOrderController.java

@@ -3,20 +3,23 @@ package me.zhengjie.application.admin.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
+import me.zhengjie.application.admin.controller.vo.AdminOrderVO;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.application.bank.service.BorrowerService;
 import me.zhengjie.application.bank.service.GuaranteeService;
 import me.zhengjie.application.bank.service.MortgageService;
+import me.zhengjie.base.AppResultData;
 import me.zhengjie.base.util.TencentUtil;
 import me.zhengjie.application.bank.controller.vo.FileVo;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.application.admin.controller.vo.PartyEntity;
 import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryReq;
 import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryRsp;
-import me.zhengjie.application.admin.service.NotaryOrderService;
+import me.zhengjie.application.admin.service.AdminOrderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -39,16 +42,13 @@ import java.util.List;
 @Validated
 @RequestMapping("/notaryOrder")
 @Slf4j
-public class NotaryOrderController {
+@RequiredArgsConstructor
+public class AdminOrderController {
 
-    @Autowired
-    private NotaryOrderService notaryOrderService;
-    @Autowired
-    private BorrowerService borrowerService;
-    @Autowired
-    MortgageService mortgageService;
-    @Autowired
-    GuaranteeService guaranteeService;
+    private final AdminOrderService adminOrderService;
+    private final BorrowerService borrowerService;
+    private final MortgageService mortgageService;
+    private final GuaranteeService guaranteeService;
 
     /**
      * 公证订单 查询
@@ -57,7 +57,7 @@ public class NotaryOrderController {
      */
     @RequestMapping("/query")
     public AppBaseResponse<List<NotaryOrderQueryRsp>> query(@RequestBody NotaryOrderQueryReq req) {
-        return notaryOrderService.query(req);
+        return adminOrderService.query(req);
     }
 
     /**
@@ -67,7 +67,7 @@ public class NotaryOrderController {
      */
     @RequestMapping("/customerInfo")
     public AppBaseResponse<NotaryOrderQueryRsp> getCustomerInfo(@RequestBody HashMap<String,String> map) {
-        return notaryOrderService.getCustomerInfo(map);
+        return adminOrderService.getCustomerInfo(map);
     }
 
     /**
@@ -76,8 +76,10 @@ public class NotaryOrderController {
      * @return
      */
     @RequestMapping("/borrowerInfo")
-    public AppBaseResponse<OrderDetailDto> borrowerInfo(@RequestBody HashMap<String,String> map) {
-        return borrowerService.borrowerInfo(map);
+    public AppBaseResponse<OrderDetailDto> borrowerInfo(@RequestBody HashMap<String, String> map) {
+        AppBaseResponse response = new AppBaseResponse();
+        response.setData(new AppResultData<OrderDetailDto>(borrowerService.borrowerInfo(map)));
+        return response;
     }
 
     /**
@@ -87,7 +89,9 @@ public class NotaryOrderController {
      */
     @RequestMapping("/mortgageInfo")
     public AppBaseResponse<OrderDetailDto> mortgageInfo(@RequestBody HashMap<String,String> map) {
-        return mortgageService.mortgageInfo(map);
+        AppBaseResponse response = new AppBaseResponse();
+        response.setData(new AppResultData<OrderDetailDto>(mortgageService.mortgageInfo(map)));
+        return response;
     }
 
     /**
@@ -96,10 +100,25 @@ public class NotaryOrderController {
      * @return
      */
     @RequestMapping("/guaranteeInfo")
-    public AppBaseResponse<OrderDetailDto> guaranteeInfo(@RequestBody HashMap<String,String> map) {
-        return guaranteeService.guaranteeInfo(map);
+    public AppBaseResponse<OrderDetailDto> guaranteeInfo(@RequestBody HashMap<String, String> map) {
+        AppBaseResponse response = new AppBaseResponse();
+        response.setData(new AppResultData<OrderDetailDto>(guaranteeService.guaranteeInfo(map)));
+        return response;
     }
 
+    /**
+     * 查询订单详情
+     *
+     * @param map
+     * @return
+     */
+    @RequestMapping("/info")
+    public AppBaseResponse<AdminOrderVO> orderInfo(@RequestBody HashMap<String, String> map) {
+        AppBaseResponse response = new AppBaseResponse();
+        String businessNO = map.get("businessNO");
+        response.setData(new AppResultData<AdminOrderVO>(adminOrderService.info(businessNO)));
+        return response;
+    }
 
     /**
      * 公证订单 查询 当事人
@@ -108,7 +127,7 @@ public class NotaryOrderController {
      */
     @RequestMapping("/partys")
     public AppBaseResponse<List<PartyEntity>> partys(@RequestBody HashMap<String,String> map) {
-        return notaryOrderService.partys(map);
+        return adminOrderService.partys(map);
     }
 
     /**
@@ -118,7 +137,7 @@ public class NotaryOrderController {
      */
     @RequestMapping("/orderReturn")
     public AppBaseResponse orderReturn(@RequestBody NotaryOrderQueryReq req) {
-        return notaryOrderService.orderReturn(req);
+        return adminOrderService.orderReturn(req);
     }
 
     /**
@@ -128,7 +147,7 @@ public class NotaryOrderController {
      */
     @AnonymousPostMapping("/orderReject")
     public AppBaseResponse orderReject(@RequestBody NotaryOrderQueryReq req) {
-        return notaryOrderService.orderReject(req);
+        return adminOrderService.orderReject(req);
     }
 
     /**
@@ -138,7 +157,7 @@ public class NotaryOrderController {
      */
     @RequestMapping("/partyPass")
     public AppBaseResponse partyPass(@RequestBody NotaryOrderQueryReq req) {
-        return notaryOrderService.partyPass(req);
+        return adminOrderService.partyPass(req);
     }
 
     /**
@@ -148,7 +167,7 @@ public class NotaryOrderController {
      */
     @AnonymousPostMapping("/checkInfoPass")
     public AppBaseResponse checkInfoPass(@RequestBody NotaryOrderQueryReq req) {
-        return notaryOrderService.checkInfoPass(req);
+        return adminOrderService.checkInfoPass(req);
     }
 
 
@@ -186,22 +205,22 @@ public class NotaryOrderController {
     }
     @RequestMapping("/preview")
     public AppBaseResponse previewNotarization(@RequestBody NotaryOrderQueryReq req){
-        return notaryOrderService.previewNotarization(req);
+        return adminOrderService.previewNotarization(req);
     }
 
     @AnonymousPostMapping("/bankCustomer")
     public AppBaseResponse bankCustomer(@RequestBody NotaryOrderQueryReq req){
-        return notaryOrderService.bankCustomer(req);
+        return adminOrderService.bankCustomer(req);
     }
 
     @AnonymousPostMapping("/uploadNotarization")
     public AppBaseResponse uploadNotarization(@RequestBody FileVo file) {
-        return notaryOrderService.uploadNotarization(file);
+        return adminOrderService.uploadNotarization(file);
     }
 
     @AnonymousPostMapping("/getDocList")
     public AppBaseResponse getDocList(@RequestBody NotaryOrderQueryReq req){
-        return notaryOrderService.getDocList(req);
+        return adminOrderService.getDocList(req);
     }
 }
 

+ 68 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminBorrowerVO.java

@@ -0,0 +1,68 @@
+package me.zhengjie.application.admin.controller.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@ToString
+@Getter
+@Setter
+public class AdminBorrowerVO {
+
+	// 业务编号
+	private String businessNo;
+	// 借款合同编号
+	private String contractNo;
+	// 借款起始日:
+	private String startDate;
+	// 借款终止日
+	private String endDate;
+	// 借款金额
+	private String sumMoney;
+	// 利率
+	private String rate;
+	// 姓名
+	private String username;
+	// 性别
+	private String sex;
+	// 出生日期
+	private String birth;
+	// 身份证号码
+	private String idCard;
+	// 居住地
+	private String residence;
+	// 手机号
+	private String phone;
+	// 婚姻状态
+	private String marriage;
+	// 身份证正面
+	private String cardFront;
+	// 身份证反面
+	private String cardBack;
+	// 结婚证
+	private String marragePic;
+	// 合同上传
+	private String compactPic;
+	// 房产证
+	private String estatesPic;
+	// 户口本
+	private String hkbPic;
+	// 其他上传
+	private String otherUpload;
+	// 借款人的顺序
+	private String orderBy;
+	// 共同借款标记
+	private Integer jointFlag;
+	// 配偶身份证号
+	private String spouseIdCard;
+	// 配偶姓名
+	private String spouseName;
+	// 配有电话
+	private String spousePhone;
+	// 配偶身份证照片正面图片
+	private String spouseIdcardFrontPic;
+	// 配偶身份证照片反面图片
+	private String spouseIdcardBackPic;
+	// 已经公证的身份证号
+	private String notarizedIdcard;
+}

+ 67 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminGuaranteeVO.java

@@ -0,0 +1,67 @@
+package me.zhengjie.application.admin.controller.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.validation.constraints.NotNull;
+
+@ToString
+@Getter
+@Setter
+public class AdminGuaranteeVO {
+
+	// 业务编号
+	private String businessNo;
+	// 担保合同编号
+	private String contractNo;
+	// 担保起始日
+	private String startDate;
+	// 担保终止日
+	private String endDate;
+	// 身份证正面
+	private String cardFront;
+	// 身份证反面
+	private String cardBack;
+	// 姓名
+	private String username;
+	// 性别 1: 男,2:女
+	private String sex;
+	// 出生日期
+	private String birth;
+	// 身份证号码
+	private String idCard;
+	// 居住地
+	private String residence;
+	// 手机号
+	private String phone;
+	// 婚姻状态 1:未婚 2:已婚
+	private String marriage;
+	// 结婚证
+	private String marragePic;
+	// 合同上传
+	private String compactPic;
+	// 房产证
+	private String estatesPic;
+	// 户口本
+	private String hkbPic;
+	// 其他上传
+	private String otherUpload;
+	// 借款人的顺序
+	private String orderBy;
+	// 共同担保标记
+	private Integer jointFlag;
+	// 配偶身份证号
+	private String spouseIdCard;
+	// 配偶姓名
+	private String spouseName;
+	// 配有电话
+	private String spousePhone;
+	// 配偶身份证照片正面图片
+	private String spouseIdcardFrontPic;
+	// 配偶身份证照片反面图片
+	private String spouseIdcardBackPic;
+	// 已经公证的身份证号
+	private String notarizedIdcard;
+}

+ 68 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminMortgageVO.java

@@ -0,0 +1,68 @@
+package me.zhengjie.application.admin.controller.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@ToString
+@Getter
+@Setter
+public class AdminMortgageVO {
+
+	// 业务编号
+	private String businessNo;
+	// 抵押合同编号
+	private String contractNo;
+	// 抵押起始日
+	private String startDate;
+	// 抵押终止日
+	private String endDate;
+	// 身份证正面
+	private String cardFront;
+	// 身份证反面
+	private String cardBack;
+	// 姓名
+	private String username;
+	// 性别
+	private String sex;
+	// 出生日期
+	private String birth;
+	// 身份证号码
+	private String idCard;
+	// 居住地
+	private String residence;
+	// 手机号
+	private String phone;
+	// 婚姻状态
+	private String marriage;
+	// 结婚证
+	private String marragePic;
+	// 合同上传
+	private String compactPic;
+	// 房产证
+	private String estatesPic;
+	// 房屋产权编号
+	private String housePropertyNo;
+	// 房屋位置
+	private String houseLocation;
+	// 户口本
+	private String hkbPic;
+	// 其他上传
+	private String otherUpload;
+	// 借款人的顺序
+	private String orderBy;
+	// 共同抵押标记
+	private Integer jointFlag;
+	// 配偶身份证号
+	private String spouseIdCard;
+	// 配偶姓名
+	private String spouseName;
+	// 配有电话
+	private String spousePhone;
+	// 配偶身份证照片正面图片
+	private String spouseIdcardFrontPic;
+	// 配偶身份证照片反面图片
+	private String spouseIdcardBackPic;
+	// 已经公证的身份证号
+	private String notarizedIdcard;
+}

+ 63 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/AdminOrderVO.java

@@ -0,0 +1,63 @@
+package me.zhengjie.application.admin.controller.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.time.LocalDateTime;
+
+@ToString
+@Getter
+@Setter
+public class AdminOrderVO {
+	// 主键id
+	private Integer id;
+	// 业务编号
+	private String businessNo;
+	// 合同编号
+	private String contractNo;
+	// 合同起始日:
+	private String startDate;
+	// 合同终止日
+	private String endDate;
+	// 借款金额
+	private String loanMoney;
+	// 借款利率
+	private String rate;
+	// 主订单状态
+	private String status;
+	// 退回原因
+	private String returnReason;
+	// 驳回原因
+	private String rejectReason;
+	// 银行ID
+	private String bankId;
+	// 银行名称
+	private String bankName;
+	// 客户经理ID
+	private String customerId;
+	// 客户经理姓名
+	private String customerName;
+	// 公证处ID
+	private String notaryOfficeId;
+	// 公证员用户ID
+	private String notaryUserId;
+	// 公证书自动生成标记
+	private String autoGenerate;
+	// 申请时间
+	private LocalDateTime applyTime;
+	//创建人
+	private Integer creator;
+	// 创建时间
+	private LocalDateTime createTime;
+	// 修改人
+	private Integer updater;
+	// 创建时间
+	private LocalDateTime updateTime;
+	// 借款人
+	private AdminBorrowerVO borrowerVO;
+	// 抵押人
+	private AdminMortgageVO mortgageVO;
+	// 担保人
+	private AdminGuaranteeVO guaranteeVO;
+}

+ 0 - 4
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderInfoQueryRsp.java

@@ -36,8 +36,4 @@ public class NotaryOrderInfoQueryRsp {
      * 担保人
      */
     private List<GuaranteeEntity> guaranteeList;
-    
-    
-
-
 }

+ 1 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderQueryReq.java

@@ -82,4 +82,5 @@ public class NotaryOrderQueryReq extends BaseRequest {
 
     private String businessNo;
     private String orderType;
+    private String prodId;
 }

+ 2 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/NotaryOrderQueryRsp.java

@@ -106,4 +106,6 @@ public class NotaryOrderQueryRsp {
     private String rejectReason;
 
     private String autoGenerate;
+
+    private String prodId;
 }

+ 2 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/vo/PartyEntity.java

@@ -22,6 +22,8 @@ public class PartyEntity {
 
     private String username;
 
+    private String idCard;
+
     private Integer roleId;
 
     private String role;

+ 10 - 47
eladmin-system/src/main/java/me/zhengjie/application/admin/job/GenerateNotarizationJob.java

@@ -6,6 +6,7 @@ import com.xxl.job.core.context.XxlJobHelper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.RequiredArgsConstructor;
 import me.zhengjie.base.config.AppConfigInfo;
+import me.zhengjie.dao.mybatis.OrderRepository;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
 import me.zhengjie.dao.mybatis.mapper.*;
 import me.zhengjie.base.util.FileUploadUtil;
@@ -23,6 +24,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 生成公证书定时任务
@@ -30,14 +32,15 @@ import java.util.List;
 @RequiredArgsConstructor
 @Component
 public class GenerateNotarizationJob {
-    private final NotaryOrderMapper notaryOrderMapper;
+    private final OrderMapper orderMapper;
     private final OrderFileRepository orderFileRepository;
     private final OrderFileMapper orderFileMapper;
     private final BorrowerMapper borrowerMapper;
     private final MortgageMapper mortgageMapper;
     private final GuaranteeMapper guaranteeMapper;
     private final NotaryOfficeMapper notaryOfficeMapper;
-    private final ISysUserDao userDao;
+    private final SysUserMapper userDao;
+    private final OrderRepository orderRepository;
 
     /**
      * 生成签名公证书
@@ -45,37 +48,9 @@ public class GenerateNotarizationJob {
     @XxlJob("generateSignedNotarization")
     public void generateSignedNotarization(){
         XxlJobHelper.log("Generate signed notarization beginning ......");
-        QueryWrapper<NotaryOrderEntity> orderQw = new QueryWrapper<>();
-        orderQw.in("status", "2", "3");
-        orderQw.eq("auto_generate", "1");
-        List<NotaryOrderEntity> orderList = notaryOrderMapper.selectList(orderQw);
+        List<OrderEntity> orderList = orderRepository.canBeAutoSignedOrder();
         if (orderList != null && orderList.size() > 0) {
-            List<Long> collection = new ArrayList<>();
-            for (NotaryOrderEntity order : orderList) {
-                QueryWrapper<BorrowerEntity> borrowerQw = new QueryWrapper<>();
-                borrowerQw.eq("business_no", order.getBusinessNo());
-                borrowerQw.eq("status", "3");
-                List<BorrowerEntity> borrowerList = borrowerMapper.selectList(borrowerQw);
-                for (BorrowerEntity borrower : borrowerList) {
-                    collection.add(borrower.getId());
-                }
-                //
-                QueryWrapper<MortgageEntity> mortgageQw = new QueryWrapper<>();
-                mortgageQw.eq("business_no", order.getBusinessNo());
-                mortgageQw.eq("status", "3");
-                List<MortgageEntity> mortgageList = mortgageMapper.selectList(mortgageQw);
-                for (MortgageEntity mortgage : mortgageList) {
-                    collection.add(mortgage.getId());
-                }
-                //
-                QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
-                guaranteeQw.eq("business_no", order.getBusinessNo());
-                guaranteeQw.eq("status", "3");
-                List<GuaranteeEntity> guaranteeList = guaranteeMapper.selectList(guaranteeQw);
-                for (GuaranteeEntity guarantee : guaranteeList) {
-                    collection.add(guarantee.getId());
-                }
-            }
+            List<String> collection = orderList.stream().map(OrderEntity::getBusinessNo).collect(Collectors.toList());
             if(CollectionUtils.isNotEmpty(collection)) {
                 List<OrderFileEntity> orderFileList = orderFileRepository.canBeSignedNotarization(collection);
                 for (OrderFileEntity orderFile : orderFileList) {
@@ -102,21 +77,9 @@ public class GenerateNotarizationJob {
      * @param orderFile
      */
     private void signNotarization(OrderFileEntity orderFile) throws Exception{
-        SysUserEntity notaryUser;
-        NotaryOfficeEntity notaryOffice;
-        String notaryUserId;
-        if ("10".equals(orderFile.getContractId().substring(0, 2))) {
-            BorrowerEntity borrower = borrowerMapper.selectById(orderFile.getContractId());
-            notaryUserId = borrower.getNotaryUserId();
-        } else if ("11".equals(orderFile.getContractId().substring(0, 2))) {
-            MortgageEntity mortgage = mortgageMapper.selectById(orderFile.getContractId());
-            notaryUserId = mortgage.getNotaryUserId();
-        } else {
-            GuaranteeEntity guarantee = guaranteeMapper.selectById(orderFile.getContractId());
-            notaryUserId = guarantee.getNotaryUserId();
-        }
-        notaryUser = userDao.selectById(notaryUserId);
-        notaryOffice = notaryOfficeMapper.selectById(notaryUser.getOrgId().split("_")[1]);
+        BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(orderFile.getBusinessNo());
+        SysUserEntity notaryUser = userDao.selectById(borrower.getNotaryUserId());
+        NotaryOfficeEntity notaryOffice = notaryOfficeMapper.selectById(notaryUser.getOrgId().split("_")[1]);
         //
         UploadSignInfoVO notaryUserInfo = new UploadSignInfoVO();
         notaryUserInfo.setUserId(notaryUser.getAxqUserId());

+ 5 - 6
eladmin-system/src/main/java/me/zhengjie/application/admin/service/NotaryOrderService.java

@@ -1,16 +1,13 @@
 package me.zhengjie.application.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import me.zhengjie.application.admin.controller.vo.*;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.application.bank.controller.vo.FileVo;
-import me.zhengjie.application.admin.controller.vo.PartyEntity;
 import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
 import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
 import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryReq;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderInfoQueryRsp;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryRsp;
+import me.zhengjie.dao.mybatis.entity.OrderEntity;
 
 import java.util.HashMap;
 import java.util.List;
@@ -23,7 +20,9 @@ import java.util.List;
  * @author <a href="https://www.fengwenyi.com?code">Erwin Feng</a>
  * @since 2022-03-28
  */
-public interface NotaryOrderService extends IService<NotaryOrderEntity> {
+public interface AdminOrderService {
+
+    AdminOrderVO info(String businessNO);
 
     AppBaseResponse<List<NotaryOrderQueryRsp>> query(NotaryOrderQueryReq req);
 

+ 96 - 160
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/NotaryOrderServiceImpl.java

@@ -3,7 +3,8 @@ package me.zhengjie.application.admin.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import me.zhengjie.application.admin.controller.vo.*;
+import me.zhengjie.dao.mybatis.OrderRepository;
 import me.zhengjie.dao.mybatis.entity.*;
 import me.zhengjie.dao.mybatis.entity.ProvinceEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
@@ -16,18 +17,14 @@ import me.zhengjie.application.bank.service.impl.NotaryNoteServiceImpl;
 import me.zhengjie.application.bank.controller.vo.FileVo;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.util.*;
-import me.zhengjie.application.admin.controller.vo.PartyEntity;
 import me.zhengjie.dao.mybatis.ModelRepository;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.domain.order.OrderBizCodeMessage;
 import me.zhengjie.dao.mybatis.entity.User;
+import me.zhengjie.domain.order.OrderFileConstant;
 import me.zhengjie.domain.user.UserDomain;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryReq;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderInfoQueryRsp;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryRsp;
-import me.zhengjie.application.admin.service.NotaryOrderService;
+import me.zhengjie.application.admin.service.AdminOrderService;
 import me.zhengjie.application.admin.service.OrderCochainService;
-import me.zhengjie.utils.SecurityUtils;
 import org.apache.commons.io.IOUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -49,11 +46,10 @@ import java.util.*;
  * @since 2022-03-28
  */
 @Service
-public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrderEntity>
-		implements NotaryOrderService {
+public class AdminOrderServiceImpl implements AdminOrderService {
 
 	@Autowired
-	private NotaryOrderMapper notaryOrderMapper;
+	private OrderMapper orderMapper;
 	@Autowired
 	private BorrowerMapper borrowerMapper;
 	@Autowired
@@ -65,8 +61,6 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	@Autowired
 	private UserRepository userRepository;
 	@Autowired
-	private NotaryOrderMapper orderMapper;
-	@Autowired
 	private NotaryOfficeMapper notaryOfficeMapper;
 	@Autowired
 	private NotarizationNoMapper notarizationNoMapper;
@@ -75,7 +69,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	@Autowired
 	private ModelMapper modelMapper;
 	@Autowired
-	ISysUserDao userDao;
+    SysUserMapper userDao;
 	@Autowired
 	UserDomain userDomain;
 	@Autowired
@@ -90,23 +84,24 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	ICityDao cityDao;
 	@Autowired
 	OrderCochainService orderCochainService;
-
 	@Autowired
 	FileInfoService fileInfoService;
 	@Autowired
 	ApplicationContextUtil contextUtil;
+	@Autowired
+	OrderRepository orderRepository;
 
 	@Override
 	public AppBaseResponse<List<NotaryOrderQueryRsp>> query(NotaryOrderQueryReq req) {
 		AppBaseResponse<List<NotaryOrderQueryRsp>> response = new AppBaseResponse<>();
-		IPage<NotaryOrderEntity> page = new Page<>(req.getIndex(), req.getSize());
-		QueryWrapper<NotaryOrderEntity> qw = getQueryWrapper(req);
+		IPage<OrderEntity> page = new Page<>(req.getIndex(), req.getSize());
+		QueryWrapper<OrderEntity> qw = getQueryWrapper(req);
 		if (qw == null) {
 			response.fail(ResultCode.PERMISSION_UNAUTHENTICATED);
 			return response;
 		}
-		page = notaryOrderMapper.selectPage(page, qw);
-		List<NotaryOrderEntity> list = page.getRecords();
+		page = orderMapper.selectPage(page, qw);
+		List<OrderEntity> list = page.getRecords();
 		List<NotaryOrderQueryRsp> res = BeanCopyUtils.convertList2List(list, NotaryOrderQueryRsp.class);
 		response.setData(new AppResultData<List<NotaryOrderQueryRsp>>(res,
 				new me.zhengjie.base.Page(req.getIndex(), req.getSize(), (int) page.getTotal())));
@@ -119,8 +114,8 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	 * @param req
 	 * @return
 	 */
-	private QueryWrapper<NotaryOrderEntity> getQueryWrapper(NotaryOrderQueryReq req) {
-		QueryWrapper<NotaryOrderEntity> qw = new QueryWrapper<>();
+	private QueryWrapper<OrderEntity> getQueryWrapper(NotaryOrderQueryReq req) {
+		QueryWrapper<OrderEntity> qw = new QueryWrapper<>();
 		SysUserEntity user = userDao.selectById(contextUtil.getCurrentUserId());
 		String maxRole = userDomain.getUserMaxRole();
 		if ("超级管理员".equals(maxRole)) {
@@ -198,19 +193,34 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 				new QueryWrapper<GuaranteeEntity>().eq("business_no", map.get("businessNo")).orderByAsc("order_by"));
 		List<PartyEntity> partyList = new LinkedList<>();
 		borrowerList.forEach((item) -> {
-			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).status(item.getStatus())
+			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).idCard(item.getIdCard()).status(item.getStatus())
 					.roleId(StatusEnum.StepStatusEnum.BORROWER.getStatus())
 					.role(StatusEnum.StepStatusEnum.BORROWER.getProcess()).build());
+			if (item.getJointFlag() == 1) {
+				partyList.add(PartyEntity.builder().id(item.getId()).username(item.getSpouseName()).idCard(item.getSpouseIdCard()).status(item.getStatus())
+						.roleId(StatusEnum.StepStatusEnum.BORROWER.getStatus())
+						.role(StatusEnum.StepStatusEnum.BORROWER.getProcess()).build());
+			}
 		});
 		mortgageList.forEach((item) -> {
-			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).status(item.getStatus())
+			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).idCard(item.getIdCard()).status(item.getStatus())
 					.roleId(StatusEnum.StepStatusEnum.MORTGAGOR.getStatus())
 					.role(StatusEnum.StepStatusEnum.MORTGAGOR.getProcess()).build());
+			if (item.getJointFlag() == 1) {
+				partyList.add(PartyEntity.builder().id(item.getId()).username(item.getSpouseName()).idCard(item.getSpouseIdCard()).status(item.getStatus())
+						.roleId(StatusEnum.StepStatusEnum.MORTGAGOR.getStatus())
+						.role(StatusEnum.StepStatusEnum.MORTGAGOR.getProcess()).build());
+			}
 		});
 		guaranteeList.forEach((item) -> {
-			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).status(item.getStatus())
+			partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).idCard(item.getIdCard()).status(item.getStatus())
 					.roleId(StatusEnum.StepStatusEnum.GUARANTEE.getStatus())
 					.role(StatusEnum.StepStatusEnum.GUARANTEE.getProcess()).build());
+			if (item.getJointFlag() == 1) {
+				partyList.add(PartyEntity.builder().id(item.getId()).username(item.getUsername()).idCard(item.getSpouseIdCard()).status(item.getStatus())
+						.roleId(StatusEnum.StepStatusEnum.GUARANTEE.getStatus())
+						.role(StatusEnum.StepStatusEnum.GUARANTEE.getProcess()).build());
+			}
 		});
 		response.setData(new AppResultData<List<PartyEntity>>(partyList));
 		return response;
@@ -219,8 +229,8 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	@Override
 	public AppBaseResponse<NotaryOrderQueryRsp> getCustomerInfo(HashMap<String, String> map) {
 		AppBaseResponse<NotaryOrderQueryRsp> response = new AppBaseResponse<>();
-		NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectById(map.get("orderId"));
-		User user = userRepository.findById(Long.parseLong(notaryOrderEntity.getCustomerId())).orElseGet(User::new);
+		OrderEntity orderEntity = orderMapper.selectById(map.get("orderId"));
+		User user = userRepository.findById(Long.parseLong(orderEntity.getCustomerId())).orElseGet(User::new);
 		NotaryOrderQueryRsp notaryOrderQueryRsp = NotaryOrderQueryRsp.builder().customerName(user.getUsername())
 				.customerIdCard(user.getIdCard()).build();
 		response.setData(new AppResultData<NotaryOrderQueryRsp>(notaryOrderQueryRsp));
@@ -255,8 +265,8 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	@Override
 	public AppBaseResponse orderReturn(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
-		NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectById(req.getId());
-		orderService.updateStatus(notaryOrderEntity.getBusinessNo(),
+		OrderEntity orderEntity = orderMapper.selectById(req.getId());
+		orderService.updateStatus(orderEntity.getBusinessNo(),
 				StatusEnum.NotaryStatusEnum.SUBMIT.getStatus().toString(), req.getReturnReason());
 		response.success("退回成功");
 		return response;
@@ -264,8 +274,8 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 
 	public AppBaseResponse orderReject(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
-		NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectById(req.getId());
-		orderService.updateStatus(notaryOrderEntity.getBusinessNo(),
+		OrderEntity orderEntity = orderMapper.selectById(req.getId());
+		orderService.updateStatus(orderEntity.getBusinessNo(),
 				StatusEnum.NotaryStatusEnum.REJECT.getStatus().toString(), req.getRejectReason());
 		response.success("驳回成功");
 		return response;
@@ -275,52 +285,11 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	public AppBaseResponse checkInfoPass(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
 		String currentUserId = String.valueOf(contextUtil.getCurrentUserId());
-		String status = StatusEnum.NotaryStatusEnum.NOTARIZED.getStatus().toString();
-		Long partyId = Long.parseLong(req.getPartyId());
-		if ("1".equals(req.getRoleId())) {
-			borrowerMapper.updateById(BorrowerEntity.builder().updateTime(LocalDateTime.now()).updater(currentUserId)
-					.id(partyId).status(status).build());
-		} else if ("2".equals(req.getRoleId())) {
-			mortgageMapper.updateById(MortgageEntity.builder().updateTime(LocalDateTime.now()).updater(currentUserId)
-					.id(partyId).status(status).build());
-		} else if ("3".equals(req.getRoleId())) {
-			guaranteeMapper.updateById(GuaranteeEntity.builder().updateTime(LocalDateTime.now()).updater(currentUserId)
-					.id(partyId).status(status).build());
-		}
-		Boolean orderPass = true;
-		NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectById(req.getId());
-		List<BorrowerEntity> borrowerEntityList = borrowerMapper
-				.selectList(new QueryWrapper<BorrowerEntity>().eq("business_no", notaryOrderEntity.getBusinessNo()));
-		for (BorrowerEntity borrowerEntity : borrowerEntityList) {
-			if (Integer.parseInt(borrowerEntity.getStatus()) != StatusEnum.NotaryStatusEnum.NOTARIZED.getStatus()) {
-				orderPass = false;
-			}
-		}
-		if (orderPass) {
-			List<MortgageEntity> mortgageEntityList = mortgageMapper.selectList(
-					new QueryWrapper<MortgageEntity>().eq("business_no", notaryOrderEntity.getBusinessNo()));
-			for (MortgageEntity mortgageEntity : mortgageEntityList) {
-				if (Integer.parseInt(mortgageEntity.getStatus()) != StatusEnum.NotaryStatusEnum.NOTARIZED.getStatus()) {
-					orderPass = false;
-				}
-			}
-		}
-		if (orderPass) {
-			List<GuaranteeEntity> guaranteeEntityList = guaranteeMapper.selectList(
-					new QueryWrapper<GuaranteeEntity>().eq("business_no", notaryOrderEntity.getBusinessNo()));
-			for (GuaranteeEntity guaranteeEntity : guaranteeEntityList) {
-				if (Integer.parseInt(guaranteeEntity.getStatus()) != StatusEnum.NotaryStatusEnum.NOTARIZED
-						.getStatus()) {
-					orderPass = false;
-				}
-			}
-		}
-		if (orderPass) {
-			notaryOrderEntity.setStatus(StatusEnum.NotaryStatusEnum.NOTARIZED.getStatus().toString());
-			notaryOrderEntity.setUpdater(currentUserId);
-			notaryOrderEntity.setUpdateTime(LocalDateTime.now());
-			notaryOrderMapper.updateById(notaryOrderEntity);
-		}
+		OrderEntity orderEntity = orderMapper.selectById(req.getId());
+		orderEntity.setStatus(StatusEnum.NotaryStatusEnum.NOTARIZED.getStatus().toString());
+		orderEntity.setUpdater(currentUserId);
+		orderEntity.setUpdateTime(LocalDateTime.now());
+		orderMapper.updateById(orderEntity);
 		response.success("签发成功");
 		return response;
 	}
@@ -329,15 +298,15 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	@Transactional(rollbackFor = Exception.class)
 	public AppBaseResponse partyPass(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
-		NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectById(req.getId());
-		if ("0".equals(notaryOrderEntity.getAutoGenerate())) {
+		OrderEntity orderEntity = orderMapper.selectById(req.getId());
+		if ("0".equals(orderEntity.getAutoGenerate())) {
 			response.fail(OrderBizCodeMessage.NOTARIZATION_GENERATE_TYPE_ERROR);
 			return response;
 		}
 		// 检查面谈笔录是否提交
-		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListByCodes(req.getPartyId(),
-				"6,7,8,9".split(","));
-		if (orderFileList == null || orderFileList.size() == 0) {
+		OrderFileEntity orderFile = orderFileRepository.getOrderFileWithCode(orderEntity.getProdId(),orderEntity.getBusinessNo(),
+				OrderFileConstant.TYPE_CODE_NOTE);
+		if (orderFile == null) {
 			response.fail(ResultCode.INTERVIEW_NOTE_UNSUBMIT);
 			return response;
 		}
@@ -350,14 +319,14 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		} else {
 			code = "11";
 		}
-		if (modelRepository.existModelInEditing(notaryOrderEntity.getNotaryOfficeId(), code)) {
+		if (modelRepository.existModelInEditing(orderEntity.getProdId(),orderEntity.getNotaryOfficeId(), code)) {
 			response.fail(OrderBizCodeMessage.MODEL_IN_EDITING);
 			return response;
 		}
 		// 检查是否具备可用的公证书编号
 		SimpleDateFormat yearFormatter = new SimpleDateFormat("yyyy");
 		QueryWrapper<NotarizationNoEntity> notarizationNoQw = new QueryWrapper<>();
-		notarizationNoQw.eq("notary_office_id", notaryOrderEntity.getNotaryOfficeId());
+		notarizationNoQw.eq("notary_office_id", orderEntity.getNotaryOfficeId());
 		notarizationNoQw.eq("no_status", 1);
 		notarizationNoQw.eq("used_year", yearFormatter.format(new Date()));
 		notarizationNoQw.apply("current_num < end_num");
@@ -370,7 +339,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		// Load公证书模板需要的信息
 		// 订单相关信息
 		Map<String, String> map = new HashMap<String, String>();
-		map.put("$LoanAmount$", notaryOrderEntity.getLoanMoney());
+		map.put("$LoanAmount$", orderEntity.getLoanMoney());
 		if ("10".equals(req.getPartyId().substring(0, 2))) {
 			map.put("$Type$", "借款合同");
 		} else if ("11".equals(req.getPartyId().substring(0, 2))) {
@@ -384,7 +353,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 				: notarizationNoEntity.getCurrentNum() + 1;
 		map.put("$NotarialNumber$", String.valueOf(currentNum));
 		// 公证处信息
-		NotaryOfficeEntity notaryOffice = notaryOfficeMapper.selectById(notaryOrderEntity.getNotaryOfficeId());
+		NotaryOfficeEntity notaryOffice = notaryOfficeMapper.selectById(orderEntity.getNotaryOfficeId());
 		String[] areas = notaryOffice.getAreaCodesStr().split(",");
 		QueryWrapper<ProvinceEntity> provinceQW = new QueryWrapper<>();
 		provinceQW.eq("code", areas[0]);
@@ -403,7 +372,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		// 借款人信息
 		try {
 			QueryWrapper<BorrowerEntity> borrowQw = new QueryWrapper<>();
-			borrowQw.eq("business_no", notaryOrderEntity.getBusinessNo());
+			borrowQw.eq("business_no", orderEntity.getBusinessNo());
 			BorrowerEntity borrowerEntity = borrowerMapper.selectOne(borrowQw);
 			SimpleDateFormat monthformatter = new SimpleDateFormat("yyyy-MM");
 			Date beginDate = monthformatter.parse(borrowerEntity.getStartDate());
@@ -422,7 +391,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		}
 		// 抵押人信息
 		QueryWrapper<MortgageEntity> mortgageQw = new QueryWrapper<>();
-		mortgageQw.eq("business_no", notaryOrderEntity.getBusinessNo());
+		mortgageQw.eq("business_no", orderEntity.getBusinessNo());
 		MortgageEntity mortgageEntity = mortgageMapper.selectOne(mortgageQw);
 		if(mortgageEntity!=null) {
 			map.put("$MortgageName$", mortgageEntity.getUsername());
@@ -433,7 +402,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		}
 		// 担保人信息
 		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
-		guaranteeQw.eq("business_no", notaryOrderEntity.getBusinessNo());
+		guaranteeQw.eq("business_no", orderEntity.getBusinessNo());
 		GuaranteeEntity guaranteeEntity = guaranteeMapper.selectOne(guaranteeQw);
 		if(guaranteeEntity!=null) {
 			map.put("$GuaranteeName$", guaranteeEntity.getUsername());
@@ -443,7 +412,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		}
 
 		// 银行信息
-		BankEntity bankEntity = bankMapper.selectById(notaryOrderEntity.getBankId());
+		BankEntity bankEntity = bankMapper.selectById(orderEntity.getBankId());
 		map.put("$Bank$", bankEntity.getBankName());
 		map.put("$BankAddr$", bankEntity.getAddress());
 		map.put("$BankLeader$", bankEntity.getPrincipal());
@@ -451,7 +420,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		SimpleDateFormat dayFormatter = new SimpleDateFormat("yyyy-MM-dd");
 		map.put("$Date$", dayFormatter.format(new Date()));
 		// 生成并保存未签名公证书
-		ModelEntity modelEntity = modelRepository.getModelEntity(notaryOrderEntity.getNotaryOfficeId(), code, "1");
+		ModelEntity modelEntity = modelRepository.getModelEntity(orderEntity.getProdId(),orderEntity.getNotaryOfficeId(), code, "1");
 		String result = "";
 		String htmlPath = "";
 		String pdfPath = "";
@@ -461,14 +430,14 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 			result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
 			String content = result.replace("${ModelContent}",
 					TextTempletUtil.replaceContent(modelEntity.getContent(), map));
-			htmlPath = FileUploadUtil.saveHtml(content, notaryOrderEntity.getBusinessNo(), req.getPartyId());
-			pdfPath = FileUploadUtil.savePdf(content, notaryOrderEntity.getBusinessNo(), req.getPartyId());
+			htmlPath = FileUploadUtil.saveHtml(content, orderEntity.getBusinessNo());
+			pdfPath = FileUploadUtil.savePdf(content, orderEntity.getBusinessNo());
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
 		//
 		OrderFileEntity notaryOrderFile = new OrderFileEntity();
-		notaryOrderFile.setBusinessNo(notaryOrderEntity.getBusinessNo());
+		notaryOrderFile.setBusinessNo(orderEntity.getBusinessNo());
 		notaryOrderFile.setContractId(req.getPartyId());
 		notaryOrderFile.setCode(code);
 		notaryOrderFile.setDocNo(String.valueOf(currentNum));
@@ -484,7 +453,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 		notarizationNo.setCurrentNum(currentNum);
 		notarizationNoMapper.updateById(notarizationNo);
 		// 更新订单状态
-		updateStatusPass(req.getPartyId(), notaryOrderEntity.getBusinessNo());
+		updateStatusPass(req.getPartyId(), orderEntity.getBusinessNo());
 
 		response.success("签发成功");
 		return response;
@@ -497,65 +466,22 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	 * @param businessNo
 	 */
 	private void updateStatusPass(String orderId, String businessNo) {
-		// 更新子订单数据
-		if (orderId.startsWith("10")) {
-			borrowerMapper.updateById(BorrowerEntity.builder().updateTime(LocalDateTime.now())
-					.updater(contextUtil.getCurrentUserId().toString()).id(Long.parseLong(orderId))
-					.status(StatusEnum.NotaryStatusEnum.PASS.getStatus().toString()).build());
-		} else if (orderId.startsWith("11")) {
-			mortgageMapper.updateById(MortgageEntity.builder().updateTime(LocalDateTime.now())
-					.updater(contextUtil.getCurrentUserId().toString()).id(Long.parseLong(orderId))
-					.status(StatusEnum.NotaryStatusEnum.PASS.getStatus().toString()).build());
-		} else if (orderId.startsWith("12")) {
-			guaranteeMapper.updateById(GuaranteeEntity.builder().updateTime(LocalDateTime.now())
-					.updater(contextUtil.getCurrentUserId().toString()).id(Long.parseLong(orderId))
-					.status(StatusEnum.NotaryStatusEnum.PASS.getStatus().toString()).build());
-		}
-		// 更新主订单数据
-		Boolean orderPass = true;
-		List<BorrowerEntity> borrowerEntityList = borrowerMapper
-				.selectList(new QueryWrapper<BorrowerEntity>().eq("business_no", businessNo));
-		for (BorrowerEntity borrowerEntity : borrowerEntityList) {
-			if (Integer.parseInt(borrowerEntity.getStatus()) != StatusEnum.NotaryStatusEnum.PASS.getStatus()) {
-				orderPass = false;
-			}
-		}
-//		if (orderPass) {
-//			List<MortgageEntity> mortgageEntityList = mortgageMapper
-//					.selectList(new QueryWrapper<MortgageEntity>().eq("business_no", businessNo));
-//			for (MortgageEntity mortgageEntity : mortgageEntityList) {
-//				if (Integer.parseInt(mortgageEntity.getStatus()) != StatusEnum.NotaryStatusEnum.PASS.getStatus()) {
-//					orderPass = false;
-//				}
-//			}
-//		}
-		if (orderPass) {
-			List<GuaranteeEntity> guaranteeEntityList = guaranteeMapper
-					.selectList(new QueryWrapper<GuaranteeEntity>().eq("business_no", businessNo));
-			for (GuaranteeEntity guaranteeEntity : guaranteeEntityList) {
-				if (Integer.parseInt(guaranteeEntity.getStatus()) != StatusEnum.NotaryStatusEnum.PASS.getStatus()) {
-					orderPass = false;
-				}
-			}
-		}
-		if (orderPass) {
-			QueryWrapper<NotaryOrderEntity> orderQw = new QueryWrapper<>();
-			orderQw.eq("business_no", businessNo);
-			NotaryOrderEntity notaryOrderEntity = notaryOrderMapper.selectOne(orderQw);
-			NotaryOrderEntity saveOrder = new NotaryOrderEntity();
-			saveOrder.setId(notaryOrderEntity.getId());
-			saveOrder.setUpdateTime(LocalDateTime.now());
-			saveOrder.setUpdater(contextUtil.getCurrentUserId().toString());
-			saveOrder.setStatus(StatusEnum.NotaryStatusEnum.PASS.getStatus().toString());
-			notaryOrderMapper.updateById(saveOrder);
-			// 流程走完之后需要把数据插入到order_cochain
-			OrderCochainEntity orderCochain = new OrderCochainEntity();
-			orderCochain.setStatus("0");
-			orderCochain.setBusinessNo(businessNo);
-			orderCochain.setCreateTime(LocalDateTime.now());
-			orderCochain.setUpdateTime(LocalDateTime.now());
-			orderCochainService.save(orderCochain);
-		}
+		QueryWrapper<OrderEntity> orderQw = new QueryWrapper<>();
+		orderQw.eq("business_no", businessNo);
+		OrderEntity orderEntity = orderMapper.selectOne(orderQw);
+		OrderEntity saveOrder = new OrderEntity();
+		saveOrder.setId(orderEntity.getId());
+		saveOrder.setUpdateTime(LocalDateTime.now());
+		saveOrder.setUpdater(contextUtil.getCurrentUserId().toString());
+		saveOrder.setStatus(StatusEnum.NotaryStatusEnum.PASS.getStatus().toString());
+		orderMapper.updateById(saveOrder);
+		// 流程走完之后需要把数据插入到order_cochain
+		OrderCochainEntity orderCochain = new OrderCochainEntity();
+		orderCochain.setStatus("0");
+		orderCochain.setBusinessNo(businessNo);
+		orderCochain.setCreateTime(LocalDateTime.now());
+		orderCochain.setUpdateTime(LocalDateTime.now());
+		orderCochainService.save(orderCochain);
 	}
 
 	@Override
@@ -571,9 +497,9 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 				map.put("$Type$", "抵押合同");
 			}
 			// 获取订单信息
-			QueryWrapper<NotaryOrderEntity> qw = new QueryWrapper<>();
+			QueryWrapper<OrderEntity> qw = new QueryWrapper<>();
 			qw.eq("business_no", req.getBusinessNo());
-			NotaryOrderEntity orderEntity = orderMapper.selectOne(qw);
+			OrderEntity orderEntity = orderMapper.selectOne(qw);
 			// 获取公证处信息
 			NotaryOfficeEntity notaryOffice = notaryOfficeMapper.selectById(orderEntity.getNotaryOfficeId());
 			map.put("$NotaryOffice$", notaryOffice.getName());
@@ -659,7 +585,7 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	public AppBaseResponse<NotaryOrderQueryRsp> bankCustomer(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
 		try {
-			NotaryOrderEntity orderEntity = orderMapper.selectById(req.getId());
+			OrderEntity orderEntity = orderMapper.selectById(req.getId());
 			SysUserEntity user = userDao.selectById(contextUtil.getCurrentUserId());
 			if ("notary".equals(user.getOrgId().split("_")[0])
 					&& orderEntity.getNotaryOfficeId().equals(user.getOrgId().split("_")[1])) {
@@ -732,13 +658,10 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 				put("4", "债权书");
 				put("5", "承诺书");
 				put("6", "面谈笔录");
-				put("7", "面谈笔录");
-				put("8", "面谈笔录");
-				put("9", "面谈笔录");
 			}
 		};
-		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListByCodes(req.getPartyId(),
-				"1,2,3,4,5,6,7,8,9".split(","));
+		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListWithCodes(req.getProdId(), req.getBusinessNo(),
+				"1,2,3,4,5,6".split(","));
 		List<Map<String, String>> fileList = new ArrayList<>();
 		for (OrderFileEntity orderFile : orderFileList) {
 			Map<String, String> content = new HashMap<>();
@@ -755,4 +678,17 @@ public class NotaryOrderServiceImpl extends ServiceImpl<NotaryOrderMapper, Notar
 	public String getPreviewUrl(String path) {
 		return FileUploadUtil.getPreviewUrl(path);
 	}
+
+	@Override
+	public AdminOrderVO info(String businessNO) {
+		OrderEntity order = orderRepository.getOrderByBizNo(businessNO);
+		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(businessNO);
+		MortgageEntity mortgage = orderRepository.getMortgageByBizNo(businessNO);
+		GuaranteeEntity guarantee = orderRepository.getGuaranteeByBizNo(businessNO);
+		AdminOrderVO orderVO = BeanCopyUtils.convertObj(order, AdminOrderVO.class);
+		orderVO.setBorrowerVO(BeanCopyUtils.convertObj(borrower, AdminBorrowerVO.class));
+		orderVO.setMortgageVO(BeanCopyUtils.convertObj(borrower, AdminMortgageVO.class));
+		orderVO.setGuaranteeVO(BeanCopyUtils.convertObj(borrower, AdminGuaranteeVO.class));
+		return orderVO;
+	}
 }

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

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import me.zhengjie.base.config.AppConfigInfo;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.dao.mybatis.entity.BankEntity;
 import me.zhengjie.dao.mybatis.entity.OfficeXbankEntity;
 import me.zhengjie.application.admin.controller.vo.BankCreateReq;
@@ -47,7 +47,7 @@ public class BankServiceImpl extends AbstractServiceImpl<BankMapper, BankEntity>
 	@Autowired
 	private BankMapper bankMapper;
 	@Autowired
-	private ISysUserDao userMapper;
+	private SysUserMapper userMapper;
 	@Autowired
 	private OfficeXbankMapper officeXbankMapper;
 	@Autowired

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

@@ -5,6 +5,7 @@ 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;
 
@@ -32,8 +33,6 @@ 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;
-import me.zhengjie.dao.mybatis.mapper.ICochainLogDao;
-import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
 
 /**
  * TODO 这个需要去掉抵押人,可以有联合借款,联合抵押,现在都是按照单个处理,
@@ -52,11 +51,11 @@ public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLo
 	@Autowired
 	OrderCochainService orderCochainService;
 	@Autowired
-	BorrowerService borrowerService;
+	BorrowerMapper borrowerMapper;
 	@Autowired
-	MortgageService mortgageService;
+	MortgageMapper mortgageMapper;
 	@Autowired
-	GuaranteeService guaranteeService;
+	GuaranteeMapper guaranteeMapper;
 
 	@Autowired
 	OrderService orderService;
@@ -114,9 +113,9 @@ public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLo
 		// 查询所有上传的图片
 		Map<String, FileInfoEntity> map = orderService.getUploadFile(businessNo);
 		// 借款人查询数据
-		BorrowerEntity borrower = new BorrowerEntity();
-		borrower.setBusinessNo(businessNo);
-		List<BorrowerEntity> borrowers = borrowerService.list(borrower);
+		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>();
 			// 身份证正面
@@ -160,9 +159,9 @@ public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLo
 			cochainLogService.saveBatch(logs);
 		}
 		// 抵押人查询数据
-		MortgageEntity mortgage = new MortgageEntity();
-		mortgage.setBusinessNo(businessNo);
-		List<MortgageEntity> mortgages = mortgageService.list(mortgage);
+		QueryWrapper<MortgageEntity> mortgageQW = new QueryWrapper<>();
+		mortgageQW.eq("business_no",businessNo);
+		List<MortgageEntity> mortgages = mortgageMapper.selectList(mortgageQW);
 		for (MortgageEntity obj : mortgages) {
 			List<CochainLogEntity> logs = new ArrayList<CochainLogEntity>();
 			// 身份证正面
@@ -206,9 +205,9 @@ public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLo
 			cochainLogService.saveBatch(logs);
 		}
 		// 担保人查询数据
-		GuaranteeEntity guarantee = new GuaranteeEntity();
-		guarantee.setBusinessNo(businessNo);
-		List<GuaranteeEntity> guarantees = guaranteeService.list(guarantee);
+		QueryWrapper<GuaranteeEntity> guaranteeQW = new QueryWrapper<>();
+		guaranteeQW.eq("business_no",businessNo);
+		List<GuaranteeEntity> guarantees = guaranteeMapper.selectList(guaranteeQW);
 		for (GuaranteeEntity obj : guarantees) {
 			List<CochainLogEntity> logs = new ArrayList<CochainLogEntity>();
 			// 身份证正面

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

@@ -177,6 +177,7 @@ public class ModelNotarizationServiceImpl implements ModelNotarizationService {
         QueryWrapper<ModelEntity> qw = new QueryWrapper<>();
         qw.eq("code", req.getCode());
         qw.eq("notary_office_id", req.getNotaryOfficeId());
+        qw.eq("product_type", req.getProductType());
         qw.in("status", 0, 1);
         ModelEntity model = modelMapper.selectOne(qw);
         return model;
@@ -191,6 +192,7 @@ public class ModelNotarizationServiceImpl implements ModelNotarizationService {
         QueryWrapper<ModelEntity> qw = new QueryWrapper<>();
         qw.ne("code", req.getCode());
         qw.eq("notary_office_id", req.getNotaryOfficeId());
+        qw.eq("product_type", req.getProductType());
         qw.eq("sort", req.getSort());
         qw.in("status", 0, 1);
         List<ModelEntity> modelList = modelMapper.selectList(qw);
@@ -214,7 +216,7 @@ public class ModelNotarizationServiceImpl implements ModelNotarizationService {
         ModelEntity model = ModelEntity.builder()
                 .id(req.getId()).code(req.getCode()).sort(req.getSort())
                 .content(req.getContent()).notaryOfficeId(req.getNotaryOfficeId()).status(req.getStatus())
-                .title(req.getTitle()).build();
+                .title(req.getTitle()).productType(req.getProductType()).build();
         modelMapper.updateById(model);
         if ("6,7,8,9".indexOf(req.getCode()) > -1) {
             QueryWrapper<NotaryNoteEntity> qw = new QueryWrapper<>();

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

@@ -14,7 +14,7 @@ import me.zhengjie.base.util.ApplicationContextUtil;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.AppResultData;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.application.bank.service.FileInfoService;
 import me.zhengjie.base.util.BeanCopyUtils;
 import me.zhengjie.base.util.FileUploadUtil;
@@ -32,7 +32,6 @@ import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
 import me.zhengjie.dao.mybatis.mapper.OfficeXbankMapper;
 import me.zhengjie.application.admin.service.NotaryOfficeService;
 import me.zhengjie.base.util.CFCACertUtil;
-import me.zhengjie.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -63,7 +62,7 @@ public class NotaryOfficeServiceImpl extends ServiceImpl<NotaryOfficeMapper, Not
 	@Autowired
 	private NotaryOfficeMapper notaryOfficeMapper;
 	@Autowired
-	private ISysUserDao userMapper;
+	private SysUserMapper userMapper;
 	@Autowired
 	private OfficeXbankMapper officeXbankMapper;
 	@Autowired

+ 6 - 7
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/OfficeXbankServiceImpl.java

@@ -9,15 +9,14 @@ import me.zhengjie.base.util.ApplicationContextUtil;
 import me.zhengjie.base.util.BeanCopyUtils;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.dao.mybatis.entity.BankEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
+import me.zhengjie.dao.mybatis.entity.OrderEntity;
 import me.zhengjie.dao.mybatis.entity.OfficeXbankEntity;
 import me.zhengjie.application.admin.controller.vo.OfficeXbankReq;
 import me.zhengjie.application.admin.controller.vo.BankQueryRsp;
 import me.zhengjie.dao.mybatis.mapper.BankMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOrderMapper;
+import me.zhengjie.dao.mybatis.mapper.OrderMapper;
 import me.zhengjie.dao.mybatis.mapper.OfficeXbankMapper;
 import me.zhengjie.application.admin.service.OfficeXbankService;
-import me.zhengjie.utils.SecurityUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,7 +34,7 @@ public class OfficeXbankServiceImpl implements OfficeXbankService {
     @Autowired
     private OfficeXbankMapper officeXbankMapper;
     @Autowired
-    private NotaryOrderMapper notaryOrderMapper;
+    private OrderMapper orderMapper;
     @Autowired
     private ApplicationContextUtil contextUtil;
 
@@ -82,14 +81,14 @@ public class OfficeXbankServiceImpl implements OfficeXbankService {
             }
             Collection delCollection = CollectionUtils.subtract(currentMappedBankList, willMappedBankList);
             if (delCollection.size() > 0) {
-                QueryWrapper<NotaryOrderEntity> orderQw = new QueryWrapper<>();
+                QueryWrapper<OrderEntity> orderQw = new QueryWrapper<>();
                 orderQw.eq("notary_office_id", req.getNotaryOfficeId());
                 orderQw.in("bank_id", delCollection);
                 orderQw.in("status", "1", "2");
-                List<NotaryOrderEntity> orderList = notaryOrderMapper.selectList(orderQw);
+                List<OrderEntity> orderList = orderMapper.selectList(orderQw);
                 if (orderList.size() > 0) {
                     Set<String> bankNames = new HashSet<>();
-                    for (NotaryOrderEntity orderEntity : orderList) {
+                    for (OrderEntity orderEntity : orderList) {
                         bankNames.add(orderEntity.getBankName());
                     }
                     response.fail(String.valueOf(ResultCode.UNFINISHED_ORDER_FAIL.code()), bankNames.toString().concat("尚有未完成订单,不能解绑!"));

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

@@ -75,7 +75,7 @@ public class UserServiceImpl implements UserService {
     @Autowired
     private BankMapper bankMapper;
     @Autowired
-    private ISysUserDao userDao;
+    private SysUserMapper userDao;
     @Autowired
     private ISysRoleDao roleDao;
     @Autowired
@@ -571,12 +571,12 @@ public class UserServiceImpl implements UserService {
                     // 清除缓存
                     delCaches(userEntity.getUserId(), userEntity.getUsername());
                 }
-                response.setData(new AppResultData<String>(authStatus));
             } catch (Exception e) {
                 e.printStackTrace();
                 response.fail(ResultCode.AXQ_AUTH_MESSAGE_FAIL);
             }
         }
+        response.setData(new AppResultData<String>(authStatus));
         return response;
     }
 }

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/base/BaseController.java

@@ -1,4 +1,4 @@
-package me.zhengjie.base;
+package me.zhengjie.application.bank;
 
 import javax.servlet.http.HttpServletRequest;
 

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

@@ -1,26 +1,23 @@
 package me.zhengjie.application.bank.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
-import me.zhengjie.application.bank.controller.vo.*;
-import me.zhengjie.application.bank.service.*;
-import me.zhengjie.base.config.TencentHumanFaceVerify;
-import me.zhengjie.dao.mybatis.entity.OrderEntity;
-import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.util.tencent.h5face.SdkTest;
-import me.zhengjie.base.util.DateUtils;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
+import me.zhengjie.application.bank.BaseController;
+import me.zhengjie.application.bank.controller.vo.BankLoginVo;
+import me.zhengjie.application.bank.controller.vo.FileInfoDto;
+import me.zhengjie.application.bank.controller.vo.FileUploadVo;
+import me.zhengjie.application.bank.controller.vo.ImageUploadVo;
+import me.zhengjie.application.bank.service.ApiBankService;
+import me.zhengjie.application.bank.service.FileInfoService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
-import me.zhengjie.base.BaseController;
-import me.zhengjie.dao.mybatis.OrderFileRepository;
-import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
-import me.zhengjie.security.security.TokenProvider;
+import me.zhengjie.base.util.FileUploadUtil;
+import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
+import me.zhengjie.base.util.TencentServiceUtil;
+import me.zhengjie.dao.mybatis.UserAXQInfoRepository;
+import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
@@ -31,441 +28,101 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 银行端的登录接口
- * 
- * @author auas
  *
+ * @author auas
  */
 @Validated
 @RestController
-@RequestMapping("/app/bank")
+@RequestMapping("${fqgz.bank.app.url-prefix}")
 @Slf4j
 @RequiredArgsConstructor
 public class AppBankController extends BaseController {
-	private final ApiBankService apiBankService;
-	private final FileInfoService fileInfoService;
-	private final BorrowerService borrowerService;
-	private final MortgageService mortgageService;
-	private final GuaranteeService guaranteeService;
-	private final TokenProvider tokenProvider;
-	private final OrderService orderService;
-	private final OrderFileRepository orderFileRepository;
-	private final TencentHumanFaceVerify faceVerify;
-	private final UserAXQInfoService userAXQInfoService;
-	/**
-	 * 登录接口
-	 * 
-	 * @param loginVo
-	 * @return
-	 */
-	@AnonymousPostMapping("/login")
-	public ResponseDTO<String> login(@Valid @RequestBody BankLoginVo loginVo) {
-		return apiBankService.login(loginVo);
-
-	}
-
-	/**
-	 * 得到业务编号
-	 * 
-	 * @return
-	 */
-	@AnonymousPostMapping("/businessNo")
-	public ResponseDTO<String> businessNo() {
-		// String str;
-		String no = "100" + DateUtils.getNo();
-		return ResponseDTO.success(no);
-	}
-
-	/**
-	 * 保存借款人
-	 * 
-	 * @return
-	 */
-	@RequestMapping("/saveBorrower")
-	public AppBaseResponse saveBorrower( @RequestBody BorrowerVo vo) {
-		log.info("借款人保存请求的参数:" + vo);
-		String auth = getAuthorization();
-		String sysUser = (String) tokenProvider.getAppToken(auth);
-		System.out.println(sysUser);
-		SysUserEntity entity = new SysUserEntity();
-		if (StringUtils.isNotBlank(sysUser)) {
-			entity = JSON.parseObject(sysUser, SysUserEntity.class);
-		}
-		return borrowerService.saveBorrowerOrder(vo, entity);
-	}
-
-	/**
-	 * 保存担保人
-	 * 
-	 * @return
-	 */
-	@RequestMapping("/saveGuarantee")
-	public ResponseDTO<String> saveGuarantee( @RequestBody GuaranteeVo vo) {
-		String auth = getAuthorization();
-		String sysUser = (String) tokenProvider.getAppToken(auth);
-		SysUserEntity entity = new SysUserEntity();
-		if (StringUtils.isNotBlank(sysUser)) {
-			entity = JSON.parseObject(sysUser, SysUserEntity.class);
-		}
-		guaranteeService.saveGuarantee(vo, entity);
-		return ResponseDTO.success();
-	}
-
-	/**
-	 * 保存抵押人
-	 * 
-	 * @return
-	 */
-	@RequestMapping("/saveMortgage")
-	public ResponseDTO<String> saveMortgage( @RequestBody MortgageVo vo) {
-		String auth = getAuthorization();
-		String sysUser = (String) tokenProvider.getAppToken(auth);
-		SysUserEntity entity = new SysUserEntity();
-		if (StringUtils.isNotBlank(sysUser)) {
-			entity = JSON.parseObject(sysUser, SysUserEntity.class);
-		}
-		mortgageService.saveMortgage(vo, entity);
-		return ResponseDTO.success();
-	}
-
-	/**
-	 * 得到抵押人详细信息
-	 * 
-	 * @return
-	 */
-	@RequestMapping("/getMortgage")
-	public ResponseDTO<OrderDetailDto> getMortgage(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String id = jsonObj.getString("id");
-		if (StringUtils.isEmpty(id)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		Map<String, String> map = new HashMap<String, String>();
-		map.put("id", id);
-		AppBaseResponse response = mortgageService.mortgageInfo(map);
-		OrderDetailDto detailDto = (OrderDetailDto) response.getData().getResult();
-		return ResponseDTO.success(detailDto);
-	}
-
-	/**
-	 * 得到担保人详细信息
-	 *
-	 * @return
-	 */
-	@RequestMapping("/getGuarantee")
-	public ResponseDTO<OrderDetailDto> getGuarantee(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String id = jsonObj.getString("id");
-		if (StringUtils.isEmpty(id)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		Map<String, String> map = new HashMap<String, String>();
-		map.put("id", id);
-		AppBaseResponse response = guaranteeService.guaranteeInfo(map);
-		OrderDetailDto detailDto = (OrderDetailDto) response.getData().getResult();
-		return ResponseDTO.success(detailDto);
-	}
-
-	@RequestMapping("/order/search")
-	public ResponseDTO<?> orderSearch(@RequestBody String json) {
-		 
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String phone = jsonObj.getString("phone");
-		String status = jsonObj.getString("status");
-		String contractNo = jsonObj.getString("contractNo");
-		Integer startIndex = 1;
-
-		Integer size = Integer.MAX_VALUE;
-
-		List<OrderEntity> list = borrowerService.getOrderList(contractNo,phone, status, startIndex, size);
-
-		return ResponseDTO.success(list);
-	}
-	/**
-	 * 提交订单
-	 * 
-	 * @param json
-	 * @return
-	 */
-	@RequestMapping("/submit")
-	public AppBaseResponse submit(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String businessNo = jsonObj.getString("businessNo");
-		return orderService.submitOrder(businessNo, getCurrentUser());
-	}
-
-	/**
-	 * 文件和图片
-	 * 
-	 * @return
-	 */
-	@RequestMapping("/uploadFiles")
-	public ResponseDTO<List<FileInfoDto>> uploadFiles(@Valid FileUploadVo file) {
-
-		log.info("文件上传参数:" + file);
-
-		String value = StepStatusEnum.getValue(Integer.valueOf(file.getStep()));
-		if (StringUtils.isEmpty(value)) {
-			return ResponseDTO.error(ResultCode.BUSINESS_PROCESS_ERROR);
-		}
-		List<MultipartFile> fileUpload = file.getFileUpload();
-		if (CollectionUtils.isEmpty(fileUpload)) {
-			return ResponseDTO.error(ResultCode.FILE_DOES_NOT_EXIST);
-		}
-		List<FileInfoDto> fileDtos = new ArrayList<>();
-		// 顺序
-		Integer order = 1;
-		for (MultipartFile partFile : fileUpload) {
-			FileInfoDto filedto = new FileInfoDto();
-			file.setOrder(order++);
-			String filePath = FileUploadUtil.uploadFile(file, partFile);
-			if (StringUtils.isEmpty(filePath)) {
-				return ResponseDTO.error(ResultCode.BUSINESS_IMAGE_UPLOAD_ERROR);
-			}
-			JSONObject json = fileInfoService.saveFile(file, filePath);
-			filedto.setImageId(json.getString("imageId"));
-			filedto.setUrl(json.getString("url"));
-			fileDtos.add(filedto);
-		}
-		log.info("文件上传结果返回:" + fileDtos);
-		return ResponseDTO.success(fileDtos);
-	}
-
-	/**
-	 * 获取借款人信息
-	 * 
-	 * @param json
-	 * @return
-	 */
-	@RequestMapping("/getBorrower")
-	public ResponseDTO<OrderDetailDto> getBorrower(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String id = jsonObj.getString("id");
-		if (StringUtils.isEmpty(id)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		Map<String, String> map = new HashMap<String, String>();
-		map.put("id", id);
-		AppBaseResponse response = borrowerService.borrowerInfo(map);
-		OrderDetailDto detailDto = (OrderDetailDto) response.getData().getResult();
-		return ResponseDTO.success(detailDto);
-	}
-
-	/**
-	 * 上传身份证,现在是base64位,这里需要业务流水号
-	 * 
-	 * @return
-	 */
-
-	@RequestMapping("/uploadCard")
-	public ResponseDTO<JSONObject> uploadCard(@Valid @RequestBody ImageUploadVo image) {
-		String value = StepStatusEnum.getValue(Integer.valueOf(image.getStep()));
-		if (StringUtils.isEmpty(value)) {
-			return ResponseDTO.error(ResultCode.BUSINESS_PROCESS_ERROR);
-		}
-		// FIL
-		if (StringUtils.isBlank(image.getOrder())) {
-			image.setOrder("1");
-		}
-		String filePath = FileUploadUtil.saveImage(image);
-		if (StringUtils.isEmpty(filePath)) {
-			return ResponseDTO.error(ResultCode.BUSINESS_IMAGE_UPLOAD_ERROR);
-		}
-		JSONObject json = fileInfoService.saveCard(image, filePath);
-		return ResponseDTO.success(json);
-	}
-
-	/**
-	 * 订单列表
-	 * 
-	 * @param json
-	 * @return
-	 */
-	@RequestMapping("/order/list")
-	public ResponseDTO<?> getOrderList(@RequestBody String json) {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String phone = jsonObj.getString("phone");
-		String status = jsonObj.getString("status");
-		String contractNo = jsonObj.getString("contractNo");
-		Integer startIndex = 1;
-
-		Integer size = Integer.MAX_VALUE;
-
-		List<OrderEntity> list = borrowerService.getOrderList(contractNo,phone, status, startIndex, size);
-
-		return ResponseDTO.success(list);
-	}
-
-	/**
-	 * 得到抵押人,借款人,担保人订单
-	 * 
-	 * @param json
-	 * @return
-	 */
-	@RequestMapping("/sub/order/list")
-	public ResponseDTO<?> getSubOrderList(@RequestBody String json) {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String businessNo = jsonObj.getString("businessNo");
-		String status = jsonObj.getString("status");
-		Integer startIndex = 1;
-		Integer size = Integer.MAX_VALUE;
-		List<OrderDto> list = borrowerService.getSubOrderList(businessNo, status, startIndex, size);
-
-		return ResponseDTO.success(list);
-	}
-	@RequestMapping("/order/detail")
-	public ResponseDTO<?> getDetail(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		OrderDto order = this.orderService.getOrderById(orderId);
-		if (order == null) {
-			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
-		}
-		return ResponseDTO.success(order);
-	}
-
-	// 得到公证书
-	@RequestMapping("/getNotarization")
-	public ResponseDTO<?> getNotarization(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(orderId);
-		return ResponseDTO.success(orderFile.getSignedPdfUrl());
-	}
-
-	// ocr解析
-	@RequestMapping("/orderOCRParser")
-	public ResponseDTO<?> orderOCRParser(MultipartFile file, String orderType) {
-		Object object = orderService.parseOrder(orderType, file, getCurrentUser());
-		if (object == null) {
-			return ResponseDTO.error(ResultCode.ORDER_OCR_SERVICE_UNAVAILABLE);
-		}
-		return ResponseDTO.success(object);
-	}
-
-	@RequestMapping("/axqRegister")
-	public ResponseDTO<?> axqRegister(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		String phone = jsonObj.getString("phone");
-		String name = jsonObj.getString("name");
-		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(phone) || StringUtils.isEmpty(name)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.registAXQUser(idCard, phone, name);
-	}
-	// 人脸核身
-	@RequestMapping("/order/getFaceId")
-	public ResponseDTO<?> getFaceId(@RequestBody String json) throws Exception {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		OrderDto order = this.apiBankService.getOrderDetail(orderId);
-		JSONObject str = SdkTest.getFaceId(faceVerify.getBankWebankAppId(), faceVerify.getBankSecret(),
-				faceVerify.getBankKeyLicence(), order.getUsername(), order.getIdCard(), orderId);
-		return ResponseDTO.success(str);
-	}
-
-	@AnonymousPostMapping("/video/call")
-	public ResponseDTO<?> videoCall(@RequestBody String json) {
-		return this.apiBankService.videoCall(json);
-	}
-	
-	@RequestMapping("/order/pdf")
-	public ResponseDTO<?> getOrderPDF(@RequestBody String json) {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		ResponseDTO<?> order = this.apiBankService.getOrderPDF(orderId);
-
-		return order;
-	}
-
-	@AnonymousPostMapping("/order/note")
-	public ResponseDTO<?> note(@RequestBody String json) {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		//
-		OrderFileEntity orderFile = orderFileRepository.getOrderNote(orderId);
-		// pdf的地址预览
-		String noteUrl = FileUploadUtil.getPreviewUrl(orderFile.getHtmlUrl());
-
-		return ResponseDTO.success(noteUrl);
-	}
-
-	@RequestMapping("/sendAuthMessage")
-	public ResponseDTO<?> sendAuthMessage(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		if (StringUtils.isEmpty(idCard)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.sendAuthMessage(idCard);
-	}
-
-	@RequestMapping("/verifyAuthMessage")
-	public ResponseDTO<?> verifyAuthMessage(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		String checkCode = jsonObj.getString("checkCode");
-		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(checkCode)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.verifyAuthMessage(idCard, checkCode);
-	}
-
-	@RequestMapping("/order/updateStatus")
-	public ResponseDTO<?> updateOrderStatus(@RequestBody String json) throws Exception {
-
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		orderService.updateOrderStatus(orderId);
-
-		return ResponseDTO.success();
-	}
-	
-	@RequestMapping("/getAuthStatus")
-	public ResponseDTO<?> getAuthStatus(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		if (StringUtils.isEmpty(idCard)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.getAuthStatus(idCard);
-	}
-
-	@AnonymousPostMapping("/uploadSeal")
-	public ResponseDTO<?> uploadSeal(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		String contractId = jsonObj.getString("contractId");
-		String content = jsonObj.getString("content");
-		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(contractId) || StringUtils.isEmpty(content)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.uploadSeal(idCard, contractId, content);
-	}
+    private final ApiBankService apiBankService;
+    private final FileInfoService fileInfoService;
+    private final UserAXQInfoRepository userAXQInfoRepository;
+
+    /**
+     * 登录接口
+     *
+     * @param loginVo
+     * @return
+     */
+    @AnonymousPostMapping("/login")
+    public ResponseDTO<String> login(@Valid @RequestBody BankLoginVo loginVo) {
+        return apiBankService.login(loginVo);
+
+    }
+
+    /**
+     * 文件和图片
+     *
+     * @return
+     */
+    @RequestMapping("/uploadFiles")
+    public ResponseDTO<List<FileInfoDto>> uploadFiles(@Valid FileUploadVo file) {
+
+        log.info("文件上传参数:" + file);
+
+        String value = StepStatusEnum.getValue(Integer.valueOf(file.getStep()));
+        if (StringUtils.isEmpty(value)) {
+            return ResponseDTO.error(ResultCode.BUSINESS_PROCESS_ERROR);
+        }
+        List<MultipartFile> fileUpload = file.getFileUpload();
+        if (CollectionUtils.isEmpty(fileUpload)) {
+            return ResponseDTO.error(ResultCode.FILE_DOES_NOT_EXIST);
+        }
+        List<FileInfoDto> fileDtos = new ArrayList<>();
+        // 顺序
+        Integer order = 1;
+        for (MultipartFile partFile : fileUpload) {
+            FileInfoDto filedto = new FileInfoDto();
+            file.setOrder(order++);
+            String filePath = FileUploadUtil.uploadFile(file, partFile);
+            if (StringUtils.isEmpty(filePath)) {
+                return ResponseDTO.error(ResultCode.BUSINESS_IMAGE_UPLOAD_ERROR);
+            }
+            JSONObject json = fileInfoService.saveFile(file, filePath);
+            filedto.setImageId(json.getString("imageId"));
+            filedto.setUrl(json.getString("url"));
+            fileDtos.add(filedto);
+        }
+        log.info("文件上传结果返回:" + fileDtos);
+        return ResponseDTO.success(fileDtos);
+    }
+
+    /**
+     * 上传身份证,现在是base64位,这里需要业务流水号
+     *
+     * @return
+     */
+    @RequestMapping("/uploadCard")
+    public ResponseDTO<JSONObject> uploadCard(@Valid @RequestBody ImageUploadVo image) {
+//        String value = image.getStep();
+//        if (StringUtils.isEmpty(value)) {
+//            return ResponseDTO.error(ResultCode.BUSINESS_PROCESS_ERROR);
+//        }
+        // FIL
+        if (StringUtils.isBlank(image.getOrder())) {
+            image.setOrder("1");
+        }
+
+        if ("4".equals(image.getStep())) {
+            String ocrName = TencentServiceUtil.getHandwritingText(image.getBase64());
+            UserAXQInfoEntity entity = userAXQInfoRepository.getUserAXQInfoWithIdcard(image.getIdCard());
+            if (!ocrName.equals(entity.getUserName())) {
+                return ResponseDTO.error(ResultCode.HANDWRITING_FAIL);
+            }
+        }
+
+        String filePath = FileUploadUtil.saveImage(image);
+        if (StringUtils.isEmpty(filePath)) {
+            return ResponseDTO.error(ResultCode.BUSINESS_IMAGE_UPLOAD_ERROR);
+        }
+        JSONObject json = fileInfoService.saveCard(image, filePath);
+        return ResponseDTO.success(json);
+    }
 }

+ 151 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankNotarizeController.java

@@ -0,0 +1,151 @@
+package me.zhengjie.application.bank.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import me.zhengjie.annotation.rest.AnonymousPostMapping;
+import me.zhengjie.application.bank.service.ApiBankService;
+import me.zhengjie.application.bank.service.UserAXQInfoService;
+import me.zhengjie.base.ResponseDTO;
+import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.config.TencentHumanFaceVerify;
+import me.zhengjie.base.util.FileUploadUtil;
+import me.zhengjie.base.util.tencent.h5face.SdkTest;
+import me.zhengjie.dao.mybatis.OrderFileRepository;
+import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Validated
+@RestController
+@RequestMapping("${fqgz.bank.app.url-prefix}")
+@Slf4j
+@RequiredArgsConstructor
+public class BankNotarizeController {
+    private final OrderFileRepository orderFileRepository;
+    private final UserAXQInfoService userAXQInfoService;
+    private final ApiBankService apiBankService;
+    private final TencentHumanFaceVerify faceVerify;
+
+    // 得到公证书
+    @RequestMapping("/getNotarization")
+    public ResponseDTO<?> getNotarization(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        String prodId = jsonObj.getString("prodId");
+        if (StringUtils.isEmpty(businessNo) || StringUtils.isEmpty(prodId)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(prodId, businessNo);
+        return ResponseDTO.success(FileUploadUtil.getPreviewUrl(orderFile.getSignedPdfUrl()));
+    }
+
+    @RequestMapping("/axqRegister")
+    public ResponseDTO<?> axqRegister(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String idCard = jsonObj.getString("idCard");
+        String phone = jsonObj.getString("phone");
+        String name = jsonObj.getString("name");
+        if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(phone) || StringUtils.isEmpty(name)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        return userAXQInfoService.registAXQUser(idCard, phone, name);
+    }
+
+    // 人脸核身
+    @RequestMapping("/order/getFaceId")
+    public ResponseDTO<?> getFaceId(@RequestBody String json) throws Exception {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String userName = jsonObj.getString("userName");
+        String idCard = jsonObj.getString("idCard");
+        if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(idCard)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        JSONObject str = SdkTest.getFaceId(faceVerify.getBankWebankAppId(), faceVerify.getBankSecret(),
+                faceVerify.getBankKeyLicence(), userName, idCard, idCard);
+        return ResponseDTO.success(str);
+    }
+
+    @AnonymousPostMapping("/video/call")
+    public ResponseDTO<?> videoCall(@RequestBody String json) {
+        return this.apiBankService.videoCall(json);
+    }
+
+    @RequestMapping("/order/pdf")
+    public ResponseDTO<?> getOrderPDF(@RequestBody String json) {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        String prodId = jsonObj.getString("prodId");
+        if (StringUtils.isEmpty(businessNo) || StringUtils.isEmpty(prodId)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        ResponseDTO<?> order = this.apiBankService.getOrderPDF(businessNo,prodId);
+
+        return order;
+    }
+
+    @AnonymousPostMapping("/order/note")
+    public ResponseDTO<?> note(@RequestBody String json) {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        String prodId = jsonObj.getString("prodId");
+        if (StringUtils.isEmpty(businessNo) || StringUtils.isEmpty(prodId)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        //
+        OrderFileEntity orderFile = orderFileRepository.getOrderNote(businessNo,prodId);
+        // pdf的地址预览
+        String noteUrl = FileUploadUtil.getPreviewUrl(orderFile.getHtmlUrl());
+
+        return ResponseDTO.success(noteUrl);
+    }
+
+    @RequestMapping("/sendAuthMessage")
+    public ResponseDTO<?> sendAuthMessage(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String idCard = jsonObj.getString("idCard");
+        if (StringUtils.isEmpty(idCard)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        return userAXQInfoService.sendAuthMessage(idCard);
+    }
+
+    @RequestMapping("/verifyAuthMessage")
+    public ResponseDTO<?> verifyAuthMessage(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String idCard = jsonObj.getString("idCard");
+        String checkCode = jsonObj.getString("checkCode");
+        if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(checkCode)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        return userAXQInfoService.verifyAuthMessage(idCard, checkCode);
+    }
+
+    @RequestMapping("/getAuthStatus")
+    public ResponseDTO<?> getAuthStatus(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String idCard = jsonObj.getString("idCard");
+        if (StringUtils.isEmpty(idCard)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        return userAXQInfoService.getAuthStatus(idCard);
+    }
+
+    @AnonymousPostMapping("/uploadSeal")
+    public ResponseDTO<?> uploadSeal(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        JSONArray jsonArray = jsonObj.getJSONArray("signInfo");
+        if (StringUtils.isEmpty(businessNo) || jsonArray == null) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        return userAXQInfoService.uploadSeal(businessNo, jsonArray);
+    }
+}

+ 249 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankOrderController.java

@@ -0,0 +1,249 @@
+package me.zhengjie.application.bank.controller;
+
+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.*;
+import me.zhengjie.application.bank.service.BorrowerService;
+import me.zhengjie.application.bank.service.GuaranteeService;
+import me.zhengjie.application.bank.service.MortgageService;
+import me.zhengjie.application.bank.service.OrderService;
+import me.zhengjie.base.ResponseDTO;
+import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.util.DateUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Validated
+@RestController
+@RequestMapping("${fqgz.bank.app.url-prefix}/order")
+@Slf4j
+@RequiredArgsConstructor
+public class BankOrderController extends BaseController {
+    private final OrderService orderService;
+    private final BorrowerService borrowerService;
+    private final GuaranteeService guaranteeService;
+    private final MortgageService mortgageService;
+
+    /**
+     * 订单列表
+     *
+     * @param json
+     * @return
+     */
+    @PostMapping("/list")
+    public ResponseDTO<List<BankOrderVO>> getOrderList(@RequestBody String json) {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String phone = jsonObj.getString("phone");
+        String status = jsonObj.getString("status");
+        String contractNo = jsonObj.getString("contractNo");
+
+        List<BankOrderVO> list = orderService.getOrderList(contractNo, phone, status, 1, Integer.MAX_VALUE);
+
+        return ResponseDTO.success(list);
+    }
+
+    /**
+     * 搜索订单列表
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/search")
+    public ResponseDTO<List<BankOrderVO>> orderSearch(@RequestBody String json) {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String phone = jsonObj.getString("phone");
+        String status = jsonObj.getString("status");
+        String contractNo = jsonObj.getString("contractNo");
+
+        List<BankOrderVO> list = orderService.getOrderList(contractNo, phone, status, 1, Integer.MAX_VALUE);
+
+        return ResponseDTO.success(list);
+    }
+
+    /**
+     * 查询主订单详情
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/info")
+    public ResponseDTO<?> getDetail(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        if (StringUtils.isEmpty(businessNo)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        BankOrderVO order = orderService.getOrderById(businessNo);
+        if (order == null) {
+            return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
+        }
+        return ResponseDTO.success(order);
+    }
+
+    /**
+     * 统计子订单数量
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/sub/count")
+    public ResponseDTO<?> countSubOrder(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        return ResponseDTO.success(orderService.countSubOrder(businessNo));
+    }
+
+    /**
+     * 得到抵押人,借款人,担保人订单
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/sub/list")
+    public ResponseDTO<List<BankOrderVO>> getSubOrderList(@RequestBody String json) {
+
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        String status = jsonObj.getString("status");
+        List<BankOrderVO> list = orderService.getSubOrderList(businessNo, status, 1, Integer.MAX_VALUE);
+
+        return ResponseDTO.success(list);
+    }
+
+    /**
+     * 得到业务编号
+     *
+     * @return
+     */
+    @RequestMapping("/business-no")
+    public ResponseDTO<String> businessNo() {
+        String no = "100" + DateUtils.getNo();
+        return ResponseDTO.success(no);
+    }
+
+    /**
+     * 银行合同OCR解析输入
+     * @param file
+     * @param orderType
+     * @return
+     */
+    @RequestMapping("/ocr-parser")
+    public ResponseDTO<?> orderOCRParser(MultipartFile file, String orderType) {
+        Object object = orderService.parseOrder(orderType, file, getCurrentUser());
+        if (object == null) {
+            return ResponseDTO.error(ResultCode.ORDER_OCR_SERVICE_UNAVAILABLE);
+        }
+        return ResponseDTO.success(object);
+    }
+
+    /**
+     * 保存借款人
+     *
+     * @return
+     */
+    @RequestMapping("/borrower/save")
+    public ResponseDTO<String> saveBorrower(@RequestBody BorrowerVo vo) {
+        borrowerService.saveBorrower(vo, getCurrentUser());
+        return ResponseDTO.success();
+    }
+
+    /**
+     * 保存抵押人
+     *
+     * @return
+     */
+    @RequestMapping("/mortgage/save")
+    public ResponseDTO<String> saveMortgage(@RequestBody MortgageVo vo) {
+        mortgageService.saveMortgage(vo, getCurrentUser());
+        return ResponseDTO.success();
+    }
+
+    /**
+     * 保存担保人
+     *
+     * @return
+     */
+    @RequestMapping("/guarantee/save")
+    public ResponseDTO<String> saveGuarantee(@RequestBody GuaranteeVo vo) {
+        guaranteeService.saveGuarantee(vo, getCurrentUser());
+        return ResponseDTO.success();
+    }
+
+    /**
+     * 获取借款人信息
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/borrower/info")
+    public ResponseDTO<OrderDetailDto> getBorrower(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String id = jsonObj.getString("id");
+        if (StringUtils.isEmpty(id)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        Map<String, String> map = new HashMap<String, String>();
+        map.put("id", id);
+        return ResponseDTO.success(borrowerService.borrowerInfo(map));
+    }
+
+    /**
+     * 得到抵押人详细信息
+     *
+     * @return
+     */
+    @RequestMapping("/mortgage/info")
+    public ResponseDTO<OrderDetailDto> getMortgage(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String id = jsonObj.getString("id");
+        if (StringUtils.isEmpty(id)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        Map<String, String> map = new HashMap<String, String>();
+        map.put("id", id);
+        return ResponseDTO.success(mortgageService.mortgageInfo(map));
+    }
+
+    /**
+     * 得到担保人详细信息
+     *
+     * @return
+     */
+    @RequestMapping("/guarantee/info")
+    public ResponseDTO<OrderDetailDto> getGuarantee(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String id = jsonObj.getString("id");
+        if (StringUtils.isEmpty(id)) {
+            return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+        }
+        Map<String, String> map = new HashMap<String, String>();
+        map.put("id", id);
+        return ResponseDTO.success(guaranteeService.guaranteeInfo(map));
+    }
+
+    /**
+     * 提交订单
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping("/submit")
+    public ResponseDTO<String> submit(@RequestBody String json) {
+        JSONObject jsonObj = JSONObject.parseObject(json);
+        String businessNo = jsonObj.getString("businessNo");
+        return orderService.submitOrder(businessNo, getCurrentUser());
+    }
+}

+ 75 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BankOrderVO.java

@@ -0,0 +1,75 @@
+package me.zhengjie.application.bank.controller.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+public class BankOrderVO {
+    // 主键id
+    private Integer id;
+    // 业务编号
+    private String businessNo;
+    // 合同编号
+    private String contractNo;
+    // 合同起始日:
+    private String startDate;
+    // 合同终止日
+    private String endDate;
+    private String loanName;
+    // 借款金额
+    private String loanMoney;
+    // 借款利率
+    private String rate;
+    // 主订单状态
+    private String status;
+    // 退回原因
+    private String returnReason;
+    // 驳回原因
+    private String rejectReason;
+    // 银行ID
+    private String bankId;
+    // 银行名称
+    private String bankName;
+    // 客户经理ID
+    private String customerId;
+    // 客户经理姓名
+    private String customerName;
+    // 公证处ID
+    private String notaryOfficeId;
+    // 公证员用户ID
+    private String notaryUserId;
+    // 公证书自动生成标记
+    private String autoGenerate;
+    // 申请时间
+    private LocalDateTime applyTime;
+    //创建人
+    private Integer creator;
+    // 创建时间
+    private LocalDateTime createTime;
+    // 修改人
+    private Integer updater;
+    private Long borrowerNum;
+    private Long mortgageNum;
+    private Long guaranteeNum;
+    private String prodId;
+    private String idCard;
+    private String phone;
+    private String username;
+    private String sumMoney;
+    private String sex;
+    private String birth;
+    private String residence;
+    private String orderId;
+    private Integer jointFlag;
+    private String spouseIdCard;
+    private String spouseName;
+    private String spousePhone;
+    private String type;
+    private String housePropertyNo;
+    private String houseLocation;
+    private String subStatus;
+    private String notarizedIdcard;
+}

+ 13 - 165
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BorrowerVo.java

@@ -3,9 +3,13 @@ package me.zhengjie.application.bank.controller.vo;
 import javax.validation.constraints.NotNull;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
 import lombok.ToString;
 
 @ToString
+@Getter
+@Setter
 public class BorrowerVo {
 
 	/**
@@ -153,176 +157,20 @@ public class BorrowerVo {
 	@ApiModelProperty(value = "借款人的顺序")
 	private String orderBy;
 
-	public String getBusinessNo() {
-		return businessNo;
-	}
+	@NotNull(message = "共同借款标记")
+	private Integer jointFlag;
 
-	public void setBusinessNo(String businessNo) {
-		this.businessNo = businessNo;
-	}
+	private String spouseIdCard;
 
-	public String getContractNo() {
-		return contractNo;
-	}
+	private String spouseName;
 
-	public void setContractNO(String contractNo) {
-		this.contractNo = contractNo;
-	}
+	private String spousePhone;
 
-	public String getStartDate() {
-		return startDate;
-	}
+	private String spouseIdcardFrontPic;
 
-	public void setStartDate(String startDate) {
-		this.startDate = startDate;
-	}
+	private String spouseIdcardBackPic;
 
-	public String getEndDate() {
-		return endDate;
-	}
-
-	public void setEndDate(String endDate) {
-		this.endDate = endDate;
-	}
-
-	public String getSumMoney() {
-		return sumMoney;
-	}
-
-	public void setSumMoney(String sumMoney) {
-		this.sumMoney = sumMoney;
-	}
-
-	public String getRate() {
-		return rate;
-	}
-
-	public void setRate(String rate) {
-		this.rate = rate;
-	}
-
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getSex() {
-		return sex;
-	}
-
-	public void setSex(String sex) {
-		this.sex = sex;
-	}
-
-	public String getBirth() {
-		return birth;
-	}
-
-	public void setBirth(String birth) {
-		this.birth = birth;
-	}
-
-	public String getIdCard() {
-		return idCard;
-	}
-
-	public void setIdCard(String idCard) {
-		this.idCard = idCard;
-	}
-
-	public String getResidence() {
-		return residence;
-	}
-
-	public void setResidence(String residence) {
-		this.residence = residence;
-	}
-
-	public String getPhone() {
-		return phone;
-	}
-
-	public void setPhone(String phone) {
-		this.phone = phone;
-	}
-
-	public String getMarriage() {
-		return marriage;
-	}
-
-	public void setMarriage(String marriage) {
-		this.marriage = marriage;
-	}
-
-	public void setContractNo(String contractNo) {
-		this.contractNo = contractNo;
-	}
-
-	public String getOrderBy() {
-		return orderBy;
-	}
-
-	public void setOrderBy(String orderBy) {
-		this.orderBy = orderBy;
-	}
-
-	public String getCardFront() {
-		return cardFront;
-	}
-
-	public void setCardFront(String cardFront) {
-		this.cardFront = cardFront;
-	}
-
-	public String getCardBack() {
-		return cardBack;
-	}
-
-	public void setCardBack(String cardBack) {
-		this.cardBack = cardBack;
-	}
-
-	public String getCompactPic() {
-		return compactPic;
-	}
-
-	public void setCompactPic(String compactPic) {
-		this.compactPic = compactPic;
-	}
-
-	public String getEstatesPic() {
-		return estatesPic;
-	}
-
-	public void setEstatesPic(String estatesPic) {
-		this.estatesPic = estatesPic;
-	}
-
-	public String getMarragePic() {
-		return marragePic;
-	}
-
-	public void setMarragePic(String marragePic) {
-		this.marragePic = marragePic;
-	}
-
-	public String getOtherUpload() {
-		return otherUpload;
-	}
-
-	public void setOtherUpload(String otherUpload) {
-		this.otherUpload = otherUpload;
-	}
-
-	public String getHkbPic() {
-		return hkbPic;
-	}
-
-	public void setHkbPic(String hkbPic) {
-		this.hkbPic = hkbPic;
-	}
+	private String notarizedIdcard;
 
+	private String prodId;
 }

+ 12 - 150
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/GuaranteeVo.java

@@ -3,9 +3,13 @@ package me.zhengjie.application.bank.controller.vo;
 import javax.validation.constraints.NotNull;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
 import lombok.ToString;
 
 @ToString
+@Getter
+@Setter
 public class GuaranteeVo {
 
 	/**
@@ -138,160 +142,18 @@ public class GuaranteeVo {
 	@ApiModelProperty(value = "担保人的顺序")
 	private String orderBy;
 
-	public String getBusinessNo() {
-		return businessNo;
-	}
+	@NotNull(message = "共同担保标记")
+	private Integer jointFlag;
 
-	public void setBusinessNo(String businessNo) {
-		this.businessNo = businessNo;
-	}
+	private String spouseIdCard;
 
-	public String getContractNo() {
-		return contractNo;
-	}
+	private String spouseName;
 
-	public void setContractNO(String contractNo) {
-		this.contractNo = contractNo;
-	}
+	private String spousePhone;
 
-	public String getStartDate() {
-		return startDate;
-	}
+	private String spouseIdcardFrontPic;
 
-	public void setStartDate(String startDate) {
-		this.startDate = startDate;
-	}
-
-	public String getEndDate() {
-		return endDate;
-	}
-
-	public void setEndDate(String endDate) {
-		this.endDate = endDate;
-	}
-
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getSex() {
-		return sex;
-	}
-
-	public void setSex(String sex) {
-		this.sex = sex;
-	}
-
-	public String getBirth() {
-		return birth;
-	}
-
-	public void setBirth(String birth) {
-		this.birth = birth;
-	}
-
-	public String getIdCard() {
-		return idCard;
-	}
-
-	public void setIdCard(String idCard) {
-		this.idCard = idCard;
-	}
-
-	public String getResidence() {
-		return residence;
-	}
-
-	public void setResidence(String residence) {
-		this.residence = residence;
-	}
-
-	public String getPhone() {
-		return phone;
-	}
-
-	public void setPhone(String phone) {
-		this.phone = phone;
-	}
-
-	public String getMarriage() {
-		return marriage;
-	}
-
-	public void setMarriage(String marriage) {
-		this.marriage = marriage;
-	}
-
-	public void setContractNo(String contractNo) {
-		this.contractNo = contractNo;
-	}
-
-	public String getOrderBy() {
-		return orderBy;
-	}
-
-	public void setOrderBy(String orderBy) {
-		this.orderBy = orderBy;
-	}
-
-	public String getCardFront() {
-		return cardFront;
-	}
-
-	public void setCardFront(String cardFront) {
-		this.cardFront = cardFront;
-	}
-
-	public String getCardBack() {
-		return cardBack;
-	}
-
-	public void setCardBack(String cardBack) {
-		this.cardBack = cardBack;
-	}
-
-	public String getCompactPic() {
-		return compactPic;
-	}
-
-	public void setCompactPic(String compactPic) {
-		this.compactPic = compactPic;
-	}
-
-	public String getEstatesPic() {
-		return estatesPic;
-	}
-
-	public void setEstatesPic(String estatesPic) {
-		this.estatesPic = estatesPic;
-	}
-
-	public String getMarragePic() {
-		return marragePic;
-	}
-
-	public void setMarragePic(String marragePic) {
-		this.marragePic = marragePic;
-	}
-
-	public String getOtherUpload() {
-		return otherUpload;
-	}
-
-	public void setOtherUpload(String otherUpload) {
-		this.otherUpload = otherUpload;
-	}
-
-	public String getHkbPic() {
-		return hkbPic;
-	}
-
-	public void setHkbPic(String hkbPic) {
-		this.hkbPic = hkbPic;
-	}
+	private String spouseIdcardBackPic;
 
+	private String notarizedIdcard;
 }

+ 5 - 42
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/ImageUploadVo.java

@@ -3,6 +3,8 @@ package me.zhengjie.application.bank.controller.vo;
 import javax.validation.constraints.NotNull;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
 
 /**
  * 上传图片
@@ -10,7 +12,8 @@ import io.swagger.annotations.ApiModelProperty;
  * @author auas
  *
  */
-
+@Getter
+@Setter
 public class ImageUploadVo {
 	// 图片的base64编码
 	@NotNull(message = "图片base64不能为空")
@@ -30,46 +33,6 @@ public class ImageUploadVo {
    //	@NotNull(message = "图片顺序不能为空")
 	@ApiModelProperty(value = "图片顺序不能为空")
 	private String order;
-	
-	public String getBase64() {
-		return base64;
-	}
-
-	public void setBase64(String base64) {
-		this.base64 = base64;
-	}
-
-	public String getBusinessNo() {
-		return businessNo;
-	}
-
-	public void setBusinessNo(String businessNo) {
-		this.businessNo = businessNo;
-	}
-
-	public String getFileType() {
-		return fileType;
-	}
-
-	public void setFileType(String fileType) {
-		this.fileType = fileType;
-	}
-
-	public String getStep() {
-		return step;
-	}
-
-	public void setStep(String step) throws Exception {
-
-		this.step = step;
-	}
-
-	public String getOrder() {
-		return order;
-	}
-
-	public void setOrder(String order) {
-		this.order = order;
-	}
 
+	private String idCard;
 }

+ 13 - 165
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/MortgageVo.java

@@ -5,9 +5,13 @@ import javax.validation.constraints.NotNull;
 import com.baomidou.mybatisplus.annotation.TableField;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
 import lombok.ToString;
 
 @ToString
+@Getter
+@Setter
 public class MortgageVo {
 
 	/**
@@ -155,176 +159,20 @@ public class MortgageVo {
 	@ApiModelProperty(value = "借款人的顺序")
 	private String orderBy;
 
-	public String getBusinessNo() {
-		return businessNo;
-	}
+	@NotNull(message = "共同抵押标记")
+	private Integer jointFlag;
 
-	public void setBusinessNo(String businessNo) {
-		this.businessNo = businessNo;
-	}
+	private String spouseIdCard;
 
-	public String getContractNo() {
-		return contractNo;
-	}
+	private String spouseName;
 
-	public void setContractNO(String contractNo) {
-		this.contractNo = contractNo;
-	}
+	private String spousePhone;
 
-	public String getStartDate() {
-		return startDate;
-	}
+	private String spouseIdcardFrontPic;
 
-	public void setStartDate(String startDate) {
-		this.startDate = startDate;
-	}
+	private String spouseIdcardBackPic;
 
-	public String getEndDate() {
-		return endDate;
-	}
-
-	public void setEndDate(String endDate) {
-		this.endDate = endDate;
-	}
-
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getSex() {
-		return sex;
-	}
-
-	public void setSex(String sex) {
-		this.sex = sex;
-	}
-
-	public String getBirth() {
-		return birth;
-	}
-
-	public void setBirth(String birth) {
-		this.birth = birth;
-	}
-
-	public String getIdCard() {
-		return idCard;
-	}
-
-	public void setIdCard(String idCard) {
-		this.idCard = idCard;
-	}
-
-	public String getResidence() {
-		return residence;
-	}
-
-	public void setResidence(String residence) {
-		this.residence = residence;
-	}
-
-	public String getPhone() {
-		return phone;
-	}
-
-	public void setPhone(String phone) {
-		this.phone = phone;
-	}
-
-	public String getMarriage() {
-		return marriage;
-	}
-
-	public void setMarriage(String marriage) {
-		this.marriage = marriage;
-	}
-
-	public void setContractNo(String contractNo) {
-		this.contractNo = contractNo;
-	}
-
-	public String getOrderBy() {
-		return orderBy;
-	}
-
-	public void setOrderBy(String orderBy) {
-		this.orderBy = orderBy;
-	}
-
-	public String getCardFront() {
-		return cardFront;
-	}
-
-	public void setCardFront(String cardFront) {
-		this.cardFront = cardFront;
-	}
-
-	public String getCardBack() {
-		return cardBack;
-	}
-
-	public void setCardBack(String cardBack) {
-		this.cardBack = cardBack;
-	}
-
-	public String getCompactPic() {
-		return compactPic;
-	}
-
-	public void setCompactPic(String compactPic) {
-		this.compactPic = compactPic;
-	}
-
-	public String getEstatesPic() {
-		return estatesPic;
-	}
-
-	public void setEstatesPic(String estatesPic) {
-		this.estatesPic = estatesPic;
-	}
-
-	public String getMarragePic() {
-		return marragePic;
-	}
-
-	public void setMarragePic(String marragePic) {
-		this.marragePic = marragePic;
-	}
-
-	public String getOtherUpload() {
-		return otherUpload;
-	}
-
-	public void setOtherUpload(String otherUpload) {
-		this.otherUpload = otherUpload;
-	}
-
-	public String getHkbPic() {
-		return hkbPic;
-	}
-
-	public void setHkbPic(String hkbPic) {
-		this.hkbPic = hkbPic;
-	}
-
-	public String getHousePropertyNo() {
-		return housePropertyNo;
-	}
-
-	public String getHouseLocation() {
-		return houseLocation;
-	}
-
-	public void setHousePropertyNo(String housePropertyNo) {
-		this.housePropertyNo = housePropertyNo;
-	}
-
-	public void setHouseLocation(String houseLocation) {
-		this.houseLocation = houseLocation;
-	}
+	private String notarizedIdcard;
 
+	private String mortgagePic;
 }

+ 1 - 0
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/NotaryNoteVo.java

@@ -27,4 +27,5 @@ public class NotaryNoteVo {
 	private String noteBook;
 	// 问答列表
 	private List<NotaryNoteDto> notaryNoteDtos;
+	private String prodId;
 }

+ 11 - 8
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderDetailDto.java

@@ -11,9 +11,10 @@ import java.util.Map;
 @ToString
 @Getter
 @Setter
-public class OrderDetailDto implements Comparable<OrderDetailDto> {
+public class OrderDetailDto {
 	// 订单id
 	private String orderId;
+	private String prodId;
 	/**
 	 * 主键id
 	 */
@@ -166,11 +167,13 @@ public class OrderDetailDto implements Comparable<OrderDetailDto> {
 	private String authNotarization;
 	private String authNote;
 	private Map<String, String> fileMap;
-
-	@Override
-	public int compareTo(OrderDetailDto o) {
-		return Integer.parseInt(this.orderBy) - Integer.parseInt(o.getOrderBy());
-
-	}
-
+	private Integer jointFlag;
+	private String spouseIdCard;
+	private String spouseName;
+	private String spousePhone;
+	private String spouseIdcardFrontPic;
+	private String spouseIdcardFrontPicUrl;
+	private String spouseIdcardBackPic;
+	private String spouseIdcardBackPicUrl;
+	private String notarizedIdcard;
 }

+ 0 - 81
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderDto.java

@@ -1,81 +0,0 @@
-package me.zhengjie.application.bank.controller.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-@ToString
-@Getter
-@Setter
-public class OrderDto {
-	/**
-	 * 身份证号码
-	 */
-	private String idCard;
-	/**
-	 * 姓名
-	 */
-	private String username;
-	/**
-	 * 手机号
-	 */
-	private String phone;
-	// 订单
-	private String orderId;
-	/**
-	 * 主键id
-	 */
-	private Integer id;
-
-	/**
-	 * 业务编号
-	 */
-	private String businessNo;
-
-	/**
-	 * 借款合同编号
-	 */
-	private String contractNo;
-	/**
-	 * 借款起始日:
-	 */
-
-	private String startDate;
-
-	/**
-	 * 借款终止日
-	 */
-
-	private String endDate;
-	/**
-	 * 借款金额
-	 */
-	private String sumMoney;
-	// leix
-	private String type;
-	
-	// 性别
-	private String sex;
-	//生日
-	private String birth;
-	//房屋位置
-	private String residence;
-	//利率
-	private String rate;
-	//'房屋产权编号',
-	private String	housePropertyNo  ;
-	//'房屋位置'
-	private String houseLocation ;
-	//创建人
-	private int createBy;
-	// 退回原因
-	private String returnReason;
-
-	private String notaryUserId;
-	// 驳回原因
-	private String rejectReason;
-	// 主订单状态
-	private String status;
-	//子订单状态
-	private String subStatus;
-}

+ 0 - 25
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/OrderVo.java

@@ -1,25 +0,0 @@
-package me.zhengjie.application.bank.controller.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-@ToString
-@Getter
-@Setter
-public class OrderVo {
-
-	// 姓名不能为空
-	private String userName;
-	// 手机号
-	private String phone;
-	// 身份证号不能为空
-	private String idCode;
-	// 1.待公证 2待审核 3已签发 4已驳回
-	private String status;
-	//业务流水
-	private String businessNo;
-	//合同编号
-	private String contractNo;
-
-}

+ 69 - 72
eladmin-system/src/main/java/me/zhengjie/application/bank/mq/RedisReceiver.java

@@ -2,25 +2,22 @@ package me.zhengjie.application.bank.mq;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.dao.mybatis.entity.*;
-import me.zhengjie.dao.mybatis.mapper.ICityDao;
-import me.zhengjie.dao.mybatis.mapper.IProvinceDao;
+import lombok.RequiredArgsConstructor;
 import me.zhengjie.application.bank.service.impl.NotaryNoteServiceImpl;
 import me.zhengjie.base.util.DateUtils;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.StatusEnum.SexStatusEnum;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
+import me.zhengjie.base.util.TextTempletUtil;
+import me.zhengjie.dao.mybatis.ModelRepository;
+import me.zhengjie.dao.mybatis.OrderFileRepository;
+import me.zhengjie.dao.mybatis.OrderRepository;
+import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.mapper.ICityDao;
+import me.zhengjie.dao.mybatis.mapper.IProvinceDao;
 import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOrderMapper;
 import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
-import me.zhengjie.base.util.TextTempletUtil;
-import me.zhengjie.application.bank.service.ModelService;
-import me.zhengjie.application.bank.service.SysUserService;
-import me.zhengjie.application.user.service.ApiService;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.connection.Message;
 import org.springframework.data.redis.connection.MessageListener;
 import org.springframework.stereotype.Component;
@@ -28,26 +25,21 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @Component
+@RequiredArgsConstructor
 public class RedisReceiver implements MessageListener {
-	@Autowired
-	ModelService modelService;
-	@Autowired
-	ApiService apiService;
-	@Autowired
-	SysUserService sysUserService;
-	@Autowired
-	NotaryOfficeMapper notaryOfficeMapper;
-	@Autowired
-	NotaryOrderMapper notaryOrderMapper;
-	@Autowired
-	IProvinceDao provinceDao;
-	@Autowired
-	ICityDao cityDao;
-	@Autowired
-	OrderFileMapper orderFileMapper;
+	private final NotaryOfficeMapper notaryOfficeMapper;
+	private final IProvinceDao provinceDao;
+	private final ICityDao cityDao;
+	private final OrderFileMapper orderFileMapper;
+	private final OrderRepository orderRepository;
+	private final ModelRepository modelRepository;
+	private final OrderFileRepository orderFileRepository;
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -57,43 +49,27 @@ public class RedisReceiver implements MessageListener {
 			JSONObject jsonObject = JSONObject.parseObject(text);
 			String userId = jsonObject.getString("userId");
 			String businessNo = jsonObject.getString("businessNo");
-			OrderVo orderVo = new OrderVo();
-			orderVo.setBusinessNo(businessNo);
-			List<OrderDto> orders = apiService.getOrderByContion(orderVo);
 			//
-			QueryWrapper<NotaryOrderEntity> orderEntityQw = new QueryWrapper<>();
-			orderEntityQw.eq("business_no", businessNo);
-			NotaryOrderEntity orderEntity = notaryOrderMapper.selectOne(orderEntityQw);
-			QueryWrapper<ModelEntity> model = new QueryWrapper<ModelEntity>();
-			List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
-			model.eq("notary_office_id", orderEntity.getNotaryOfficeId());
-			model.eq("status", 1);
-			model.in("code", list);
-			List<ModelEntity> models = modelService.list(model);
-
-			for (OrderDto order : orders) {
-				// 在保存之前先删除数据
-				QueryWrapper<OrderFileEntity> qw = new QueryWrapper<>();
-				qw.eq("contract_id", order.getOrderId());
-				orderFileMapper.delete(qw);
+			OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
+			List<ModelEntity> models = modelRepository.getCommonModel(orderEntity.getProdId(), orderEntity.getNotaryOfficeId());
+			// 在保存之前先删除数据
+			orderFileRepository.delFileWithBizNO(businessNo);
+			for (ModelEntity m : models) {
+				OrderFileEntity fileEntity = new OrderFileEntity();
+				fileEntity.setBusinessNo(businessNo);
+				fileEntity.setCode(m.getCode());
+				fileEntity.setSortNum(m.getSort());
+				String html = replaceFlag(m.getContent(), orderEntity);
+				String htmlPath = FileUploadUtil.saveHtml(html, businessNo);
+				String pdfPath = FileUploadUtil.savePdf(html, businessNo);
+				fileEntity.setHtmlUrl(htmlPath);
+				fileEntity.setPdfUrl(pdfPath);
+				fileEntity.setCreateTime(new Date());
+				fileEntity.setCreatorId(Long.parseLong(userId));
+				fileEntity.setFileName(m.getTitle());
+				fileEntity.setProdId(m.getProductType());
 				//
-				for (ModelEntity m : models) {
-					OrderFileEntity fileEntity = new OrderFileEntity();
-					fileEntity.setBusinessNo(order.getBusinessNo());
-					fileEntity.setContractId(order.getOrderId());
-					fileEntity.setCode(m.getCode());
-					fileEntity.setSortNum(m.getSort());
-					String html = replaceFlag(m.getContent(), order, orderEntity);
-					String htmlPath = FileUploadUtil.saveHtml(html, order.getBusinessNo(), order.getOrderId());
-					String pdfPath = FileUploadUtil.savePdf(html, order.getBusinessNo(), order.getOrderId());
-					fileEntity.setHtmlUrl(htmlPath);
-					fileEntity.setPdfUrl(pdfPath);
-					fileEntity.setCreateTime(new Date());
-					fileEntity.setCreatorId(Long.parseLong(userId));
-					fileEntity.setFileName(m.getTitle());
-					//
-					orderFileMapper.insert(fileEntity);
-				}
+				orderFileMapper.insert(fileEntity);
 			}
 		}
 	}
@@ -101,21 +77,42 @@ public class RedisReceiver implements MessageListener {
 	/**
 	 * 替换文本标记
 	 * @param content
-	 * @param order
+	 * @param orderEntity
 	 * @return
 	 */
-	private String replaceFlag(String content, OrderDto order, NotaryOrderEntity orderEntity) {
+	private String replaceFlag(String content, OrderEntity orderEntity) {
 		Map<String, String> map = new HashMap<>();
 		map.put("$Date$", DateUtils.date2String(new Date(), 1));
-		//
-		map.put("$Name$", order.getUsername());
-		map.put("$Sex$", SexStatusEnum.getValue(order.getSex()));
-		map.put("$Birthdday$", order.getBirth());
-		map.put("$HomeAddr$", order.getResidence());
-		map.put("$IDNo$", order.getIdCard());
-		map.put("$Phone$", order.getPhone());
 		map.put("$Bank$", orderEntity.getBankName());
 		//
+		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(orderEntity.getBusinessNo());
+		if (borrower != null) {
+			map.put("$LoanName$", borrower.getUsername());
+			map.put("$LoanSex$", SexStatusEnum.getValue(borrower.getSex()));
+			map.put("$LoanBirthdday$", borrower.getBirth());
+			map.put("$LoanHomeAddr$", borrower.getResidence());
+			map.put("$LoanIDNo$", borrower.getIdCard());
+			map.put("$LoanPhone$", borrower.getPhone());
+		}
+		MortgageEntity mortgage = orderRepository.getMortgageByBizNo(orderEntity.getBusinessNo());
+		if (mortgage != null) {
+			map.put("$MortgageName$", mortgage.getUsername());
+			map.put("$MortgageSex$", SexStatusEnum.getValue(mortgage.getSex()));
+			map.put("$MortgageBirthdday$", mortgage.getBirth());
+			map.put("$MortgageHomeAddr$", mortgage.getResidence());
+			map.put("$MortgageIDNo$", mortgage.getIdCard());
+			map.put("$MortgagePhone$", mortgage.getPhone());
+		}
+		GuaranteeEntity guarantee = orderRepository.getGuaranteeByBizNo(orderEntity.getBusinessNo());
+		if (guarantee != null) {
+			map.put("$GuaranteeName$", guarantee.getUsername());
+			map.put("$GuaranteeSex$", SexStatusEnum.getValue(guarantee.getSex()));
+			map.put("$GuaranteeBirthdday$", guarantee.getBirth());
+			map.put("$GuaranteeHomeAddr$", guarantee.getResidence());
+			map.put("$GuaranteeIDNo$", guarantee.getIdCard());
+			map.put("$GuaranteePhone$", guarantee.getPhone());
+		}
+		//
 		NotaryOfficeEntity office = notaryOfficeMapper.selectById(orderEntity.getNotaryOfficeId());
 		String[] areas = office.getAreaCodesStr().split(",");
 		QueryWrapper<ProvinceEntity> provinceQW = new QueryWrapper<>();

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

@@ -1,8 +1,8 @@
 package me.zhengjie.application.bank.service;
 
 
-import me.zhengjie.application.bank.controller.vo.OrderDto;
 import me.zhengjie.application.bank.controller.vo.BankLoginVo;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.base.ResponseDTO;
 
 /**
@@ -15,9 +15,9 @@ public interface ApiBankService {
 
 	ResponseDTO<String> login(BankLoginVo sms);
 	
-	public OrderDto getOrderDetail(String orderId);
+	public BankOrderVO getOrderDetail(String orderId);
 	
 	public ResponseDTO<?> videoCall(String json) ;
 	
-	public ResponseDTO<?> getOrderPDF(String orderId) ;
+	public ResponseDTO<?> getOrderPDF(String businessNo,String prodId) ;
 }

+ 18 - 22
eladmin-system/src/main/java/me/zhengjie/application/bank/service/BorrowerService.java

@@ -1,15 +1,9 @@
 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.application.bank.controller.vo.OrderDto;
-import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
-import me.zhengjie.dao.mybatis.entity.OrderEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.plus.AbstractService;
-import me.zhengjie.application.bank.controller.vo.BorrowerVo;
 
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -20,19 +14,21 @@ import java.util.Map;
  * @author humuyu
  * @since 2022-03-21
  */
-public interface BorrowerService extends AbstractService<BorrowerEntity> {
-
-	AppBaseResponse saveBorrowerOrder(BorrowerVo vo, SysUserEntity entity);
-
-	List<OrderDetailDto> getBorrower(String businessNo);
-
-	List<BorrowerEntity> getBorrowerByCondition();
-
-	public BorrowerEntity getMainBorrower(BorrowerEntity entity);
-
-	public AppBaseResponse<OrderDetailDto> borrowerInfo(Map<String,String> map);
-
-	List<OrderEntity> getOrderList(String contractNo,String phone,String status, Integer pageIndex, Integer pageSize);
-
-	List<OrderDto> getSubOrderList(String businessNo,String status, Integer pageIndex, Integer pageSize);
+public interface BorrowerService {
+
+	/**
+	 * 新建/修改借款订单
+	 *
+	 * @param vo
+	 * @param entity
+	 */
+	void saveBorrower(BorrowerVo vo, SysUserEntity entity);
+
+	/**
+	 * 查询借款订单信息
+	 *
+	 * @param map
+	 * @return
+	 */
+	OrderDetailDto borrowerInfo(Map<String, String> map);
 }

+ 11 - 9
eladmin-system/src/main/java/me/zhengjie/application/bank/service/GuaranteeService.java

@@ -1,13 +1,10 @@
 package me.zhengjie.application.bank.service;
 
-import java.util.Map;
-
+import me.zhengjie.application.bank.controller.vo.GuaranteeVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.plus.AbstractService;
-import me.zhengjie.application.bank.controller.vo.GuaranteeVo;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -17,13 +14,18 @@ import me.zhengjie.application.bank.controller.vo.GuaranteeVo;
  * @author humuyu
  * @since 2022-03-25
  */
-public interface GuaranteeService extends AbstractService<GuaranteeEntity> {
-	public AppBaseResponse<OrderDetailDto> guaranteeInfo(Map<String, String> map);
+public interface GuaranteeService {
+	/**
+	 * 获取担保订单信息
+	 * @param map
+	 * @return
+	 */
+	OrderDetailDto guaranteeInfo(Map<String, String> map);
 
 	/**
 	 * 创建/修改担保订单
 	 * @param vo
 	 * @param userEntity
 	 */
-	public void saveGuarantee(GuaranteeVo vo, SysUserEntity userEntity);
+	void saveGuarantee(GuaranteeVo vo, SysUserEntity userEntity);
 }

+ 6 - 9
eladmin-system/src/main/java/me/zhengjie/application/bank/service/MortgageService.java

@@ -1,13 +1,10 @@
 package me.zhengjie.application.bank.service;
 
-import java.util.Map;
-
+import me.zhengjie.application.bank.controller.vo.MortgageVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.dao.mybatis.entity.MortgageEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.plus.AbstractService;
-import me.zhengjie.application.bank.controller.vo.MortgageVo;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -17,13 +14,13 @@ import me.zhengjie.application.bank.controller.vo.MortgageVo;
  * @author humuyu
  * @since 2022-03-22
  */
-public interface MortgageService extends AbstractService<MortgageEntity> {
-	public AppBaseResponse<OrderDetailDto> mortgageInfo(Map<String, String> map);
+public interface MortgageService {
+	OrderDetailDto mortgageInfo(Map<String, String> map);
 
 	/**
 	 * 创建/修改抵押订单
 	 * @param vo
 	 * @param userEntity
 	 */
-	public void saveMortgage(MortgageVo vo, SysUserEntity userEntity);
+	void saveMortgage(MortgageVo vo, SysUserEntity userEntity);
 }

+ 21 - 30
eladmin-system/src/main/java/me/zhengjie/application/bank/service/OrderService.java

@@ -1,19 +1,10 @@
 package me.zhengjie.application.bank.service;
 
-import me.zhengjie.application.bank.controller.vo.Order;
-import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
+import com.baomidou.mybatisplus.extension.service.IService;
+import me.zhengjie.application.bank.controller.vo.*;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.ResponseDTO;
-import me.zhengjie.application.bank.controller.vo.Sms;
-import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
-import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
-import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.dao.mybatis.entity.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -27,35 +18,35 @@ import java.util.Map;
  * @author humuyu
  * @since 2022-03-10
  */
-public interface OrderService extends IService<NotaryOrderEntity> {
+public interface OrderService {
 
 	int checkOrder(Sms sms);
 
-	List<Order> getOrderList(Order order);
+	List<BankOrderVO> getOrderList(String contractNo, String phone, String status, Integer pageIndex, Integer pageSize);
+
+	AppBaseResponse saveOrder(BorrowerVo vo, BorrowerEntity borrower, SysUserEntity entity);
+
+	ResponseDTO<String> submitOrder(String businessNo, SysUserEntity currentUser);
+
+	BankOrderVO getOrderById(String businessNo);
 
-	Integer getOrderAccountIdById(Integer id);
+	boolean sameBorrowerMortgage(String orderId, String type);
 
-	AppBaseResponse saveOrder(BorrowerEntity borrower, SysUserEntity entity);
+	void updateStatus(String businessNo, String status, String message);
 
-	AppBaseResponse submitOrder(String businessNo, SysUserEntity currentUser);
+	OrderDetailDto getOrderDetail(OrderDetailDto orderDetail);
 
-	public OrderDto getOrderById(String id);
+	void updateOrderStatus(String orderId);
 
-	public boolean sameBorrowerMortgage(String orderId, String type);
+	Object parseOrder(String orderType, MultipartFile file, SysUserEntity user);
 
-	public MortgageEntity getMortgageEntity(MortgageEntity entity);
+	ResponseDTO<?> videoCall(String json);
 
-	public void updateStatus(String businessNo, String status, String message);
+	List<BankOrderVO> getOrderByContion(BankOrderVO user);
 
-	public OrderDetailDto getOrderDetail(OrderDetailDto orderDetail);
+	Map<String, FileInfoEntity> getUploadFile(String businessNo);
 
-	public void updateOrderStatus(String orderId) ;
+	List<BankOrderVO> getSubOrderList(String businessNo, String status, Integer pageIndex, Integer pageSize);
 
-	public Object parseOrder(String orderType, MultipartFile file, SysUserEntity user);
-	
-	public ResponseDTO<?> videoCall(String json) ;
-	
-	public List<OrderDto> getOrderByContion(OrderVo user);
-	
-	public Map<String, FileInfoEntity>  getUploadFile(String businessNo);
+	Map<String, Long> countSubOrder(String businessNO);
 }

+ 7 - 6
eladmin-system/src/main/java/me/zhengjie/application/bank/service/UserAXQInfoService.java

@@ -1,18 +1,19 @@
 package me.zhengjie.application.bank.service;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.service.IService;
 import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
 import me.zhengjie.base.ResponseDTO;
 
-public interface UserAXQInfoService extends IService<UserAXQInfoEntity> {
+public interface UserAXQInfoService {
 
-    public ResponseDTO<?> registAXQUser(String idCard, String phone, String name);
+    ResponseDTO<?> registAXQUser(String idCard, String phone, String name);
 
-    public ResponseDTO<?> uploadSeal(String idCard, String contractId, String signImgUrl);
+    ResponseDTO<?> uploadSeal(String businessNo, JSONArray jsonArray);
 
-    public ResponseDTO<?> sendAuthMessage(String idCard);
+    ResponseDTO<?> sendAuthMessage(String idCard);
 
-    public ResponseDTO<?> verifyAuthMessage(String idCard, String checkCode);
+    ResponseDTO<?> verifyAuthMessage(String idCard, String checkCode);
 
-    public ResponseDTO<?> getAuthStatus(String idCard);
+    ResponseDTO<?> getAuthStatus(String idCard);
 }

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

@@ -1,27 +1,25 @@
 package me.zhengjie.application.bank.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import me.zhengjie.security.security.TokenProvider;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.alibaba.fastjson.JSONObject;
-
 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.controller.vo.OrderDto;
-import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.service.ApiBankService;
 import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.application.bank.service.SysUserService;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.application.bank.controller.vo.BankLoginVo;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.security.security.TokenProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 银行app端登录
@@ -54,7 +52,7 @@ public class ApiBankServiceImpl implements ApiBankService {
 		return ResponseDTO.error(ResultCode.USER_LOGIN_ERROR);
 	}
 	@Override
-	public OrderDto getOrderDetail(String orderId) {
+	public BankOrderVO getOrderDetail(String orderId) {
 		// 判断id的前两位数据看是那个表的
 		return orderService.getOrderById(orderId);
 	}
@@ -62,8 +60,8 @@ public class ApiBankServiceImpl implements ApiBankService {
 		return orderService.videoCall(json);
 	}
 	@Override
-	public ResponseDTO<?> getOrderPDF(String orderId) {
-		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListByCodes(orderId, "1,2,3,4,5".split(","));
+	public ResponseDTO<?> getOrderPDF(String businessNo, String prodId) {
+		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListWithCodes(prodId, businessNo, "1,2,3,4,5".split(","));
 		List<FileInfoDto> infos = new ArrayList<>();
 		for (OrderFileEntity orderFile : orderFileList) {
 			FileInfoDto info = new FileInfoDto();

+ 31 - 194
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BorrowerServiceImpl.java

@@ -1,32 +1,25 @@
 package me.zhengjie.application.bank.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.application.bank.controller.vo.BorrowerVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.service.*;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.AppResultData;
-import me.zhengjie.dao.mybatis.mapper.BorrowerMapper;
-import me.zhengjie.dao.mybatis.mapper.IOrderDao;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
-import me.zhengjie.base.plus.AbstractServiceImpl;
-import me.zhengjie.base.plus.QueryWrapperUtil;
+import me.zhengjie.application.bank.service.BorrowerService;
+import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.base.util.BeanCopyUtils;
 import me.zhengjie.base.util.DateFormatUtils;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.StatusEnum;
-import me.zhengjie.application.bank.controller.vo.BorrowerVo;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
-import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
+import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.dao.mybatis.mapper.*;
 import me.zhengjie.utils.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
 import java.util.Date;
-import java.util.List;
 import java.util.Map;
 
 
@@ -39,29 +32,17 @@ import java.util.Map;
  * @since 2022-03-21
  */
 @Service
-public class BorrowerServiceImpl extends AbstractServiceImpl<BorrowerMapper, BorrowerEntity> implements BorrowerService {
+@RequiredArgsConstructor
+public class BorrowerServiceImpl implements BorrowerService {
 
-    @Autowired
-    FileInfoService fileInfoService;
-    @Autowired
-    OrderService orderService;
-    @Autowired
-    private OrderFileRepository orderFileRepository;
-    @Autowired
-    ISysUserDao userDao;
-    @Autowired
-    IOrderDao orderDaol;
-    @Autowired
-    BorrowerService borrowerService;
-    @Autowired
-    private MortgageService mortgageService;
-    @Autowired
-    private GuaranteeService guaranteeService;
+    private final OrderService orderService;
+    private final BorrowerMapper borrowerMapper;
+    private final OrderFileRepository orderFileRepository;
+    private final SysUserMapper userMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public AppBaseResponse saveBorrowerOrder(BorrowerVo vo, SysUserEntity userEntity) {
-        AppBaseResponse response = new AppBaseResponse();
+    public void saveBorrower(BorrowerVo vo, SysUserEntity userEntity) {
         BorrowerEntity entity = BeanCopyUtils.convertObj(vo, BorrowerEntity.class);
         entity.setUpdater(String.valueOf(userEntity.getUserId()));
         entity.setStartDate(DateFormatUtils.defaultFormat(entity.getStartDate()));
@@ -70,31 +51,29 @@ public class BorrowerServiceImpl extends AbstractServiceImpl<BorrowerMapper, Bor
         //
         QueryWrapper<BorrowerEntity> borrowQw = new QueryWrapper<>();
         borrowQw.eq("business_no", vo.getBusinessNo());
-        BorrowerEntity borrower = borrowerService.getOne(borrowQw);
-        if (borrower == null){
+        BorrowerEntity borrower = borrowerMapper.selectOne(borrowQw);
+        if (borrower == null) {
             entity.setId(Long.valueOf("10" + new Date().getTime()));
             entity.setCreator(String.valueOf(userEntity.getUserId()));
-            save(entity);
+            borrowerMapper.insert(entity);
         } else {
             entity.setId(borrower.getId());
-            updateById(entity);
+            borrowerMapper.updateById(entity);
         }
         // 创建主订单
-        orderService.saveOrder(entity, userEntity);
-        return response;
+        orderService.saveOrder(vo, entity, userEntity);
     }
 
-    public AppBaseResponse<OrderDetailDto> borrowerInfo(Map<String,String> map) {
+    public OrderDetailDto borrowerInfo(Map<String, String> map) {
 
-		AppBaseResponse<OrderDetailDto> response = new AppBaseResponse<>();
-		BorrowerEntity borrowers = this.getById(map.get("id"));
-		if (borrowers == null) {
-			return response;
-		}
-		OrderDetailDto order = BeanCopyUtils.convertObj(borrowers, OrderDetailDto.class);
-		order = orderService.getOrderDetail(order);
-        OrderFileEntity notarization = orderFileRepository.getOrderNotarization(String.valueOf(borrowers.getId()));
-        OrderFileEntity note = orderFileRepository.getOrderNote(String.valueOf(borrowers.getId()));
+        BorrowerEntity borrowers = borrowerMapper.selectById(map.get("id"));
+        if (borrowers == null) {
+            return null;
+        }
+        OrderDetailDto order = BeanCopyUtils.convertObj(borrowers, OrderDetailDto.class);
+        order = orderService.getOrderDetail(order);
+        OrderFileEntity notarization = orderFileRepository.getOrderNotarization(order.getProdId(),String.valueOf(borrowers.getBusinessNo()));
+        OrderFileEntity note = orderFileRepository.getOrderNote(String.valueOf(borrowers.getBusinessNo()),order.getProdId());
         if (notarization != null) {
             order.setNotarizationNo(notarization.getDocNo());
             order.setNotarizaitonSignTime(notarization.getAxqSignedTime());
@@ -104,152 +83,10 @@ public class BorrowerServiceImpl extends AbstractServiceImpl<BorrowerMapper, Bor
             order.setAuthNote(FileUploadUtil.getPreviewUrl(note.getSignedPdfUrl()));
         }
         if (!StringUtils.isEmpty(borrowers.getNotaryUserId())) {
-            SysUserEntity user = userDao.selectById(borrowers.getNotaryUserId());
+            SysUserEntity user = userMapper.selectById(borrowers.getNotaryUserId());
             order.setNotaryUserName(user.getNickName());
             order.setNotaryFee(200);
         }
-		response.setData(new AppResultData<OrderDetailDto>(order));
-		return response;
-	}
-
-    @Override
-    public List<OrderEntity> getOrderList(String contractNo,String phone, String status, Integer pageIndex, Integer pageSize) {
-        QueryWrapper<SysUserEntity> qw = new QueryWrapper<>();
-        qw.eq("phone", phone);
-        SysUserEntity user = userDao.selectOne(qw);
-        List<OrderEntity> list=new ArrayList<>();
-        if (user != null) {
-            QueryWrapper<OrderEntity> orderEntityQueryWrapper = new QueryWrapper<>();
-			orderEntityQueryWrapper.eq("customer_id", user.getUserId());
-			orderEntityQueryWrapper.eq("status",status);
-			orderEntityQueryWrapper.like(!ObjectUtils.isEmpty(contractNo), "contract_no", contractNo);
-            List<OrderEntity> orderEntities = orderDaol.selectList(orderEntityQueryWrapper);
-            list.addAll(orderEntities);
-        }
-        return list;
-    }
-
-    @Override
-    public List<OrderDto> getSubOrderList(String businessNo,String status, Integer pageIndex, Integer pageSize) {
-        QueryWrapper<BorrowerEntity> qw = new QueryWrapper<>();
-        qw.eq("business_no", businessNo);
-        List<BorrowerEntity> borrowers = borrowerService.list(qw);
-
-        // 查询主订单,如果状态是4开会查询
-        NotaryOrderEntity orderEntity = null;
-        if ("4".equals(status)) {
-            QueryWrapper<NotaryOrderEntity> notaryOrder = new QueryWrapper<>();
-            notaryOrder.eq("business_no", businessNo);
-            notaryOrder.eq("status", 4);
-            orderEntity = orderService.getOne(notaryOrder);
-        }
-        //查询主订单状态
-        QueryWrapper<NotaryOrderEntity> statusOrder = new QueryWrapper<>();
-        statusOrder.eq("business_no", businessNo);
-       
-        NotaryOrderEntity orderStatus = orderService.getOne(statusOrder);
-        
-        List<OrderDto> list = new ArrayList<OrderDto>();
-        for (BorrowerEntity b : borrowers) {
-            OrderDto dto = new OrderDto();
-            dto.setUsername(b.getUsername());
-            dto.setIdCard(b.getIdCard());
-            dto.setSumMoney(b.getSumMoney());
-            dto.setPhone(b.getPhone());
-            dto.setOrderId(b.getId().toString());
-            dto.setStartDate(b.getStartDate());
-            dto.setEndDate(b.getEndDate());
-            dto.setContractNo(b.getContractNo());
-            dto.setSex(b.getSex());
-            dto.setBusinessNo(businessNo);
-            dto.setBirth(b.getBirth());
-            dto.setResidence(b.getResidence());
-            dto.setRate(b.getRate());
-            dto.setType("1");
-            dto.setStatus(orderStatus.getStatus());
-            //子订单
-            dto.setSubStatus(b.getStatus());
-            if (orderEntity != null) {
-                dto.setReturnReason(orderEntity.getReturnReason());
-            }
-            list.add(dto);
-        }
-
-        MortgageEntity mortgage = new MortgageEntity();
-        mortgage.setBusinessNo(businessNo);
-        QueryWrapper<MortgageEntity> mortgageWrapper = QueryWrapperUtil.convertQuery(mortgage);
-
-        List<MortgageEntity> mortgages = mortgageService.list(mortgageWrapper);
-
-        for (MortgageEntity b : mortgages) {
-            OrderDto dto = new OrderDto();
-            dto.setUsername(b.getUsername());
-            dto.setIdCard(b.getIdCard());
-            dto.setPhone(b.getPhone());
-            dto.setOrderId(b.getId().toString());
-            dto.setStartDate(b.getStartDate());
-            dto.setEndDate(b.getEndDate());
-            dto.setContractNo(b.getContractNo());
-            dto.setSex(b.getSex());
-            dto.setBusinessNo(businessNo);
-            dto.setBirth(b.getBirth());
-            dto.setResidence(b.getResidence());
-            dto.setHouseLocation(b.getHouseLocation());
-            dto.setHousePropertyNo(b.getHousePropertyNo());
-            dto.setType("2");
-            dto.setStatus(orderStatus.getStatus());
-            dto.setSubStatus(b.getStatus());
-            if (orderEntity != null) {
-                dto.setReturnReason(orderEntity.getReturnReason());
-            }
-            list.add(dto);
-        }
-        GuaranteeEntity guarantee = new GuaranteeEntity();
-        guarantee.setBusinessNo(businessNo);
-        QueryWrapper<GuaranteeEntity> guaranteeWrapper = QueryWrapperUtil.convertQuery(guarantee);
-
-        List<GuaranteeEntity> guarantees = guaranteeService.list(guaranteeWrapper);
-
-        for (GuaranteeEntity b : guarantees) {
-            OrderDto dto = new OrderDto();
-            dto.setUsername(b.getUsername());
-            dto.setIdCard(b.getIdCard());
-            dto.setPhone(b.getPhone());
-            dto.setOrderId(b.getId().toString());
-            dto.setStartDate(b.getStartDate());
-            dto.setEndDate(b.getEndDate());
-            dto.setContractNo(b.getContractNo());
-            dto.setSex(b.getSex());
-            dto.setBirth(b.getBirth());
-            dto.setBusinessNo(businessNo);
-            dto.setResidence(b.getResidence());
-            dto.setType("3");
-            dto.setStatus(orderStatus.getStatus());
-            //子订单状态
-            dto.setSubStatus(b.getStatus());
-            if (orderEntity != null) {
-                dto.setReturnReason(orderEntity.getReturnReason());
-            }
-            list.add(dto);
-        }
-        return list;
-    }
-
-    public BorrowerEntity getMainBorrower(BorrowerEntity entity) {
-
-        BorrowerEntity borrowerEntity = this.getOne(entity);
-        return borrowerEntity;
+        return order;
     }
-
-	@Override
-	public List<BorrowerEntity> getBorrowerByCondition() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public List<OrderDetailDto> getBorrower(String businessNo) {
-		// TODO Auto-generated method stub
-		return null;
-	}
 }

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

@@ -14,7 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 
 import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
-import me.zhengjie.dao.mybatis.mapper.IFileInfoDao;
+import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
 import me.zhengjie.application.bank.service.FileInfoService;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.SysUtil;
@@ -30,7 +30,7 @@ import me.zhengjie.application.bank.controller.vo.ImageUploadVo;
  * @since 2022-03-10
  */
 @Service
-public class FileInfoServiceImpl extends ServiceImpl<IFileInfoDao, FileInfoEntity> implements FileInfoService {
+public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfoEntity> implements FileInfoService {
 
 	@Override
 	public JSONObject saveCard(ImageUploadVo image, String filePath) {

+ 17 - 26
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/GuaranteeServiceImpl.java

@@ -2,14 +2,12 @@ package me.zhengjie.application.bank.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.RequiredArgsConstructor;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
 import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.AppResultData;
 import me.zhengjie.dao.mybatis.mapper.GuaranteeMapper;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
-import me.zhengjie.base.plus.AbstractServiceImpl;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.application.bank.service.GuaranteeService;
 import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.base.util.BeanCopyUtils;
@@ -20,7 +18,6 @@ import me.zhengjie.application.bank.controller.vo.GuaranteeVo;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
 import me.zhengjie.utils.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -35,28 +32,23 @@ import java.util.Map;
  * @since 2022-03-25
  */
 @Service
-public class GuaranteeServiceImpl extends AbstractServiceImpl<GuaranteeMapper, GuaranteeEntity> implements GuaranteeService {
-	@Autowired
-	OrderService orderService;
-	@Autowired
-	private OrderFileRepository orderFileRepository;
-	@Autowired
-	ISysUserDao userDao;
-	@Autowired
-	GuaranteeService guaranteeService;
+@RequiredArgsConstructor
+public class GuaranteeServiceImpl implements GuaranteeService {
+	private final OrderService orderService;
+	private final OrderFileRepository orderFileRepository;
+	private final SysUserMapper userDao;
+	private final GuaranteeMapper guaranteeMapper;
 
-	public AppBaseResponse<OrderDetailDto> guaranteeInfo(Map<String,String> map) {
-
-		AppBaseResponse<OrderDetailDto> response = new AppBaseResponse<>();
-		GuaranteeEntity entity = this.getById(map.get("id"));
+	public OrderDetailDto guaranteeInfo(Map<String,String> map) {
+		GuaranteeEntity entity = guaranteeMapper.selectById(map.get("id"));
 		if (entity == null) {
-			return response;
+			return null;
 		}
 		OrderDetailDto order = BeanCopyUtils.convertObj(entity, OrderDetailDto.class);
 		order = orderService.getOrderDetail(order);
 
-		OrderFileEntity notarization = orderFileRepository.getOrderNotarization(String.valueOf(entity.getId()));
-		OrderFileEntity note = orderFileRepository.getOrderNote(String.valueOf(entity.getId()));
+		OrderFileEntity notarization = orderFileRepository.getOrderNotarization(order.getProdId(),String.valueOf(entity.getBusinessNo()));
+		OrderFileEntity note = orderFileRepository.getOrderNote(String.valueOf(entity.getBusinessNo()),order.getProdId());
 		if (notarization != null) {
 			order.setNotarizationNo(notarization.getDocNo());
 			order.setNotarizaitonSignTime(notarization.getAxqSignedTime());
@@ -70,8 +62,7 @@ public class GuaranteeServiceImpl extends AbstractServiceImpl<GuaranteeMapper, G
 			order.setNotaryUserName(user.getNickName());
 			order.setNotaryFee(200);
 		}
-		response.setData(new AppResultData<OrderDetailDto>(order));
-		return response;
+		return order;
 	}
 
 	/**
@@ -91,14 +82,14 @@ public class GuaranteeServiceImpl extends AbstractServiceImpl<GuaranteeMapper, G
 		//
 		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
 		guaranteeQw.eq("business_no", vo.getBusinessNo());
-		GuaranteeEntity guarantee = guaranteeService.getOne(guaranteeQw);
+		GuaranteeEntity guarantee = guaranteeMapper.selectOne(guaranteeQw);
 		if (guarantee == null){
 			entity.setId(Long.valueOf("12" + new Date().getTime()));
 			entity.setCreator(String.valueOf(userEntity.getUserId()));
-			save(entity);
+			guaranteeMapper.insert(entity);
 		}else{
 			entity.setId(guarantee.getId());
-			updateById(entity);
+			guaranteeMapper.updateById(entity);
 		}
 	}
 }

+ 24 - 31
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/MortgageServiceImpl.java

@@ -1,25 +1,22 @@
 package me.zhengjie.application.bank.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.application.bank.controller.vo.MortgageVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.base.AppBaseResponse;
-import me.zhengjie.base.AppResultData;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
-import me.zhengjie.base.plus.AbstractServiceImpl;
 import me.zhengjie.application.bank.service.MortgageService;
 import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.base.util.BeanCopyUtils;
 import me.zhengjie.base.util.DateFormatUtils;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.StatusEnum;
-import me.zhengjie.application.bank.controller.vo.MortgageVo;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
+import me.zhengjie.dao.mybatis.entity.MortgageEntity;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.dao.mybatis.mapper.MortgageMapper;
 import me.zhengjie.utils.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -34,27 +31,24 @@ import java.util.Map;
  * @since 2022-03-22
  */
 @Service
-public class MortgageServiceImpl extends AbstractServiceImpl<MortgageMapper, MortgageEntity> implements MortgageService {
-	@Autowired
-	OrderService orderService;
-	@Autowired
-	private OrderFileRepository orderFileRepository;
-	@Autowired
-	ISysUserDao userDao;
-	@Autowired
-	MortgageService mortgageService;
+@RequiredArgsConstructor
+public class MortgageServiceImpl implements MortgageService {
+	private final OrderService orderService;
+	private final OrderFileRepository orderFileRepository;
+	private final SysUserMapper userDao;
+	private final MortgageMapper mortgageMapper;
+
 
-	public AppBaseResponse<OrderDetailDto> mortgageInfo(Map<String, String> map) {
-		AppBaseResponse<OrderDetailDto> response = new AppBaseResponse<>();
-		MortgageEntity entity = this.getById(map.get("id"));
+	public OrderDetailDto mortgageInfo(Map<String, String> map) {
+		MortgageEntity entity = mortgageMapper.selectById(map.get("id"));
 		if (entity == null) {
-			return response;
+			return null;
 		}
 		OrderDetailDto order = BeanCopyUtils.convertObj(entity, OrderDetailDto.class);
 		order = orderService.getOrderDetail(order);
 
-		OrderFileEntity notarization = orderFileRepository.getOrderNotarization(String.valueOf(entity.getId()));
-		OrderFileEntity note = orderFileRepository.getOrderNote(String.valueOf(entity.getId()));
+		OrderFileEntity notarization = orderFileRepository.getOrderNotarization(order.getProdId(),String.valueOf(entity.getBusinessNo()));
+		OrderFileEntity note = orderFileRepository.getOrderNote(order.getProdId(),String.valueOf(entity.getBusinessNo()));
 		if (notarization != null) {
 			order.setNotarizationNo(notarization.getDocNo());
 			order.setNotarizaitonSignTime(notarization.getAxqSignedTime());
@@ -68,8 +62,7 @@ public class MortgageServiceImpl extends AbstractServiceImpl<MortgageMapper, Mor
 			order.setNotaryUserName(user.getNickName());
 			order.setNotaryFee(200);
 		}
-		response.setData(new AppResultData<OrderDetailDto>(order));
-		return response;
+		return order;
 	}
 
 	/**
@@ -77,7 +70,7 @@ public class MortgageServiceImpl extends AbstractServiceImpl<MortgageMapper, Mor
 	 * @param vo
 	 * @param userEntity
 	 */
-	public void saveMortgage(MortgageVo vo, SysUserEntity userEntity){
+	public void saveMortgage(MortgageVo vo, SysUserEntity userEntity) {
 		MortgageEntity entity = BeanCopyUtils.convertObj(vo, MortgageEntity.class);
 		String startDate = DateFormatUtils.defaultFormat(entity.getStartDate());
 		entity.setStartDate(startDate);
@@ -88,14 +81,14 @@ public class MortgageServiceImpl extends AbstractServiceImpl<MortgageMapper, Mor
 		//
 		QueryWrapper<MortgageEntity> mortgageQw = new QueryWrapper<>();
 		mortgageQw.eq("business_no", vo.getBusinessNo());
-		MortgageEntity mortgage = mortgageService.getOne(mortgageQw);
-		if(mortgage == null){
+		MortgageEntity mortgage = mortgageMapper.selectOne(mortgageQw);
+		if (mortgage == null) {
 			entity.setId(Long.valueOf("11" + new Date().getTime()));
 			entity.setCreator(String.valueOf(userEntity.getUserId()));
-			save(entity);
-		}else{
+			mortgageMapper.insert(entity);
+		} else {
 			entity.setId(mortgage.getId());
-			updateById(entity);
+			mortgageMapper.updateById(entity);
 		}
 	}
 }

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

@@ -11,6 +11,8 @@ import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.util.*;
 import me.zhengjie.dao.mybatis.ModelRepository;
+import me.zhengjie.dao.mybatis.OrderFileRepository;
+import me.zhengjie.dao.mybatis.OrderRepository;
 import me.zhengjie.dao.mybatis.entity.*;
 import me.zhengjie.dao.mybatis.mapper.*;
 import me.zhengjie.domain.order.OrderBizCodeMessage;
@@ -36,7 +38,7 @@ import java.util.*;
 @Service
 public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNoteEntity> implements NotaryNoteService {
 	@Autowired
-	NotaryOrderMapper notaryOrderMapper;
+    OrderMapper orderMapper;
 	@Autowired
 	BorrowerMapper borrowerMapper;
 	@Autowired
@@ -55,6 +57,18 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 	OrderFileMapper orderFileMapper;
 	@Autowired
 	ApplicationContextUtil contextUtil;
+	@Autowired
+	OrderRepository orderRepository;
+	@Autowired
+	BankMapper bankMapper;
+	@Autowired
+	SysUserMapper sysUserMapper;
+	@Autowired
+	IProvinceDao provinceDao;
+	@Autowired
+	ICityDao cityDao;
+	@Autowired
+	OrderFileRepository orderFileRepository;
 
 	@Override
 	public JSONObject getNotaryNoteByType(NotaryNoteVo notary) {
@@ -72,9 +86,9 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		NotaryOfficeEntity entity = notaryOfficeMapper.selectById(user.getOrgId().split("_")[1]);
 		noteValue.put("$NotaryOffice$", entity.getName());
 		// 设置主订单参数
-		QueryWrapper<NotaryOrderEntity> orderQw = new QueryWrapper<>();
+		QueryWrapper<OrderEntity> orderQw = new QueryWrapper<>();
 		orderQw.eq("business_no", notary.getBusinessNo());
-		NotaryOrderEntity orderEntity = notaryOrderMapper.selectOne(orderQw);
+		OrderEntity orderEntity = orderMapper.selectOne(orderQw);
 		noteValue.put("$Bank$", orderEntity.getBankName());
 		// 设置借款子订单参数
 		QueryWrapper<BorrowerEntity> borrowQw = new QueryWrapper<>();
@@ -86,6 +100,9 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		noteValue.put("$LoanAmount$", borrower.getSumMoney());
 		noteValue.put("$LoanTerm$", borrower.getStartDate() + "~" + borrower.getEndDate());
 		noteValue.put("$LoanRate$", borrower.getRate());
+		noteValue.put("$LoanPhone$", borrower.getPhone());
+		noteValue.put("$LoanSex$", "1".equals(borrower.getSex()) ? "男" : "女");
+		noteValue.put("$LoanHomeAddr$", borrower.getResidence());
 		try {
 			SimpleDateFormat monthformatter = new SimpleDateFormat("yyyy-MM");
 			Date beginDate = monthformatter.parse(borrower.getStartDate());
@@ -104,49 +121,27 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 			noteValue.put("$MortgagorBirthdday$", mortgage.getBirth());
 			noteValue.put("$MortgagorIDNo$", mortgage.getIdCard());
 			noteValue.put("$HouseAddr$", mortgage.getHouseLocation());
+			noteValue.put("$MortgagorPhone$", mortgage.getPhone());
+			noteValue.put("$MortgagorSex$", "1".equals(mortgage.getSex()) ? "男" : "女");
+			noteValue.put("$MortgagorHomeAddr$", mortgage.getResidence());
 		}
-
 		// 设置担保子订单参数
 		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
 		guaranteeQw.eq("business_no", notary.getBusinessNo());
 		GuaranteeEntity guarantee = guaranteeMapper.selectOne(guaranteeQw);
-		noteValue.put("$GuaranteeName$", guarantee.getUsername());
-		noteValue.put("$GuaranteeBirthdday$", guarantee.getBirth());
-		noteValue.put("$GuaranteeIDNo$", guarantee.getIdCard());
-		//
-		String typePrefix = notary.getOrderId().substring(0, 2);
-		String code = "";
-		if ("10".equals(typePrefix)) {
-			noteValue.put("$Name$", borrower.getUsername());
-			noteValue.put("$IDNo$", borrower.getIdCard());
-			noteValue.put("$Phone$", borrower.getPhone());
-			noteValue.put("$Sex$", "1".equals(borrower.getSex()) ? "男" : "女");
-			noteValue.put("$Birthdday$", borrower.getBirth());
-			noteValue.put("$HomeAddr$", borrower.getResidence());
-			code = orderService.sameBorrowerMortgage(notary.getOrderId(),
-					StatusEnum.NotaryNoteEnum.BORROWER_NOTE.name()) ? "9" : "6";
-		} else if ("11".equals(typePrefix)) {
-			noteValue.put("$Name$", mortgage.getUsername());
-			noteValue.put("$IDNo$", mortgage.getIdCard());
-			noteValue.put("$Phone$", mortgage.getPhone());
-			noteValue.put("$Sex$", "1".equals(mortgage.getSex()) ? "男" : "女");
-			noteValue.put("$Birthdday$", mortgage.getBirth());
-			noteValue.put("$HomeAddr$", mortgage.getResidence());
-			code = orderService.sameBorrowerMortgage(notary.getOrderId(),
-					StatusEnum.NotaryNoteEnum.MORTGAGOR_NOTE.name()) ? "9" : "7";
-		} else if ("12".equals(typePrefix)) {
-			noteValue.put("$Name$", guarantee.getUsername());
-			noteValue.put("$IDNo$", guarantee.getIdCard());
-			noteValue.put("$Phone$", guarantee.getPhone());
-			noteValue.put("$Sex$", "1".equals(guarantee.getSex()) ? "男" : "女");
-			noteValue.put("$Birthdday$", guarantee.getBirth());
-			noteValue.put("$HomeAddr$", guarantee.getResidence());
-			code = "8";
+		if (guarantee != null) {
+			noteValue.put("$GuaranteeName$", guarantee.getUsername());
+			noteValue.put("$GuaranteeBirthdday$", guarantee.getBirth());
+			noteValue.put("$GuaranteeIDNo$", guarantee.getIdCard());
+			noteValue.put("$GuaranteePhone$", guarantee.getPhone());
+			noteValue.put("$GuaranteeSex$", "1".equals(guarantee.getSex()) ? "男" : "女");
+			noteValue.put("$GuaranteeHomeAddr$", guarantee.getResidence());
 		}
 		// 查询问题列表
 		QueryWrapper<ModelEntity> modelQw = new QueryWrapper<>();
 		modelQw.eq("notary_office_id", entity.getId());
-		modelQw.eq("code", code);
+		modelQw.eq("product_type", notary.getProdId());
+		modelQw.eq("code", "6");
 		modelQw.eq("status", 1);
 		ModelEntity modelEntity = modelMapper.selectOne(modelQw);
 		QueryWrapper<NotaryNoteEntity> query = new QueryWrapper<>();
@@ -177,26 +172,15 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 	@Transactional(rollbackFor = Exception.class)
 	public AppBaseResponse saveNotaryNote(NotaryNoteVo notary) {
 		AppBaseResponse response = new AppBaseResponse<>();
-		String typePrefix = notary.getOrderId().substring(0, 2);
-		String code = "";
-		if ("10".equals(typePrefix)) {
-			code = orderService.sameBorrowerMortgage(notary.getOrderId(),
-					StatusEnum.NotaryNoteEnum.BORROWER_NOTE.name()) ? "9" : "6";
-		} else if ("11".equals(typePrefix)) {
-			code = orderService.sameBorrowerMortgage(notary.getOrderId(),
-					StatusEnum.NotaryNoteEnum.MORTGAGOR_NOTE.name()) ? "9" : "7";
-		} else {
-			code = "8";
-		}
 		UserDto userDto = contextUtil.getCurrentUser().getUser();
 		String notaryOfficeId = userDto.getOrgId().split("_")[1];
-		String[] codes = { code };
-		if (modelRepository.existModelInEditing(notaryOfficeId, codes)) {
+		String[] codes = {"6"};
+		if (modelRepository.existModelInEditing(notary.getProdId(),notaryOfficeId, codes)) {
 			response.fail(OrderBizCodeMessage.MODEL_IN_EDITING);
 			return response;
 		}
 		List<NotaryNoteDto> notaryNoteDtoList = notary.getNotaryNoteDtos();
-		String modelContent = readFileInString(code);
+		String modelContent = readFileInString();
 		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 		NotaryOfficeEntity officeEntity = notaryOfficeMapper.selectById(userDto.getOrgId().split("_")[1]);
 		String htmlContent = "";
@@ -206,23 +190,31 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 					.concat(noteDto.getQuestion()).concat("<br>").concat(noteDto.getAnswer()).concat("</li>");
 		}
 		htmlContent = modelContent.replace("${QuestionAnswerList}", htmlContent).replace("${yyyyMMdd}",
-				formatter.format(new Date()));
-		String htmlpath = FileUploadUtil.saveHtml(htmlContent, notary.getBusinessNo(), notary.getOrderId());
-		String pdfPath = FileUploadUtil.savePdf(htmlContent, notary.getBusinessNo(), notary.getOrderId());
+				formatter.format(new Date())).replace("${NotaryUserName}",userDto.getNickName()).replace("${QueryUsers}",getQueryUsers(notary.getBusinessNo()));
+		String htmlpath = FileUploadUtil.saveHtml(htmlContent, notary.getBusinessNo());
+		String pdfPath = FileUploadUtil.savePdf(htmlContent, notary.getBusinessNo());
 		//
-		ModelEntity modelEntity = modelRepository.getModelEntity(String.valueOf(officeEntity.getId()), code, "1");
+		ModelEntity modelEntity = modelRepository.getModelEntity(notary.getProdId(),String.valueOf(officeEntity.getId()), "6", "1");
 		OrderFileEntity orderFile = new OrderFileEntity();
 		orderFile.setBusinessNo(notary.getBusinessNo());
 		orderFile.setContractId(notary.getOrderId());
-		orderFile.setCode(code);
+		orderFile.setCode("6");
 		orderFile.setHtmlUrl(htmlpath);
 		orderFile.setPdfUrl(pdfPath);
 		orderFile.setSortNum(modelEntity.getSort());
 		orderFile.setCreateTime(new Date());
 		orderFile.setCreatorId(userDto.getId());
 		orderFile.setFileName(modelEntity.getTitle());
-		orderFileMapper.insert(orderFile);
+		orderFile.setProdId(notary.getProdId());
+		OrderFileEntity orderFileEntity = orderFileRepository.getOrderFileWithCode(notary.getProdId(), notary.getBusinessNo(), "6");
+		if (orderFileEntity == null) {
+			orderFileMapper.insert(orderFile);
+		} else {
+			orderFile.setId(orderFileEntity.getId());
+			orderFileMapper.updateById(orderFile);
+		}
 		saveNotaryUserId(notary.getBusinessNo());
+		recreateApplyDoc(notary.getBusinessNo());
 		return response;
 	}
 
@@ -241,14 +233,14 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		saveBorrower.setUpdateTime(LocalDateTime.now());
 		saveBorrower.setNotaryUserId(currentUserId);
 		borrowerMapper.updateById(saveBorrower);
-		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
-		guaranteeQw.eq("business_no", businessNo);
-		GuaranteeEntity guaranteeEntity = guaranteeMapper.selectOne(guaranteeQw);
-		GuaranteeEntity saveGuarantee = new GuaranteeEntity();
-		saveGuarantee.setId(guaranteeEntity.getId());
-		saveGuarantee.setUpdateTime(LocalDateTime.now());
-		saveGuarantee.setNotaryUserId(currentUserId);
-		guaranteeMapper.updateById(saveGuarantee);
+//		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
+//		guaranteeQw.eq("business_no", businessNo);
+//		GuaranteeEntity guaranteeEntity = guaranteeMapper.selectOne(guaranteeQw);
+//		GuaranteeEntity saveGuarantee = new GuaranteeEntity();
+//		saveGuarantee.setId(guaranteeEntity.getId());
+//		saveGuarantee.setUpdateTime(LocalDateTime.now());
+//		saveGuarantee.setNotaryUserId(currentUserId);
+//		guaranteeMapper.updateById(saveGuarantee);
 		QueryWrapper<MortgageEntity> mortgageQw = new QueryWrapper<>();
 		mortgageQw.eq("business_no", businessNo);
 		// 非空
@@ -265,11 +257,10 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 
 	/**
 	 * 读取文件内容
-	 * 
-	 * @param code
+	 *
 	 * @return
 	 */
-	private String readFileInString(String code) {
+	private String readFileInString() {
 		String result = "";
 		try {
 			InputStream inputStream = NotaryNoteServiceImpl.class.getClassLoader()
@@ -280,4 +271,162 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		}
 		return result;
 	}
+
+	/**
+	 * 拼接询问人字符串
+	 * @param businessNo
+	 * @return
+	 */
+	private String getQueryUsers(String businessNo) {
+		List<Map<String, String>> userList = new ArrayList<>();
+		OrderEntity order = orderRepository.getOrderByBizNo(businessNo);
+		BankEntity bank = bankMapper.selectById(order.getBankId());
+		String lender = "贷款人:" + bank.getBankName() + ",住所:" + bank.getAddress() + ",负责人:" + bank.getPrincipal() + "<br/>";
+		//
+		SysUserEntity user = sysUserMapper.selectById(order.getCustomerId());
+		Map<String, String> customerMap = new HashMap<>();
+		customerMap.put("title", "委托代理人");
+		customerMap.put("name", user.getNickName());
+		customerMap.put("sex", user.getGender());
+		customerMap.put("birth", user.getIdCard().substring(6, 8));
+		customerMap.put("idCard", user.getIdCard());
+		customerMap.put("phone", user.getPhone());
+		userList.add(customerMap);
+		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(businessNo);
+		Map<String, String> borrowerMap = new HashMap<>();
+		borrowerMap.put("title", "借款人");
+		borrowerMap.put("name", borrower.getUsername());
+		borrowerMap.put("sex", "1".equals(borrower.getSex()) ? "男" : "女");
+		borrowerMap.put("birth", borrower.getBirth());
+		borrowerMap.put("idCard", borrower.getIdCard());
+		borrowerMap.put("phone", borrower.getPhone());
+		userList.add(borrowerMap);
+		if (borrower.getJointFlag() == 1) {
+			borrowerMap = new HashMap<>();
+			borrowerMap.put("title", "借款人");
+			borrowerMap.put("name", borrower.getSpouseName());
+			borrowerMap.put("sex", Integer.parseInt(borrower.getSpouseIdCard().substring(15, 1)) % 2 == 1 ? "男" : "女");
+			borrowerMap.put("birth", borrower.getSpouseIdCard().substring(6, 8));
+			borrowerMap.put("idCard", borrower.getSpouseIdCard());
+			borrowerMap.put("phone", borrower.getSpousePhone());
+			userList.add(borrowerMap);
+		}
+		MortgageEntity mortgage = orderRepository.getMortgageByBizNo(businessNo);
+		if (mortgage != null) {
+			Map<String, String> mortgageMap = new HashMap<>();
+			mortgageMap.put("title", "抵押人");
+			mortgageMap.put("name", mortgage.getUsername());
+			mortgageMap.put("sex", "1".equals(mortgage.getSex()) ? "男" : "女");
+			mortgageMap.put("birth", mortgage.getBirth());
+			mortgageMap.put("idCard", mortgage.getIdCard());
+			mortgageMap.put("phone", mortgage.getPhone());
+			userList.add(mortgageMap);
+			if (mortgage.getJointFlag() == 1) {
+				mortgageMap = new HashMap<>();
+				mortgageMap.put("title", "抵押人");
+				mortgageMap.put("name", mortgage.getSpouseName());
+				mortgageMap.put("sex", Integer.parseInt(mortgage.getSpouseIdCard().substring(15, 1)) % 2 == 1 ? "男" : "女");
+				mortgageMap.put("birth", mortgage.getSpouseIdCard().substring(6, 8));
+				mortgageMap.put("idCard", mortgage.getSpouseIdCard());
+				mortgageMap.put("phone", mortgage.getSpousePhone());
+				userList.add(mortgageMap);
+			}
+		}
+		String template = "$title:$name,$sex,$birth出生,公民身份证号码:$idCard,联系电话:$phone<br/>";
+		String users = lender;
+		for (Map<String, String> map : userList) {
+			users += template.replace("$title", map.get("title")).replace("$name", map.get("name"))
+					.replace("$sex", map.get("sex")).replace("$birth", map.get("birth")).replace("$idCard", map.get("idCard"))
+					.replace("$phone", map.get("phone"));
+		}
+		return users;
+	}
+
+	/**
+	 * 重新生成申请表
+	 *
+	 * @param businessNo
+	 */
+	public void recreateApplyDoc(String businessNo) {
+		OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
+		ModelEntity model = modelRepository.getModelEntity(orderEntity.getProdId(), orderEntity.getNotaryOfficeId(), "1", "1");
+		OrderFileEntity fileEntity = orderFileRepository.getOrderFileWithCode(orderEntity.getProdId(), businessNo, "1");
+		OrderFileEntity saveFile = new OrderFileEntity();
+		saveFile.setId(fileEntity.getId());
+		String html = replaceFlag(model.getContent(), orderEntity);
+		String htmlPath = FileUploadUtil.saveHtml(html, businessNo);
+		String pdfPath = FileUploadUtil.savePdf(html, businessNo);
+		fileEntity.setHtmlUrl(htmlPath);
+		fileEntity.setPdfUrl(pdfPath);
+		orderFileMapper.updateById(fileEntity);
+	}
+
+	/**
+	 * 替换文本标记
+	 * @param content
+	 * @param orderEntity
+	 * @return
+	 */
+	private String replaceFlag(String content, OrderEntity orderEntity) {
+		Map<String, String> map = new HashMap<>();
+		map.put("$Date$", DateUtils.date2String(new Date(), 1));
+		map.put("$Bank$", orderEntity.getBankName());
+		map.put("$Greffier$", contextUtil.getCurrentUser().getNickName());
+		//
+		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(orderEntity.getBusinessNo());
+		if (borrower != null) {
+			map.put("$LoanName$", borrower.getUsername());
+			map.put("$LoanSex$", StatusEnum.SexStatusEnum.getValue(borrower.getSex()));
+			map.put("$LoanBirthdday$", borrower.getBirth());
+			map.put("$LoanHomeAddr$", borrower.getResidence());
+			map.put("$LoanIDNo$", borrower.getIdCard());
+			map.put("$LoanPhone$", borrower.getPhone());
+		}
+		MortgageEntity mortgage = orderRepository.getMortgageByBizNo(orderEntity.getBusinessNo());
+		if (mortgage != null) {
+			map.put("$MortgageName$", mortgage.getUsername());
+			map.put("$MortgageSex$", StatusEnum.SexStatusEnum.getValue(mortgage.getSex()));
+			map.put("$MortgageBirthdday$", mortgage.getBirth());
+			map.put("$MortgageHomeAddr$", mortgage.getResidence());
+			map.put("$MortgageIDNo$", mortgage.getIdCard());
+			map.put("$MortgagePhone$", mortgage.getPhone());
+		}
+		GuaranteeEntity guarantee = orderRepository.getGuaranteeByBizNo(orderEntity.getBusinessNo());
+		if (guarantee != null) {
+			map.put("$GuaranteeName$", guarantee.getUsername());
+			map.put("$GuaranteeSex$", StatusEnum.SexStatusEnum.getValue(guarantee.getSex()));
+			map.put("$GuaranteeBirthdday$", guarantee.getBirth());
+			map.put("$GuaranteeHomeAddr$", guarantee.getResidence());
+			map.put("$GuaranteeIDNo$", guarantee.getIdCard());
+			map.put("$GuaranteePhone$", guarantee.getPhone());
+		}
+		//
+		NotaryOfficeEntity office = notaryOfficeMapper.selectById(orderEntity.getNotaryOfficeId());
+		String[] areas = office.getAreaCodesStr().split(",");
+		QueryWrapper<ProvinceEntity> provinceQW = new QueryWrapper<>();
+		provinceQW.eq("code", areas[0]);
+
+		ProvinceEntity provinceEntity = provinceDao.selectOne(provinceQW);
+		String cityCodeZX = "110000,120000,310000,500000";
+		String cityName = "";
+		if (cityCodeZX.indexOf(provinceEntity.getCode()) <= -1) {
+			QueryWrapper<CityEntity> cityQW = new QueryWrapper<>();
+			cityQW.eq("code", areas[1]);
+			CityEntity cityEntity = cityDao.selectOne(cityQW);
+			cityName = cityEntity.getCityName();
+		}
+		String usedLocation = provinceEntity.getProvinceName().concat(cityName);
+		map.put("$NotaryOffice$", office.getName());
+		map.put("$UsedLocation$", usedLocation);
+
+		String replaceContent = TextTempletUtil.replaceContent(content, map);
+		String result = "";
+		try {
+			InputStream inputStream = NotaryNoteServiceImpl.class.getClassLoader().getResourceAsStream("template/note/notary-model.html");
+			result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return result.replace("${ModelContent}", replaceContent);
+	}
 }

+ 387 - 306
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/OrderServiceImpl.java

@@ -3,45 +3,37 @@ package me.zhengjie.application.bank.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.bank.controller.vo.*;
-import me.zhengjie.application.bank.service.*;
-import me.zhengjie.dao.mybatis.entity.*;
-import me.zhengjie.domain.order.OrderBizCodeMessage;
-import me.zhengjie.dao.jdbc.OrderDao;
+import me.zhengjie.application.admin.service.BankService;
+import me.zhengjie.application.bank.controller.vo.BorrowerVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
+import me.zhengjie.application.bank.controller.vo.Sms;
+import me.zhengjie.application.bank.service.FileInfoService;
+import me.zhengjie.application.bank.service.OrderRoomIdService;
+import me.zhengjie.application.bank.service.OrderService;
 import me.zhengjie.base.AppBaseResponse;
-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.StatusEnum;
-import me.zhengjie.base.util.StatusEnum.NotaryStatusEnum;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.mq.RedisCacheConfig;
+import me.zhengjie.base.plus.QueryWrapperUtil;
+import me.zhengjie.base.util.*;
+import me.zhengjie.base.util.StatusEnum.NotaryStatusEnum;
 import me.zhengjie.dao.mybatis.ModelRepository;
 import me.zhengjie.dao.mybatis.OrderRepository;
+import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.mapper.*;
+import me.zhengjie.domain.order.OrderBizCodeMessage;
 import me.zhengjie.domain.order.OrderConstant;
 import me.zhengjie.domain.order.parser.OrderOCRParser;
-import me.zhengjie.base.mq.RedisCacheConfig;
 import me.zhengjie.domain.order.parser.OrderOCRParserFactory;
-import me.zhengjie.dao.mybatis.mapper.BankMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOrderMapper;
-import me.zhengjie.dao.mybatis.mapper.OfficeXbankMapper;
-import me.zhengjie.application.admin.service.BankService;
-import me.zhengjie.application.admin.service.NotaryOrderService;
-import me.zhengjie.base.util.TencentServiceUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.time.LocalDateTime;
@@ -60,38 +52,24 @@ import static me.zhengjie.base.util.DateFormatUtils.format;
  */
 @Service
 @Slf4j
-public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrderEntity> implements OrderService {
-
-	@Autowired
-	private OrderDao orderDao;
-	@Autowired
-	private BorrowerService borrowerService;
-	@Autowired
-	private MortgageService mortgageService;
-	@Autowired
-	private GuaranteeService guaranteeService;
-	@Autowired
-	private BankService bankService;
-	@Autowired
-	private RedisTemplate<String, String> redisTemplate;
-	@Autowired
-	private NotaryOrderService notaryOrderService;
-	@Autowired
-	FileInfoService fileInfoService;
-	@Autowired
-	OfficeXbankMapper officeXbankMapper;
-	@Autowired
-	NotaryOfficeMapper notaryOfficeMapper;
-	@Autowired
-	OrderOCRParserFactory orderOCRParserFactory;
-	@Autowired
-	ModelRepository modelRepository;
-	@Autowired
-	OrderRepository orderRepository;
-	@Autowired
-	private BankMapper bankMapper;
-	@Autowired
-	OrderRoomIdService orderRoomIdService;
+@RequiredArgsConstructor
+public class OrderServiceImpl implements OrderService {
+
+	private final BorrowerMapper borrowerMapper;
+	private final MortgageMapper mortgageMapper;
+	private final GuaranteeMapper guaranteeMapper;
+	private final BankService bankService;
+	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 OrderRepository orderRepository;
+	private final BankMapper bankMapper;
+	private final OrderRoomIdService orderRoomIdService;
+	private final OrderMapper orderMapper;
+	private final SysUserMapper userDao;
 
 	@Override
 	public int checkOrder(Sms sms) {
@@ -101,33 +79,44 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		borrowerEntity.setIdCard(sms.getIdCode());
 		borrowerEntity.setPhone(sms.getPhone());
 		QueryWrapper<BorrowerEntity> borrowerQuery = QueryWrapperUtil.convertQuery(borrowerEntity);
-		long borrower = borrowerService.count(borrowerQuery);
+		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 = mortgageService.count(mortgageQuery);
+		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 = guaranteeService.count(guaranteeQuery);
+		long guarantee = guaranteeMapper.selectCount(guaranteeQuery);
 		return (int) (borrower + mortgage + guarantee);
 	}
 
-	//
 	@Override
-	public List<Order> getOrderList(Order order) {
-		return this.orderDao.selectOrderList(order);
-	}
-
-	@Override
-	public Integer getOrderAccountIdById(Integer id) {
-		return this.orderDao.selectOrderAccountIdById(id);
+	public List<BankOrderVO> getOrderList(String contractNo, String phone, String status, Integer pageIndex, Integer pageSize) {
+		QueryWrapper<SysUserEntity> qw = new QueryWrapper<>();
+		qw.eq("phone", phone);
+		SysUserEntity user = userDao.selectOne(qw);
+		List<BankOrderVO> list = new ArrayList<>();
+		if (user != null) {
+			QueryWrapper<OrderEntity> orderEntityQueryWrapper = new QueryWrapper<>();
+			orderEntityQueryWrapper.eq("customer_id", user.getUserId());
+			orderEntityQueryWrapper.eq("status", status);
+			orderEntityQueryWrapper.like(!ObjectUtils.isEmpty(contractNo), "contract_no", contractNo);
+			List<OrderEntity> orderEntities = orderMapper.selectList(orderEntityQueryWrapper);
+			list = BeanCopyUtils.convertList2List(orderEntities, BankOrderVO.class);
+		}
+		for (BankOrderVO orderVO : list) {
+			orderVO.setBorrowerNum(orderRepository.countBorrowerNumByBizNo(orderVO.getBusinessNo()));
+			orderVO.setMortgageNum(orderRepository.countMortgageNumByBizNo(orderVO.getBusinessNo()));
+			orderVO.setGuaranteeNum(orderRepository.countGuaranteeNumByBizNo(orderVO.getBusinessNo()));
+		}
+		return list;
 	}
 
 	/**
@@ -138,10 +127,10 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 	 * @return
 	 */
 	@Override
-	public AppBaseResponse saveOrder(BorrowerEntity borrower, SysUserEntity entity) {
+	public AppBaseResponse saveOrder(BorrowerVo vo, BorrowerEntity borrower, SysUserEntity entity) {
 		AppBaseResponse response = new AppBaseResponse();
 		// 设置主订单信息并保存
-		NotaryOrderEntity orderEntity = NotaryOrderEntity.builder().build();
+		OrderEntity orderEntity = OrderEntity.builder().build();
 		BeanUtils.copyProperties(borrower, orderEntity, "createTime", "updateTime");
 		orderEntity.setLoanName(borrower.getUsername());
 		orderEntity.setLoanMoney(borrower.getSumMoney());
@@ -149,10 +138,12 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		orderEntity.setApplyTime(DateFormatUtils.nowTime());
 		orderEntity.setCustomerName(entity.getNickName());
 		orderEntity.setStatus(NotaryStatusEnum.SUBMIT.getStatus().toString());
+		orderEntity.setProdId(vo.getProdId());
+		orderEntity.setContractAttachment(vo.getCompactPic());
 		//
-		QueryWrapper<NotaryOrderEntity> orderQw = new QueryWrapper<>();
+		QueryWrapper<OrderEntity> orderQw = new QueryWrapper<>();
 		orderQw.eq("business_no", borrower.getBusinessNo());
-		NotaryOrderEntity order = notaryOrderService.getOne(orderQw);
+		OrderEntity order = orderMapper.selectOne(orderQw);
 		if (order == null) {
 			// 获取银行客户经理信息
 			BankEntity bank = BankEntity.builder().build();
@@ -176,100 +167,49 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 			orderEntity.setAutoGenerate(autoGenerateFlag);
 			orderEntity.setCreateTime(LocalDateTime.now());
 			orderEntity.setCreator(String.valueOf(entity.getUserId()));
-			notaryOrderService.save(orderEntity);
+			orderMapper.insert(orderEntity);
 		} else {
 			orderEntity.setId(order.getId());
 			orderEntity.setUpdateTime(LocalDateTime.now());
 			orderEntity.setUpdater(String.valueOf(entity.getUserId()));
-			notaryOrderService.updateById(orderEntity);
+			orderMapper.updateById(orderEntity);
 		}
 		return response;
 	}
 
 	/**
 	 * 更新订单状态为待公证
-	 * 
+	 *
 	 * @param businessNo
 	 * @return
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public AppBaseResponse submitOrder(String businessNo, SysUserEntity currentUser) {
-		AppBaseResponse response = new AppBaseResponse<>();
-		NotaryOrderEntity orderEntity = orderRepository.getOrderEntityByBizNo(businessNo);
-		if (modelRepository.existModelInEditing(orderEntity.getNotaryOfficeId(), "1,2,3,4,5".split(","))) {
-			response.fail(OrderBizCodeMessage.MODEL_IN_EDITING);
+	public ResponseDTO<String> submitOrder(String businessNo, SysUserEntity currentUser) {
+		ResponseDTO response = new ResponseDTO<>();
+		OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
+		if (modelRepository.existModelInEditing(orderEntity.getProdId(),orderEntity.getNotaryOfficeId(), "1,2,3,4,5".split(","))) {
+			response.setCode(OrderBizCodeMessage.MODEL_IN_EDITING.getCode());
+			response.setMessage(OrderBizCodeMessage.MODEL_IN_EDITING.getMessage());
 			return response;
 		}
-		if (isSubOrderCompleted(businessNo)) {
-			updateStatus(businessNo, NotaryStatusEnum.VERIFY.getStatus().toString(), "");
-			// 推送创建订单文档任务消息
-			JSONObject jsonObject = new JSONObject();
-			jsonObject.put("businessNo", businessNo);
-			jsonObject.put("userId", currentUser.getUserId());
-			redisTemplate.convertAndSend(RedisCacheConfig.CHANNEL_HTML_PDF, jsonObject.toJSONString());
-		} else {
-			response.fail(ResultCode.SUB_ORDER_UNCOMPLETED);
-		}
-		return response;
-	}
 
-	/**
-	 * 子订单信息是否完整
-	 * 
-	 * @param businessNo
-	 * @return
-	 */
-	private boolean isSubOrderCompleted(String businessNo) {
-		QueryWrapper<BorrowerEntity> borrowerWrapper = new QueryWrapper<>();
-		borrowerWrapper.eq("business_no", businessNo);
-		BorrowerEntity borrowerEntity = borrowerService.getOne(borrowerWrapper);
-		if (borrowerEntity == null) {
-			return false;
-		}
-
-//		QueryWrapper<MortgageEntity> mortgageWrapper = new QueryWrapper<>();
-//		mortgageWrapper.eq("business_no", businessNo);
-//		MortgageEntity mortgageEntity = mortgageService.getOne(mortgageWrapper);
-//		if (mortgageEntity == null) {
-//			return false;
-//		}
+		updateStatus(businessNo, NotaryStatusEnum.VERIFY.getStatus().toString(), "");
+		// 推送创建订单文档任务消息
+		JSONObject jsonObject = new JSONObject();
+		jsonObject.put("businessNo", businessNo);
+		jsonObject.put("userId", currentUser.getUserId());
+		redisTemplate.convertAndSend(RedisCacheConfig.CHANNEL_HTML_PDF, jsonObject.toJSONString());
 
-		QueryWrapper<GuaranteeEntity> guaranteeWrapper = new QueryWrapper<>();
-		guaranteeWrapper.eq("business_no", businessNo);
-		GuaranteeEntity guaranteeEntity = guaranteeService.getOne(guaranteeWrapper);
-		if (guaranteeEntity == null) {
-			return false;
-		}
-
-		return true;
+		response.setCode(ResultCode.SUCCESS.code());
+		response.setMessage(ResultCode.SUCCESS.message());
+		return response;
 	}
 
 	public void updateStatus(String businessNo, String status, String message) {
-		UpdateWrapper<BorrowerEntity> borrowerWrapper = new UpdateWrapper<>();
-		borrowerWrapper.eq("business_no", businessNo);
-		BorrowerEntity borrower = new BorrowerEntity();
-		borrower.setStatus(status);
-		borrower.setUpdateTime(LocalDateTime.now());
-		borrowerService.update(borrower, borrowerWrapper);
-
-		UpdateWrapper<MortgageEntity> mortgageWrapper = new UpdateWrapper<>();
-		mortgageWrapper.eq("business_no", businessNo);
-		MortgageEntity mortgage = new MortgageEntity();
-		mortgage.setStatus(status);
-		mortgage.setUpdateTime(LocalDateTime.now());
-		mortgageService.update(mortgage, mortgageWrapper);
-
-		UpdateWrapper<GuaranteeEntity> guaranteeWrapper = new UpdateWrapper<>();
-		guaranteeWrapper.eq("business_no", businessNo);
-		GuaranteeEntity guarantee = new GuaranteeEntity();
-		guarantee.setStatus(status);
-		guarantee.setUpdateTime(LocalDateTime.now());
-		guaranteeService.update(guarantee, guaranteeWrapper);
-
-		UpdateWrapper<NotaryOrderEntity> orderWrapper = new UpdateWrapper<>();
+		UpdateWrapper<OrderEntity> orderWrapper = new UpdateWrapper<>();
 		orderWrapper.eq("business_no", businessNo);
-		NotaryOrderEntity order = new NotaryOrderEntity();
+		OrderEntity order = new OrderEntity();
 		order.setStatus(status);
 		if (NotaryStatusEnum.SUBMIT.getStatus().toString().equals(status)) {
 			order.setReturnReason(message);
@@ -277,81 +217,49 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 			order.setRejectReason(message);
 		}
 		order.setUpdateTime(LocalDateTime.now());
-		update(order, orderWrapper);
+		orderMapper.update(order, orderWrapper);
 	}
 
 	/**
 	 * 通过前面两位判断是属于哪个流程的 10表示借款人 11表示抵押人,12表示担保人
 	 */
 	@Override
-	public OrderDto getOrderById(String id) {
-		OrderDto order = new OrderDto();
-		if (id.startsWith("10")) {
-			BorrowerEntity entity = borrowerService.getById(id);
-			if (entity == null) {
-				return null;
-			}
-			String startDate = entity.getStartDate();
-			order.setStartDate(format(startDate, DateFormatUtils.DATE_PATTERN2));
-			String endDate = entity.getEndDate();
-			order.setEndDate(format(endDate, DateFormatUtils.DATE_PATTERN2));
-			order.setSumMoney(entity.getSumMoney());
-			order.setRate(entity.getRate());
-			order.setUsername(entity.getUsername());
-			order.setSex(entity.getSex());
-			String birth = entity.getBirth();
-			order.setBirth(format(birth, DateFormatUtils.DATE_PATTERN));
-			order.setPhone(entity.getPhone());
-			order.setIdCard(entity.getIdCard());
-			order.setResidence(entity.getResidence());
-			order.setContractNo(entity.getContractNo());
-			order.setOrderId(id);
-			order.setType("1");
-			order.setBusinessNo(entity.getBusinessNo());
-		} else if (id.startsWith("11")) {
-			MortgageEntity entity = mortgageService.getById(id);
-			if (entity == null) {
+	public BankOrderVO getOrderById(String businessNo) {
+		BankOrderVO order = new BankOrderVO();
+		OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
+		order.setProdId(orderEntity.getProdId());
+		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(businessNo);
+		if (borrower == null) {
+			return null;
+		}
+		String startDate = borrower.getStartDate();
+		order.setStartDate(format(startDate, DateFormatUtils.DATE_PATTERN2));
+		String endDate = borrower.getEndDate();
+		order.setEndDate(format(endDate, DateFormatUtils.DATE_PATTERN2));
+		order.setSumMoney(borrower.getSumMoney());
+		order.setRate(borrower.getRate());
+		order.setUsername(borrower.getUsername());
+		order.setSex(borrower.getSex());
+		String birth = borrower.getBirth();
+		order.setBirth(format(birth, DateFormatUtils.DATE_PATTERN));
+		order.setPhone(borrower.getPhone());
+		order.setIdCard(borrower.getIdCard());
+		order.setResidence(borrower.getResidence());
+		order.setContractNo(borrower.getContractNo());
+		order.setOrderId(borrower.getIdCard());
+		order.setJointFlag(borrower.getJointFlag());
+		order.setSpouseIdCard(borrower.getSpouseIdCard());
+		order.setSpouseName(borrower.getSpouseName());
+		order.setSpousePhone(borrower.getSpousePhone());
+		order.setType("1");
+		order.setBusinessNo(borrower.getBusinessNo());
+		if(OrderConstant.PROD_ID_CD.equals(orderEntity.getProdId())){
+			MortgageEntity mortgage = orderRepository.getMortgageByBizNo(businessNo);
+			if (mortgage == null) {
 				return order;
 			}
-			order.setContractNo(entity.getContractNo());
-			String startDate = entity.getStartDate();
-			order.setStartDate(format(startDate, DateFormatUtils.DATE_PATTERN2));
-			String endDate = entity.getEndDate();
-			order.setEndDate(format(endDate, DateFormatUtils.DATE_PATTERN2));
-			//
-			// '房屋产权编号',
-			order.setHousePropertyNo(entity.getHousePropertyNo());
-			// '房屋位置'
-			order.setHouseLocation(entity.getHouseLocation());
-			order.setUsername(entity.getUsername());
-			order.setSex(entity.getSex());
-			String birth = entity.getBirth();
-			order.setBirth(format(birth, DateFormatUtils.DATE_PATTERN));
-			order.setPhone(entity.getPhone());
-			order.setIdCard(entity.getIdCard());
-			order.setOrderId(id);
-			order.setType("2");
-			order.setBusinessNo(entity.getBusinessNo());
-		} else if (id.startsWith("12")) {
-			GuaranteeEntity entity = guaranteeService.getById(id);
-			if (entity == null) {
-				return null;
-			}
-			order.setContractNo(entity.getContractNo());
-			String startDate = entity.getStartDate();
-			order.setStartDate(format(startDate, DateFormatUtils.DATE_PATTERN2));
-			String endDate = entity.getEndDate();
-			order.setEndDate(format(endDate, DateFormatUtils.DATE_PATTERN2));
-			order.setUsername(entity.getUsername());
-			order.setSex(entity.getSex());
-			String birth = entity.getBirth();
-			order.setBirth(format(birth, DateFormatUtils.DATE_PATTERN));
-			order.setPhone(entity.getPhone());
-			order.setIdCard(entity.getIdCard());
-			order.setResidence(entity.getResidence());
-			order.setOrderId(id);
-			order.setType("3");
-			order.setBusinessNo(entity.getBusinessNo());
+			order.setHousePropertyNo(mortgage.getHousePropertyNo());
+			order.setHouseLocation(mortgage.getHouseLocation());
 		}
 		return order;
 	}
@@ -359,32 +267,68 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 	public boolean sameBorrowerMortgage(String orderId, String type) {
 
 		if (StatusEnum.NotaryNoteEnum.BORROWER_NOTE.name().equals(type)) {
-			BorrowerEntity borrower = borrowerService.getById(orderId);
+			BorrowerEntity borrower = borrowerMapper.selectById(orderId);
 			MortgageEntity morgate = new MortgageEntity();
 			morgate.setBusinessNo(borrower.getBusinessNo());
 			morgate.setIdCard(borrower.getIdCard());
 			QueryWrapper<MortgageEntity> morgateQuery = QueryWrapperUtil.convertQuery(morgate);
-			long m = mortgageService.count(morgateQuery);
+			long m = mortgageMapper.selectCount(morgateQuery);
 			return m > 0;
 		} else {
-			MortgageEntity morgate = mortgageService.getById(orderId);
+			MortgageEntity morgate = mortgageMapper.selectById(orderId);
 			BorrowerEntity borrower = new BorrowerEntity();
 			borrower.setBusinessNo(morgate.getBusinessNo());
 			borrower.setIdCard(morgate.getIdCard());
 			QueryWrapper<BorrowerEntity> borrowerQuery = QueryWrapperUtil.convertQuery(borrower);
-			long m = borrowerService.count(borrowerQuery);
+			long m = borrowerMapper.selectCount(borrowerQuery);
 			return m > 0;
 		}
 	}
 
-	public MortgageEntity getMortgageEntity(MortgageEntity entity) {
-		return mortgageService.getOne(entity);
-	}
-
 	public OrderDetailDto getOrderDetail(OrderDetailDto orderDetail) {
-		NotaryOrderEntity orderEntity = orderRepository.getOrderEntityByBizNo(orderDetail.getBusinessNo());
+		OrderEntity orderEntity = orderRepository.getOrderByBizNo(orderDetail.getBusinessNo());
+		orderDetail.setProdId(orderEntity.getProdId());
+		orderDetail.setContractNo(orderEntity.getContractNo());
 		orderDetail.setMainOrderStatus(orderEntity.getStatus());
+		// 将所有图片查询出来
+		// 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.getEstatesPic())) {
+//			String[] estatesPic = orderDetail.getEstatesPic().split(",");
+//			list.addAll(toIntList(estatesPic));
+//		}
+//		// 6.户口本
+//		if (StringUtils.isNotBlank(orderDetail.getHkbPic())) {
+//			String[] hkbPic = orderDetail.getHkbPic().split(",");
+//			list.addAll(toIntList(hkbPic));
+//		}
+//
+//		// 其他内容
+//		String otherUpload = orderDetail.getOtherUpload();
+//		if (StringUtils.isNotBlank(otherUpload)) {
+//			String[] otherArray = otherUpload.split(",");
+//			list.addAll(toIntList(otherArray));
+//		}
 
+//		}
 		// 取出所有的图片
 		List<FileInfoEntity> fileInfo = getFileInfo(orderDetail);
 		Map<Integer, FileInfoEntity> map = new HashMap<>();
@@ -408,16 +352,32 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		orderDetail.setMarragePicUrl(marragePicUrl);
 //			
 //			// 4.合同附件
+//			String[] CompactPic = borrower.getCompactPic().split(",");
 		List<String> compactPicUrl = getImageUrl(orderDetail.getCompactPic(), map);
 		orderDetail.setCompactPicUrl(compactPicUrl);
-//			// 5.抵押物
-		List<String> mortgagePicUrl = getImageUrl(orderDetail.getMortgagePic(), map);
-		orderDetail.setMortgagePicUrl(mortgagePicUrl);
+		// 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)) {
@@ -450,17 +410,23 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 			String[] CompactPic = orderDetail.getCompactPic().split(",");
 			list.addAll(toIntList(CompactPic));
 		}
-		// 5.房产证
+		// 5.抵押物
 		if (StringUtils.isNotBlank(orderDetail.getMortgagePic())) {
-			String[] mortgagePic = orderDetail.getMortgagePic().split(",");
-			list.addAll(toIntList(mortgagePic));
+			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)) {
@@ -479,22 +445,20 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 	public Map<String, FileInfoEntity>  getUploadFile(String businessNo) {
 		Map<String, FileInfoEntity> fileInfo = new HashMap<String, FileInfoEntity>();
 		// 借款人
-		BorrowerEntity borrowerEntity = new BorrowerEntity();
-		borrowerEntity.setBusinessNo(businessNo);
-		List<BorrowerEntity> borrows = borrowerService.list(borrowerEntity);
+		QueryWrapper<BorrowerEntity> borrowerQW = new QueryWrapper<>();
+		borrowerQW.eq("business_no", businessNo);
+		List<BorrowerEntity> borrows = borrowerMapper.selectList(borrowerQW);
 		for (BorrowerEntity input : borrows) {
 			OrderDetailDto orderDto = BeanCopyUtils.convertObj(input, OrderDetailDto.class);
 			List<FileInfoEntity> list = getFileInfo(orderDto);
-			for (FileInfoEntity f: list) {
+			for (FileInfoEntity f : list) {
 				fileInfo.put(String.valueOf(f.getId()), f);
 			}
 		}
-
-		// 读取文件
-		MortgageEntity mortgageEntity = new MortgageEntity();
-		mortgageEntity.setBusinessNo(businessNo);
-
-		List<MortgageEntity> mortgage = mortgageService.list(mortgageEntity);
+		// 抵押人
+		QueryWrapper<MortgageEntity> mortgageQW = new QueryWrapper<>();
+		mortgageQW.eq("business_no", businessNo);
+		List<MortgageEntity> mortgage = mortgageMapper.selectList(mortgageQW);
 		for (MortgageEntity input : mortgage) {
 			OrderDetailDto orderDto = BeanCopyUtils.convertObj(input, OrderDetailDto.class);
 			List<FileInfoEntity> list = getFileInfo(orderDto);
@@ -502,14 +466,14 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 				fileInfo.put(String.valueOf(f.getId()), f);
 			}
 		}
-		GuaranteeEntity guaranteeEntity = new GuaranteeEntity();
-
-		guaranteeEntity.setBusinessNo(businessNo);
-		List<GuaranteeEntity> guarantee = guaranteeService.list(guaranteeEntity);
+		// 担保人
+		QueryWrapper<GuaranteeEntity> guaranteeQW = new QueryWrapper<>();
+		guaranteeQW.eq("business_no", businessNo);
+		List<GuaranteeEntity> guarantee = guaranteeMapper.selectList(guaranteeQW);
 		for (GuaranteeEntity input : guarantee) {
 			OrderDetailDto orderDto = BeanCopyUtils.convertObj(input, OrderDetailDto.class);
 			List<FileInfoEntity> list = getFileInfo(orderDto);
-			for (FileInfoEntity f: list) {
+			for (FileInfoEntity f : list) {
 				fileInfo.put(String.valueOf(f.getId()), f);
 			}
 		}
@@ -566,80 +530,77 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 			entity.setId(id);
 			entity.setUpdateTime(LocalDateTime.now());
 			entity.setStatus("2");
-			borrowerService.updateById(entity);
-			entity = borrowerService.getById(id);
+			borrowerMapper.updateById(entity);
+			entity = borrowerMapper.selectById(id);
 			// 判断是否在流程中
-			MortgageEntity mortgage = new MortgageEntity();
-			mortgage.setBusinessNo(entity.getBusinessNo());
-			mortgage.setStatus("1");
-			long mcount = mortgageService.count(mortgage);
-
-			GuaranteeEntity guarantee = new GuaranteeEntity();
-			guarantee.setBusinessNo(entity.getBusinessNo());
-			guarantee.setStatus("1");
-			long gcount = guaranteeService.count(guarantee);
+			QueryWrapper<MortgageEntity> mortgageQW = new QueryWrapper<>();
+			mortgageQW.eq("business_no", entity.getBusinessNo());
+			mortgageQW.eq("status", "1");
+			long mcount = mortgageMapper.selectCount(mortgageQW);
+
+			QueryWrapper<GuaranteeEntity> guaranteeQW = new QueryWrapper<>();
+			guaranteeQW.eq("business_no", entity.getBusinessNo());
+			guaranteeQW.eq("status", "1");
+			long gcount = guaranteeMapper.selectCount(guaranteeQW);
 			if (mcount + gcount == 0) {
-				NotaryOrderEntity entityOrder = NotaryOrderEntity.builder().build();
-				UpdateWrapper<NotaryOrderEntity> updateWrapper = new UpdateWrapper<>();
+				OrderEntity entityOrder = OrderEntity.builder().build();
+				UpdateWrapper<OrderEntity> updateWrapper = new UpdateWrapper<>();
 				updateWrapper.eq("business_no", entity.getBusinessNo());
 				entityOrder.setStatus("2");
 				entityOrder.setUpdateTime(LocalDateTime.now());
-				notaryOrderService.update(entityOrder, updateWrapper);
+				orderMapper.update(entityOrder, updateWrapper);
 			}
-
 		} else if (orderId.startsWith("11")) {
-			MortgageEntity entity = mortgageService.getById(id);
+			MortgageEntity entity = mortgageMapper.selectById(id);
 			entity.setId(id);
 			entity.setUpdateTime(LocalDateTime.now());
 			entity.setStatus("2");
-			mortgageService.updateById(entity);
+			mortgageMapper.updateById(entity);
 
 			// 判断是否在流程中
-			BorrowerEntity borrower = new BorrowerEntity();
-			borrower.setBusinessNo(entity.getBusinessNo());
-			borrower.setStatus("1");
-			long bcount = borrowerService.count(borrower);
-
-			GuaranteeEntity guarantee = new GuaranteeEntity();
-			guarantee.setBusinessNo(entity.getBusinessNo());
-			guarantee.setStatus("1");
-			long gcount = guaranteeService.count(guarantee);
+			QueryWrapper<BorrowerEntity> borrowerQW = new QueryWrapper<>();
+			borrowerQW.eq("business_no", entity.getBusinessNo());
+			borrowerQW.eq("status", "1");
+			long bcount = borrowerMapper.selectCount(borrowerQW);
+
+			QueryWrapper<GuaranteeEntity> guaranteeQW = new QueryWrapper<>();
+			guaranteeQW.eq("business_no", entity.getBusinessNo());
+			guaranteeQW.eq("status", "1");
+			long gcount = guaranteeMapper.selectCount(guaranteeQW);
 			if (bcount + gcount == 0) {
-				NotaryOrderEntity entityOrder = NotaryOrderEntity.builder().build();
-				UpdateWrapper<NotaryOrderEntity> updateWrapper = new UpdateWrapper<>();
+				OrderEntity entityOrder = OrderEntity.builder().build();
+				UpdateWrapper<OrderEntity> updateWrapper = new UpdateWrapper<>();
 				updateWrapper.eq("business_no", entity.getBusinessNo());
 				entityOrder.setStatus("2");
 				entityOrder.setUpdateTime(LocalDateTime.now());
-				notaryOrderService.update(entityOrder, updateWrapper);
+				orderMapper.update(entityOrder, updateWrapper);
 			}
-
 		} else if (orderId.startsWith("12")) {
-			GuaranteeEntity entity = guaranteeService.getById(id);
+			GuaranteeEntity entity = guaranteeMapper.selectById(id);
 			entity.setId(id);
 			entity.setUpdateTime(LocalDateTime.now());
 			entity.setStatus("2");
-			guaranteeService.updateById(entity);
+			guaranteeMapper.updateById(entity);
 			// 这里就更新主订单状态
 			// 判断是否在流程中
-			BorrowerEntity borrower = new BorrowerEntity();
-			borrower.setBusinessNo(entity.getBusinessNo());
-			borrower.setStatus("1");
-			long bcount = borrowerService.count(borrower);
-
-			MortgageEntity mortgage = new MortgageEntity();
-			mortgage.setBusinessNo(entity.getBusinessNo());
-			mortgage.setStatus("1");
-			long mcount = mortgageService.count(mortgage);
+			QueryWrapper<BorrowerEntity> borrowerQW = new QueryWrapper<>();
+			borrowerQW.eq("business_no", entity.getBusinessNo());
+			borrowerQW.eq("status", "1");
+			long bcount = borrowerMapper.selectCount(borrowerQW);
+
+			QueryWrapper<MortgageEntity> mortgageQW = new QueryWrapper<>();
+			mortgageQW.eq("business_no", entity.getBusinessNo());
+			mortgageQW.eq("status", "1");
+			long mcount = mortgageMapper.selectCount(mortgageQW);
 			if (bcount + mcount == 0) {
-				NotaryOrderEntity entityOrder = NotaryOrderEntity.builder().build();
-				UpdateWrapper<NotaryOrderEntity> updateWrapper = new UpdateWrapper<>();
+				OrderEntity entityOrder = OrderEntity.builder().build();
+				UpdateWrapper<OrderEntity> updateWrapper = new UpdateWrapper<>();
 				updateWrapper.eq("business_no", entity.getBusinessNo());
 				entityOrder.setStatus("2");
 				entityOrder.setUpdateTime(LocalDateTime.now());
-				notaryOrderService.update(entityOrder, updateWrapper);
+				orderMapper.update(entityOrder, updateWrapper);
 			}
 		}
-
 	}
 
 	public List<String> getImageUrl(String imageUrl, Map<Integer, FileInfoEntity> map) {
@@ -667,59 +628,59 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 	}
 
 	@Override
-	public List<OrderDto> getOrderByContion(OrderVo user) {
+	public List<BankOrderVO> getOrderByContion(BankOrderVO user) {
 		BorrowerEntity borrower = new BorrowerEntity();
-		borrower.setIdCard(user.getIdCode());
-		borrower.setUsername(user.getUserName());
+		borrower.setIdCard(user.getIdCard());
+		borrower.setUsername(user.getUsername());
 		borrower.setPhone(user.getPhone());
 		borrower.setBusinessNo(user.getBusinessNo());
 		borrower.setContractNo(user.getContractNo());
 		borrower.setStatus(user.getStatus());
 		QueryWrapper<BorrowerEntity> queryWrapper = QueryWrapperUtil.convertQuery(borrower);
-		List<BorrowerEntity> borrowers = borrowerService.list(queryWrapper);
+		List<BorrowerEntity> borrowers = borrowerMapper.selectList(queryWrapper);
 		if (user.getBusinessNo() == null && borrowers != null && borrowers.size() > 0) {
 			user.setBusinessNo(borrowers.get(0).getBusinessNo());
 		}
 
 		MortgageEntity mortgage = new MortgageEntity();
-		mortgage.setIdCard(user.getIdCode());
-		mortgage.setUsername(user.getUserName());
+		mortgage.setIdCard(user.getIdCard());
+		mortgage.setUsername(user.getUsername());
 		mortgage.setPhone(user.getPhone());
 		mortgage.setStatus(user.getStatus());
 		mortgage.setBusinessNo(user.getBusinessNo());
 		mortgage.setContractNo(user.getContractNo());
 		QueryWrapper<MortgageEntity> mortgageWrapper = QueryWrapperUtil.convertQuery(mortgage);
-		List<MortgageEntity> mortgages = mortgageService.list(mortgageWrapper);
+		List<MortgageEntity> mortgages = mortgageMapper.selectList(mortgageWrapper);
 		if (user.getBusinessNo() == null && mortgages != null && mortgages.size() > 0) {
 			user.setBusinessNo(mortgages.get(0).getBusinessNo());
 		}
 
 		GuaranteeEntity guarantee = new GuaranteeEntity();
-		guarantee.setIdCard(user.getIdCode());
-		guarantee.setUsername(user.getUserName());
+		guarantee.setIdCard(user.getIdCard());
+		guarantee.setUsername(user.getUsername());
 		guarantee.setPhone(user.getPhone());
 		guarantee.setStatus(user.getStatus());
 		guarantee.setBusinessNo(user.getBusinessNo());
 		guarantee.setContractNo(user.getContractNo());
 		QueryWrapper<GuaranteeEntity> guaranteeWrapper = QueryWrapperUtil.convertQuery(guarantee);
-		List<GuaranteeEntity> guarantees = guaranteeService.list(guaranteeWrapper);
+		List<GuaranteeEntity> guarantees = guaranteeMapper.selectList(guaranteeWrapper);
 		if (user.getBusinessNo() == null && guarantees != null && guarantees.size() > 0) {
 			user.setBusinessNo(guarantees.get(0).getBusinessNo());
 		}
 
 		// 查询主订单,如果状态是驳回,查询驳回原因
-		NotaryOrderEntity orderEntity = null;
+		OrderEntity orderEntity = null;
 		if (user.getStatus() != null
 				&& user.getStatus().equals(StatusEnum.NotaryStatusEnum.REJECT.getStatus().toString())) {
-			QueryWrapper<NotaryOrderEntity> notaryOrder = new QueryWrapper<>();
+			QueryWrapper<OrderEntity> notaryOrder = new QueryWrapper<>();
 			notaryOrder.eq("business_no", user.getBusinessNo());
 			notaryOrder.eq("status", StatusEnum.NotaryStatusEnum.REJECT.getStatus());
-			orderEntity = this.getOne(notaryOrder);
+			orderEntity = orderMapper.selectOne(notaryOrder);
 		}
 
-		List<OrderDto> list = new ArrayList<OrderDto>();
+		List<BankOrderVO> list = new ArrayList<BankOrderVO>();
 		for (BorrowerEntity b : borrowers) {
-			OrderDto dto = new OrderDto();
+			BankOrderVO dto = new BankOrderVO();
 			dto.setUsername(b.getUsername());
 			dto.setIdCard(b.getIdCard());
 			dto.setSumMoney(b.getSumMoney());
@@ -742,7 +703,7 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		}
 
 		for (MortgageEntity b : mortgages) {
-			OrderDto dto = new OrderDto();
+			BankOrderVO dto = new BankOrderVO();
 			dto.setUsername(b.getUsername());
 			dto.setIdCard(b.getIdCard());
 			dto.setPhone(b.getPhone());
@@ -765,7 +726,7 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		}
 
 		for (GuaranteeEntity b : guarantees) {
-			OrderDto dto = new OrderDto();
+			BankOrderVO dto = new BankOrderVO();
 			dto.setUsername(b.getUsername());
 			dto.setIdCard(b.getIdCard());
 			dto.setPhone(b.getPhone());
@@ -808,9 +769,129 @@ public class OrderServiceImpl extends ServiceImpl<NotaryOrderMapper, NotaryOrder
 		return null;
 	}
 
-	public static void main(String[] args) {
-		String orgId = "bank_7";
-		System.out.println(orgId.split(","));
-		;
+	@Override
+	public List<BankOrderVO> getSubOrderList(String businessNo, String status, Integer pageIndex, Integer pageSize) {
+		List<BankOrderVO> list = new ArrayList<BankOrderVO>();
+
+		// 查询主订单状态
+		QueryWrapper<OrderEntity> statusOrder = new QueryWrapper<>();
+		statusOrder.eq("business_no", businessNo);
+		OrderEntity orderStatus = orderMapper.selectOne(statusOrder);
+
+		QueryWrapper<BorrowerEntity> qw = new QueryWrapper<>();
+		qw.eq("business_no", businessNo);
+		List<BorrowerEntity> borrowers = borrowerMapper.selectList(qw);
+		for (BorrowerEntity b : borrowers) {
+			BankOrderVO dto = new BankOrderVO();
+			dto.setUsername(b.getUsername());
+			dto.setIdCard(b.getIdCard());
+			dto.setSumMoney(b.getSumMoney());
+			dto.setPhone(b.getPhone());
+			dto.setOrderId(b.getId().toString());
+			dto.setStartDate(b.getStartDate());
+			dto.setEndDate(b.getEndDate());
+			dto.setContractNo(b.getContractNo());
+			dto.setSex(b.getSex());
+			dto.setBusinessNo(businessNo);
+			dto.setBirth(b.getBirth());
+			dto.setResidence(b.getResidence());
+			dto.setRate(b.getRate());
+			dto.setType("1");
+			dto.setSubStatus(b.getStatus());
+			dto.setNotarizedIdcard(b.getNotarizedIdcard());
+			dto.setJointFlag(b.getJointFlag());
+			dto.setSpouseIdCard(b.getSpouseIdCard());
+			dto.setSpouseName(b.getSpouseName());
+			dto.setSpousePhone(b.getSpousePhone());
+			//主订单
+			dto.setStatus(orderStatus.getStatus());
+			dto.setProdId(orderStatus.getProdId());
+			if ("4".equals(orderStatus.getStatus())) {
+				dto.setRejectReason(orderStatus.getRejectReason());
+			}
+			list.add(dto);
+		}
+
+		MortgageEntity mortgage = new MortgageEntity();
+		mortgage.setBusinessNo(businessNo);
+		QueryWrapper<MortgageEntity> mortgageWrapper = QueryWrapperUtil.convertQuery(mortgage);
+		List<MortgageEntity> mortgages = mortgageMapper.selectList(mortgageWrapper);
+		for (MortgageEntity b : mortgages) {
+			BankOrderVO dto = new BankOrderVO();
+			dto.setUsername(b.getUsername());
+			dto.setIdCard(b.getIdCard());
+			dto.setPhone(b.getPhone());
+			dto.setOrderId(b.getId().toString());
+			dto.setStartDate(b.getStartDate());
+			dto.setEndDate(b.getEndDate());
+			dto.setContractNo(orderStatus.getContractNo());
+			dto.setSex(b.getSex());
+			dto.setBusinessNo(businessNo);
+			dto.setBirth(b.getBirth());
+			dto.setResidence(b.getResidence());
+			dto.setHouseLocation(b.getHouseLocation());
+			dto.setHousePropertyNo(b.getHousePropertyNo());
+			dto.setType("2");
+			dto.setStatus(orderStatus.getStatus());
+			dto.setSubStatus(b.getStatus());
+			dto.setNotarizedIdcard(b.getNotarizedIdcard());
+			dto.setJointFlag(b.getJointFlag());
+			dto.setSpouseIdCard(b.getSpouseIdCard());
+			dto.setSpouseName(b.getSpouseName());
+			dto.setSpousePhone(b.getSpousePhone());
+			dto.setProdId(orderStatus.getProdId());
+			if ("4".equals(orderStatus.getStatus())) {
+				dto.setRejectReason(orderStatus.getRejectReason());
+			}
+			list.add(dto);
+		}
+
+		GuaranteeEntity guarantee = new GuaranteeEntity();
+		guarantee.setBusinessNo(businessNo);
+		QueryWrapper<GuaranteeEntity> guaranteeWrapper = QueryWrapperUtil.convertQuery(guarantee);
+		List<GuaranteeEntity> guarantees = guaranteeMapper.selectList(guaranteeWrapper);
+		for (GuaranteeEntity b : guarantees) {
+			BankOrderVO dto = new BankOrderVO();
+			dto.setUsername(b.getUsername());
+			dto.setIdCard(b.getIdCard());
+			dto.setPhone(b.getPhone());
+			dto.setOrderId(b.getId().toString());
+			dto.setStartDate(b.getStartDate());
+			dto.setEndDate(b.getEndDate());
+			dto.setContractNo(orderStatus.getContractNo());
+			dto.setSex(b.getSex());
+			dto.setBirth(b.getBirth());
+			dto.setBusinessNo(businessNo);
+			dto.setResidence(b.getResidence());
+			dto.setType("3");
+			dto.setStatus(orderStatus.getStatus());
+			dto.setNotarizedIdcard(b.getNotarizedIdcard());
+			dto.setJointFlag(b.getJointFlag());
+			dto.setSpouseIdCard(b.getSpouseIdCard());
+			dto.setSpouseName(b.getSpouseName());
+			dto.setSpousePhone(b.getSpousePhone());
+			//子订单状态
+			dto.setProdId(orderStatus.getProdId());
+			dto.setSubStatus(b.getStatus());
+			if ("4".equals(orderStatus.getStatus())) {
+				dto.setRejectReason(orderStatus.getRejectReason());
+			}
+			list.add(dto);
+		}
+		return list;
+	}
+
+	/**
+	 * 统计子订单数量
+	 * @param businessNO
+	 * @return
+	 */
+	@Override
+	public Map<String, Long> countSubOrder(final String businessNO) {
+		Map<String, Long> map = new HashMap<>();
+		map.put("borrowerNum", orderRepository.countBorrowerNumByBizNo(businessNO));
+		map.put("mortgageNum", orderRepository.countMortgageNumByBizNo(businessNO));
+		map.put("guaranteeNum", orderRepository.countGuaranteeNumByBizNo(businessNO));
+		return map;
 	}
 }

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

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.dao.mybatis.mapper.ISysUserDao;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.application.bank.service.SysUserService;
 
 /**
@@ -20,11 +20,11 @@ import me.zhengjie.application.bank.service.SysUserService;
  * @since 2022-03-10
  */
 @Service
-public class SysUserServiceImpl extends ServiceImpl<ISysUserDao, SysUserEntity> implements SysUserService {
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserEntity> implements SysUserService {
 	@Autowired
 	PasswordEncoder passwordEncoder;
 	@Autowired
-	ISysUserDao userDao;
+    SysUserMapper userDao;
 
 	/**
 	 * 登录查询

+ 113 - 65
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/UserAXQInfoServiceImpl.java

@@ -2,17 +2,24 @@ package me.zhengjie.application.bank.service.impl;
 
 import cfca.trustsign.common.vo.cs.PersonVO;
 import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
-import me.zhengjie.dao.mybatis.mapper.IUserAXQInfoDao;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.base.util.ApplicationContextUtil;
+import me.zhengjie.dao.mybatis.OrderRepository;
+import me.zhengjie.dao.mybatis.UserAXQInfoRepository;
+import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
+import me.zhengjie.dao.mybatis.mapper.UserAXQInfoMapper;
 import me.zhengjie.application.bank.service.UserAXQInfoService;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
-import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
 import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
 import me.zhengjie.base.util.CFCACertUtil;
 import me.zhengjie.base.util.TencentServiceUtil;
@@ -21,33 +28,33 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Date;
 import java.util.List;
 
 @Service
-public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQInfoEntity>
-		implements UserAXQInfoService {
-//	@Value("${app.upload.path}")
-//	private String uplaodPath;
-//	@Value("${app.image.url}")
-//	private String imageURL;
+@RequiredArgsConstructor
+public class UserAXQInfoServiceImpl implements UserAXQInfoService {
+
 	@Value("${spring.profiles.active}")
 	private String systemEnv;
-	@Autowired
-	IUserAXQInfoDao userAXQDao;
-	@Autowired
-	OrderFileRepository orderFileRepository;
-	@Autowired
-	OrderFileMapper orderFileMapper;
+	private final UserAXQInfoRepository userAXQInfoRepository;
+	private final UserAXQInfoMapper userAXQInfoMapper;
+	private final OrderFileRepository orderFileRepository;
+	private final OrderFileMapper orderFileMapper;
+	private final FileInfoMapper fileInfoMapper;
+	private final ApplicationContextUtil applicationContextUtil;
+	private final OrderRepository orderRepository;
+	private final SysUserMapper sysUserMapper;
 
 	@Override
 	public ResponseDTO<?> registAXQUser(String idCard, String phone, String name) {
 		try {
-			QueryWrapper<UserAXQInfoEntity> qw = new QueryWrapper<>();
-			qw.eq("id_card", idCard);
-			qw.eq("user_status", "1");
-			UserAXQInfoEntity entity = userAXQDao.selectOne(qw);
+			UserAXQInfoEntity entity = userAXQInfoRepository.getUserAXQInfoWithIdcard(idCard);
 			if (entity == null) {
 				CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
 				// 安心签注册个人用户
@@ -60,7 +67,7 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 				userAXQInfoEntity.setAxqUserId(userId);
 				userAXQInfoEntity.setUserStatus("1");
 				userAXQInfoEntity.setCreateTime(new Date());
-				userAXQDao.insert(userAXQInfoEntity);
+				userAXQInfoMapper.insert(userAXQInfoEntity);
 			}
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -70,30 +77,48 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 	}
 
 	@Override
-	public ResponseDTO<?> uploadSeal(String idCard, String contractId, String content) {
+	public ResponseDTO<?> uploadSeal(String businessNo, JSONArray jsonArray) {
 		try {
-			QueryWrapper<UserAXQInfoEntity> qw = new QueryWrapper<>();
-			qw.eq("id_card", idCard);
-			qw.eq("user_status", "1");
-			UserAXQInfoEntity entity = userAXQDao.selectOne(qw);
-            String ocrName = TencentServiceUtil.getHandwritingText(content);
-            if(!ocrName.equals(entity.getUserName())){
-                return ResponseDTO.error(ResultCode.HANDWRITING_FAIL);
-            }
-            // 上传/修改用户签章
-            CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
-            if(StringUtils.isEmpty(entity.getAxqSealId())){
-                String sealId = CFCACertUtil.addSealWithContent(entity.getAxqUserId(), content);
-                entity.setAxqSealId(sealId);
-                UserAXQInfoEntity saveEntiy = new UserAXQInfoEntity();
-                saveEntiy.setId(entity.getId());
-                saveEntiy.setAxqSealId(sealId);
-                userAXQDao.updateById(saveEntiy);
-            }else{
-                CFCACertUtil.updateSealWithContent(entity.getAxqUserId(),entity.getAxqSealId(),content);
-            }
-			// 文件签名
-			signContract(entity, contractId);
+			List<UploadSignInfoVO> signInfoList = new ArrayList<>();
+			for (Object object : jsonArray) {
+				JSONObject jsonObject = (JSONObject) object;
+				String idCard = jsonObject.getString("idCard");
+				String imageId = jsonObject.getString("imageId");
+				//
+				FileInfoEntity fileInfo = fileInfoMapper.selectById(imageId);
+				String content = inputStream2Base64(FileUploadUtil.getInputStream(fileInfo.getPath()));
+				UserAXQInfoEntity entity = userAXQInfoRepository.getUserAXQInfoWithIdcard(idCard);
+				CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
+				if (!StringUtils.isEmpty(entity.getAxqSealId())) {
+					CFCACertUtil.updateSealWithContent(entity.getAxqUserId(), entity.getAxqSealId(), content);
+				} else {
+					String sealId = CFCACertUtil.addSealWithContent(entity.getAxqUserId(), content);
+					entity.setAxqSealId(sealId);
+					UserAXQInfoEntity updateEntity = new UserAXQInfoEntity();
+					updateEntity.setId(entity.getId());
+					updateEntity.setAxqSealId(sealId);
+					userAXQInfoMapper.updateById(updateEntity);
+				}
+				// 签名用户信息
+				UploadSignInfoVO notartyUser = new UploadSignInfoVO();
+				notartyUser.setUserId(entity.getAxqUserId());
+				notartyUser.setSealId(entity.getAxqSealId());
+				notartyUser.setLocation("210.74.41.0");
+				notartyUser.setAuthorizationTime("20220214171200");
+				//
+				signInfoList.add(notartyUser);
+			}
+			// 客户经理签名信息
+			OrderEntity order = orderRepository.getOrderByBizNo(businessNo);
+			SysUserEntity customer = sysUserMapper.selectById(order.getCustomerId());
+			UploadSignInfoVO notartyUser = new UploadSignInfoVO();
+			notartyUser.setUserId(customer.getAxqUserId());
+			notartyUser.setSealId(customer.getAxqSealId());
+			notartyUser.setLocation("210.74.41.0");
+			notartyUser.setAuthorizationTime("20220214171200");
+			signInfoList.add(notartyUser);
+			//
+			signContract(signInfoList, businessNo, order.getProdId());
 		} catch (Exception e) {
 			e.printStackTrace();
 			return ResponseDTO.error(ResultCode.FILE_UPLOAD_FAIL);
@@ -107,7 +132,7 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 			QueryWrapper<UserAXQInfoEntity> qw = new QueryWrapper<>();
 			qw.eq("id_card", idCard);
 			qw.eq("user_status", "1");
-			UserAXQInfoEntity entity = userAXQDao.selectOne(qw);
+			UserAXQInfoEntity entity = userAXQInfoMapper.selectOne(qw);
 			CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
 			// 发送授权验证码
 			CFCACertUtil.sendAuthMessage(entity.getAxqUserId());
@@ -124,14 +149,14 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 			QueryWrapper<UserAXQInfoEntity> qw = new QueryWrapper<>();
 			qw.eq("id_card", idCard);
 			qw.eq("user_status", "1");
-			UserAXQInfoEntity entity = userAXQDao.selectOne(qw);
+			UserAXQInfoEntity entity = userAXQInfoMapper.selectOne(qw);
 			CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
 			CFCACertUtil.confirmAuthMessage(entity.getAxqUserId(), checkCode);
 			//
 			UserAXQInfoEntity saveEntiy = new UserAXQInfoEntity();
 			saveEntiy.setId(entity.getId());
 			saveEntiy.setAxqIsAuth("1");
-			userAXQDao.updateById(saveEntiy);
+			userAXQInfoMapper.updateById(saveEntiy);
 		} catch (Exception e) {
 			e.printStackTrace();
 			return ResponseDTO.error(ResultCode.AXQ_AUTH_FAIL);
@@ -141,31 +166,24 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 
 	/**
 	 * 公证文书签名
-	 * @param entity
-	 * @param contractId
+	 *
+	 * @param signInfoList
+	 * @param businessNo
+	 * @param prodId
 	 */
-	private void signContract(UserAXQInfoEntity entity, String contractId){
-		// 签名用户信息
-		UploadSignInfoVO notartyUser = new UploadSignInfoVO();
-		notartyUser.setUserId(entity.getAxqUserId());
-		notartyUser.setSealId(entity.getAxqSealId());
-		notartyUser.setLocation("210.74.41.0");
-		notartyUser.setAuthorizationTime("20220214171200");
-		//
-		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListByCodes(contractId, "1,2,3,4,5,6,7,8,9".split(","));
+	private void signContract(List<UploadSignInfoVO> signInfoList, String businessNo, String prodId) {
+		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListWithCodes(prodId, businessNo, "1,2,3,4,5,6,7,8,9".split(","));
 		CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
-		String orderType = StepStatusEnum.getType(contractId);
-		String uplaodPath = orderFileList.get(0).getBusinessNo() + "/" + orderType + "/";
-		String path = uplaodPath + "signed-doc-" + entity.getIdCard() + "/";
 		for (OrderFileEntity orderFile : orderFileList) {
+			String path = businessNo + "/signed-doc-" + orderFile.getId() + "/";
 			OrderFileEntity updateOrderFile = new OrderFileEntity();
 			updateOrderFile.setId(orderFile.getId());
 			updateOrderFile.setUpdateTime(new Date());
-			updateOrderFile.setUpdaterId(entity.getId().longValue());
+			updateOrderFile.setUpdaterId(-1l);
 			try {
 				InputStream inputStream = FileUploadUtil.getInputStream(orderFile.getPdfUrl());
 				String fileName = FileUploadUtil.getFileName(orderFile.getPdfUrl());
-				String axqContractNo = CFCACertUtil.uploadSignContract(notartyUser, inputStream, fileName);
+				String axqContractNo = CFCACertUtil.uploadMultiSignContract(signInfoList, null, null, inputStream, fileName);
 				updateOrderFile.setAxqContractNo(axqContractNo);
 				updateOrderFile.setAxqSignedTime(new Date());
 				//
@@ -176,14 +194,14 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 			}
 			orderFileMapper.updateById(updateOrderFile);
 		}
-    }
+	}
 
 	@Override
 	public ResponseDTO<?> getAuthStatus(String idCard) {
 		QueryWrapper<UserAXQInfoEntity> userQw = new QueryWrapper<>();
 		userQw.eq("id_card", idCard);
 		userQw.eq("user_status", "1");
-		UserAXQInfoEntity userAXQInfoEntity = userAXQDao.selectOne(userQw);
+		UserAXQInfoEntity userAXQInfoEntity = userAXQInfoMapper.selectOne(userQw);
 		String authStatus = StringUtils.isEmpty(userAXQInfoEntity.getAxqIsAuth()) ? "0" : userAXQInfoEntity.getAxqIsAuth();
 		if ("0".equals(authStatus)) {
 			CFCACertUtil.proxySwitchOn = "dev".equals(systemEnv);
@@ -195,7 +213,7 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 					UserAXQInfoEntity saveEntiy = new UserAXQInfoEntity();
 					saveEntiy.setId(userAXQInfoEntity.getId());
 					saveEntiy.setAxqIsAuth("1");
-					userAXQDao.updateById(saveEntiy);
+					userAXQInfoMapper.updateById(saveEntiy);
 				}
 			} catch (Exception e) {
 				e.printStackTrace();
@@ -205,6 +223,36 @@ public class UserAXQInfoServiceImpl extends ServiceImpl<IUserAXQInfoDao, UserAXQ
 		return ResponseDTO.success(authStatus);
 	}
 
+	/**
+	 * 将InputStream转为Base64
+	 * @param is
+	 * @return
+	 * @throws Exception
+	 */
+	private String inputStream2Base64(InputStream is) throws Exception {
+		byte[] data = null;
+		try {
+			ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
+			byte[] buff = new byte[100];
+			int rc = 0;
+			while ((rc = is.read(buff, 0, 100)) > 0) {
+				swapStream.write(buff, 0, rc);
+			}
+			data = swapStream.toByteArray();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			if (is != null) {
+				try {
+					is.close();
+				} catch (IOException e) {
+					throw new Exception("输入流关闭异常");
+				}
+			}
+		}
+		return Base64.getEncoder().encodeToString(data);
+	}
+
 	public static void main(String[] args) {
 		String keyName = "10020220620124519009/borrower/01a245333ef6463984fefbabc6a12dee.pdf";
 		int index = keyName.lastIndexOf("/");

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

@@ -2,20 +2,19 @@ package me.zhengjie.application.user.app.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
-import me.zhengjie.application.bank.service.*;
-import me.zhengjie.base.config.TencentHumanFaceVerify;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
-import me.zhengjie.base.util.tencent.h5face.SdkTest;
-import me.zhengjie.base.util.FileUploadUtil;
+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.*;
+import me.zhengjie.application.user.service.ApiService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.config.TencentHumanFaceVerify;
+import me.zhengjie.base.mq.RedisCacheConfig;
+import me.zhengjie.base.util.FileUploadUtil;
+import me.zhengjie.base.util.tencent.h5face.SdkTest;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
-import me.zhengjie.base.mq.RedisCacheConfig;
-import me.zhengjie.application.user.service.ApiService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -83,7 +82,7 @@ public class AppUserController {
 
 		Integer size = Integer.MAX_VALUE;
 
-		List<OrderDto> list = this.apiService.getOrderList(user, startIndex, size);
+		List<BankOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
 		return ResponseDTO.success(list);
 	}
 
@@ -94,7 +93,7 @@ public class AppUserController {
 		if (StringUtils.isEmpty(orderId)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		OrderDto order = this.apiService.getOrderDetail(orderId);
+		BankOrderVO order = this.apiService.getOrderDetail(orderId);
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
 		}
@@ -121,21 +120,22 @@ public class AppUserController {
 	public ResponseDTO<?> getOrderPDF(@RequestBody String json) {
 
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		ResponseDTO<?> order = this.apiService.getOrderPDF(orderId);
+		ResponseDTO<?> order = this.apiService.getOrderPDF(businessNo, prodId);
 
 		return order;
 	}
 	@RequestMapping("/order/search")
-	public ResponseDTO<?> orderSearch( @RequestBody OrderVo order ) {
+	public ResponseDTO<?> orderSearch( @RequestBody BankOrderVO order ) {
 		 
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		 List<OrderDto> orders = this.apiService.getOrderByContion(order);
+		 List<BankOrderVO> orders = this.apiService.getOrderByContion(order);
 		
 		return ResponseDTO.success(orders);
 	}
@@ -143,12 +143,13 @@ public class AppUserController {
 	public ResponseDTO<?> note(@RequestBody String json) {
 
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
 		//
-		OrderFileEntity orderFile = orderFileRepository.getOrderNote(orderId);
+		OrderFileEntity orderFile = orderFileRepository.getOrderNote(businessNo,prodId);
 		// pdf的地址预览
 		String noteUrl = FileUploadUtil.getPreviewUrl(orderFile.getHtmlUrl());
 
@@ -194,7 +195,7 @@ public class AppUserController {
 		if (StringUtils.isEmpty(orderId)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		OrderDto order = this.apiService.getOrderDetail(orderId);
+		BankOrderVO order = this.apiService.getOrderDetail(orderId);
 		JSONObject str = SdkTest.getFaceId(faceVerify.getClientWebankAppId(), faceVerify.getClientSecret(),
 				faceVerify.getClientKeyLicence(), order.getUsername(), order.getIdCard(), orderId);
 		return ResponseDTO.success(str);
@@ -258,21 +259,26 @@ public class AppUserController {
 
 	@AnonymousPostMapping("/uploadSeal")
 	public ResponseDTO<?> uploadSeal(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		String contractId = jsonObj.getString("contractId");
-		String content = jsonObj.getString("content");
-		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(contractId) || StringUtils.isEmpty(content)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.uploadSeal(idCard, contractId, content);
+//		JSONObject jsonObj = JSONObject.parseObject(json);
+//		String idCard = jsonObj.getString("idCard");
+//		String contractId = jsonObj.getString("contractId");
+//		String content = jsonObj.getString("content");
+//		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(contractId) || StringUtils.isEmpty(content)) {
+//			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+//		}
+//		return userAXQInfoService.uploadSeal(idCard, contractId, content);
+		return null;
 	}
 
 	@RequestMapping("/getNotarization")
 	public ResponseDTO<?> getNotarization(@RequestBody String json) {
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(orderId);
-		return ResponseDTO.success(orderFile.getSignedPdfUrl());
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
+			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+		}
+		OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(prodId, businessNo);
+		return ResponseDTO.success(FileUploadUtil.getPreviewUrl(orderFile.getSignedPdfUrl()));
 	}
 }

+ 9 - 9
eladmin-system/src/main/java/me/zhengjie/application/user/app/mq/WebSocketReceiver.java

@@ -4,7 +4,7 @@ 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.admin.service.NotaryOrderService;
+import me.zhengjie.application.admin.service.AdminOrderService;
 import me.zhengjie.application.admin.service.dto.JwtUserDto;
 import me.zhengjie.application.admin.service.dto.RoleSmallDto;
 import me.zhengjie.application.admin.service.dto.UserDto;
@@ -12,7 +12,8 @@ import me.zhengjie.application.bank.service.SysUserService;
 import me.zhengjie.base.util.ApplicationContextUtil;
 import me.zhengjie.base.util.WebSocketMap;
 import me.zhengjie.base.websocket.AppSocketServer;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
+import me.zhengjie.dao.mybatis.OrderRepository;
+import me.zhengjie.dao.mybatis.entity.OrderEntity;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
 import me.zhengjie.security.service.OnlineUserService;
 import me.zhengjie.security.service.dto.OnlineUserDto;
@@ -32,10 +33,10 @@ import java.util.concurrent.CopyOnWriteArraySet;
 @RequiredArgsConstructor
 public class WebSocketReceiver implements MessageListener {
 
-	final OnlineUserService onlineUserService;
-	final NotaryOrderService notaryOrderService;
-	final SysUserService sysUserService;
-	final ApplicationContextUtil contextUtil;
+	private final OnlineUserService onlineUserService;
+	private final SysUserService sysUserService;
+	private final ApplicationContextUtil contextUtil;
+	private final OrderRepository orderRepository;
 
 	/**
 	 * 推送公证员接单消息
@@ -52,9 +53,7 @@ public class WebSocketReceiver implements MessageListener {
 		String businessNo = jsonObj.getString("businessNo");
 		List<OnlineUserDto> users = onlineUserService.getAllLoginUser();
 		// share_userId
-		QueryWrapper<NotaryOrderEntity> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("business_no", businessNo);
-		NotaryOrderEntity notaryOrder = notaryOrderService.getOne(queryWrapper);
+		OrderEntity notaryOrder = orderRepository.getOrderByBizNo(businessNo);
 		SysUserEntity sysUser = sysUserService.getById(notaryOrder.getCustomerId());
 		// socketId,后期修改到redis里面
 		String socketId = String.valueOf(new Date().getTime());
@@ -74,6 +73,7 @@ public class WebSocketReceiver implements MessageListener {
 						obj.put("accountId", userDto.getUsername());
 						obj.put("orderId", orderId);
 						obj.put("roomId", roomId);
+						obj.put("prodId",notaryOrder.getProdId());
 						obj.put("businessNo", businessNo);
 						obj.put("customerIdCard", sysUser.getIdCard());
 						obj.put("userId", sysUser.getUserId());

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

@@ -2,18 +2,17 @@ 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.OrderDto;
-import me.zhengjie.application.bank.service.*;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
+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.*;
+import me.zhengjie.application.user.service.ApiService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.mq.RedisCacheConfig;
+import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
-import me.zhengjie.base.mq.RedisCacheConfig;
-import me.zhengjie.application.user.service.ApiService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -79,7 +78,7 @@ public class MiniUserController {
 
 		Integer size = Integer.MAX_VALUE;
 
-		List<OrderDto> list = this.apiService.getOrderList(user, startIndex, size);
+		List<BankOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
 		return ResponseDTO.success(list);
 	}
 
@@ -90,19 +89,19 @@ public class MiniUserController {
 		if (StringUtils.isEmpty(orderId)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		OrderDto order = this.apiService.getOrderDetail(orderId);
+		BankOrderVO order = this.apiService.getOrderDetail(orderId);
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
 		}
 		return ResponseDTO.success(order);
 	}
 	@RequestMapping("/order/search")
-	public ResponseDTO<?> orderSearch( @RequestBody OrderVo order ) {
+	public ResponseDTO<?> orderSearch( @RequestBody BankOrderVO order ) {
 		 
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		 List<OrderDto> orders = this.apiService.getOrderByContion(order);
+		 List<BankOrderVO> orders = this.apiService.getOrderByContion(order);
 		
 		return ResponseDTO.success(orders);
 	}
@@ -127,11 +126,12 @@ public class MiniUserController {
 	public ResponseDTO<?> getOrderPDF(@RequestBody String json) {
 
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		ResponseDTO<?> order = this.apiService.getOrderPDF(orderId);
+		ResponseDTO<?> order = this.apiService.getOrderPDF(businessNo,prodId);
 
 		return order;
 	}
@@ -140,12 +140,13 @@ public class MiniUserController {
 	public ResponseDTO<?> note(@RequestBody String json) {
 		
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		if (StringUtils.isEmpty(orderId)) {
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
 		//
-		OrderFileEntity orderFile = orderFileRepository.getOrderNote(orderId);
+		OrderFileEntity orderFile = orderFileRepository.getOrderNote(businessNo,prodId);
 		// pdf的地址预览
 		String noteUrl = FileUploadUtil.getPreviewUrl(orderFile.getHtmlUrl());
 		
@@ -253,21 +254,26 @@ public class MiniUserController {
 
 	@RequestMapping("/uploadSeal")
 	public ResponseDTO<?> uploadSeal(@RequestBody String json) {
-		JSONObject jsonObj = JSONObject.parseObject(json);
-		String idCard = jsonObj.getString("idCard");
-		String contractId = jsonObj.getString("contractId");
-		String content = jsonObj.getString("content");
-		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(contractId) || StringUtils.isEmpty(content)) {
-			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
-		}
-		return userAXQInfoService.uploadSeal(idCard, contractId, content);
+//		JSONObject jsonObj = JSONObject.parseObject(json);
+//		String idCard = jsonObj.getString("idCard");
+//		String contractId = jsonObj.getString("contractId");
+//		String content = jsonObj.getString("content");
+//		if (StringUtils.isEmpty(idCard) || StringUtils.isEmpty(contractId) || StringUtils.isEmpty(content)) {
+//			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+//		}
+//		return userAXQInfoService.uploadSeal(idCard, contractId, content);
+		return null;
 	}
 
 	@RequestMapping("/getNotarization")
 	public ResponseDTO<?> getNotarization(@RequestBody String json) {
 		JSONObject jsonObj = JSONObject.parseObject(json);
-		String orderId = jsonObj.getString("orderId");
-		OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(orderId);
+		String prodId = jsonObj.getString("prodId");
+		String businessNo = jsonObj.getString("businessNo");
+		if (StringUtils.isEmpty(prodId) || StringUtils.isEmpty(businessNo)) {
+			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
+		}
+		OrderFileEntity orderFile = orderFileRepository.getOrderNotarization(prodId,businessNo);
 		return ResponseDTO.success(orderFile.getSignedPdfUrl());
 	}
 

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

@@ -1,34 +1,31 @@
 package me.zhengjie.application.user.service;
 
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.web.multipart.MultipartFile;
-
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 public interface ApiService {
 
 	ResponseDTO<?> login(SmsVo sms);
 
-	List<OrderDto> getOrderList(UserVo user, Integer pageIndex, Integer pageSize);
+	List<BankOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize);
 
-	OrderDto getOrderDetail(String orderId);
+	BankOrderVO getOrderDetail(String orderId);
 
 	public ResponseDTO<?> videoCall(String json);
 
 	ResponseDTO<?> videoComplete(HttpServletRequest request);
 
-	ResponseDTO<?> getOrderPDF(String orderId);
+	ResponseDTO<?> getOrderPDF(String businessNo,String prodId);
 
 	ResponseDTO<?> appUpload(MultipartFile file, HttpServletRequest request);
 
 	ResponseDTO<?> sendSms(HttpServletRequest request, String phone);
 
-	public List<OrderDto> getOrderByContion(OrderVo user);
+	public List<BankOrderVO> getOrderByContion(BankOrderVO user);
 }

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

@@ -1,36 +1,9 @@
 package me.zhengjie.application.user.service.impl;
 
-import java.io.IOException;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import me.zhengjie.security.security.TokenProvider;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
 import com.alibaba.fastjson.JSONObject;
-
 import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.bank.controller.vo.Account;
-import me.zhengjie.application.bank.controller.vo.FileInfoDto;
-import me.zhengjie.application.bank.controller.vo.Order;
-import me.zhengjie.application.bank.controller.vo.OrderDto;
-import me.zhengjie.application.bank.controller.vo.OrderVo;
-import me.zhengjie.application.bank.controller.vo.Sms;
-import me.zhengjie.application.bank.controller.vo.SmsVo;
-import me.zhengjie.application.bank.controller.vo.UserVo;
-import me.zhengjie.application.bank.service.ModelService;
-import me.zhengjie.application.bank.service.OrderRoomIdService;
-import me.zhengjie.application.bank.service.OrderService;
-import me.zhengjie.application.bank.service.OssService;
-import me.zhengjie.application.bank.service.PdfService;
-import me.zhengjie.application.bank.service.SmsService;
+import me.zhengjie.application.bank.controller.vo.*;
+import me.zhengjie.application.bank.service.*;
 import me.zhengjie.application.user.service.ApiService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
@@ -38,15 +11,23 @@ import me.zhengjie.base.mq.RedisCacheConfig;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.IpAddressUtil;
 import me.zhengjie.base.util.StatusEnum;
-import me.zhengjie.dao.jdbc.AccountDao;
-import me.zhengjie.dao.jdbc.ConfinfoDao;
-import me.zhengjie.dao.jdbc.FileInfoDao;
-import me.zhengjie.dao.jdbc.ModelDao;
-import me.zhengjie.dao.jdbc.OrderDao;
+import me.zhengjie.dao.jdbc.*;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
 import me.zhengjie.dao.mybatis.entity.OrderRoomIdEntity;
-import me.zhengjie.dao.mybatis.mapper.NotaryOrderMapper;
+import me.zhengjie.dao.mybatis.mapper.OrderMapper;
+import me.zhengjie.security.security.TokenProvider;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
 
 @Slf4j
 @Service
@@ -85,7 +66,7 @@ public class ApiServiceImpl implements ApiService {
 	@Autowired
 	OrderRoomIdService orderRoomIdService;
 	@Autowired
-	NotaryOrderMapper orderMapper;
+    OrderMapper orderMapper;
 	@Autowired
 	OrderFileRepository orderFileRepository;
 
@@ -135,10 +116,10 @@ public class ApiServiceImpl implements ApiService {
 	}
 
 	@Override
-	public List<OrderDto> getOrderList(UserVo user, Integer pageIndex, Integer pageSize) {
-		OrderVo order = new OrderVo();
-		order.setIdCode(user.getIdCode());
-		order.setUserName(user.getUserName());
+	public List<BankOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize) {
+		BankOrderVO order = new BankOrderVO();
+		order.setIdCard(user.getIdCode());
+		order.setUsername(user.getUserName());
 		order.setPhone(user.getPhone());
 		order.setStatus(user.getStatus());
 		return getOrderByContion(order);
@@ -146,12 +127,12 @@ public class ApiServiceImpl implements ApiService {
 	}
 
 	@Override
-	public List<OrderDto> getOrderByContion(OrderVo orderVo) {
+	public List<BankOrderVO> getOrderByContion(BankOrderVO orderVo) {
 		return orderService.getOrderByContion(orderVo);
 	}
 
 	@Override
-	public OrderDto getOrderDetail(String orderId) {
+	public BankOrderVO getOrderDetail(String orderId) {
 
 		// 判断id的前两位数据看是那个表的
 		return orderService.getOrderById(orderId);
@@ -203,8 +184,8 @@ public class ApiServiceImpl implements ApiService {
 	}
 
 	@Override
-	public ResponseDTO<?> getOrderPDF(String orderId) {
-		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListByCodes(orderId, "1,2,3,4,5".split(","));
+	public ResponseDTO<?> getOrderPDF(String businessNo,String prodId) {
+		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListWithCodes(prodId,businessNo, "1,2,3,4,5".split(","));
 		List<FileInfoDto> infos = new ArrayList<>();
 		for (OrderFileEntity orderFile : orderFileList) {
 			FileInfoDto info = new FileInfoDto();

+ 2 - 2
eladmin-system/src/main/java/me/zhengjie/base/util/CFCACertUtil.java

@@ -133,7 +133,7 @@ public class CFCACertUtil {
 	 * 
 	 * @param userId
 	 * @param sealId
-	 * @param filePath
+	 * @param b
 	 * @throws Exception
 	 */
 	public static void updateSeal(String userId, String sealId, byte[] b) throws Exception {
@@ -180,7 +180,7 @@ public class CFCACertUtil {
 	 * 为指定用户添加印章
 	 *
 	 * @param userId
-	 * @param filePath
+	 * @param b
 	 * @return 返回印章ID
 	 * @throws Exception
 	 */

+ 7 - 20
eladmin-system/src/main/java/me/zhengjie/base/util/DownloadUtils.java

@@ -1,5 +1,11 @@
 package me.zhengjie.base.util;
 
+import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
+import cn.hutool.core.io.IoUtil;
+import me.zhengjie.base.config.AppConfigInfo;
+import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
+import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
@@ -8,24 +14,6 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.collections.CollectionUtils;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.xxl.job.core.context.XxlJobHelper;
-
-import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
-import cn.hutool.core.io.IoUtil;
-import me.zhengjie.base.config.AppConfigInfo;
-import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
-import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
-import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
-import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOfficeEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
-import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
-import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-import me.zhengjie.utils.StringUtils;
-
 /**
  * 使用java中的文件流下载网上的图片,保存到本地
  *
@@ -73,8 +61,7 @@ public class DownloadUtils {
 
 	/**
 	 * 公证书电子签名
-	 * 
-	 * @param orderFile
+	 *
 	 */
 	public static void signNotarization() throws Exception {
 

+ 31 - 33
eladmin-system/src/main/java/me/zhengjie/base/util/FileUploadUtil.java

@@ -80,8 +80,7 @@ public class FileUploadUtil {
 	/**
 	 * 对字节数组字符串进行Base64解码并生成图片,注意处理图片前面是否加了data:image/png;这个
 	 * 
-	 * @param imgStr      图片数据
-	 * @param imgFilePath 保存图片全路径地址
+	 * @param image      图片数据
 	 * @return
 	 */
 	public static String saveImage(ImageUploadVo image) {
@@ -226,9 +225,7 @@ public class FileUploadUtil {
 	/**
 	 * 上传文件通过文件的流
 	 * 
-	 * @param filePath
-	 * @param contentType
-	 * @param input
+	 * @param file
 	 * @throws Exception
 	 */
 	public static String upload(FileVo file) {
@@ -287,34 +284,14 @@ public class FileUploadUtil {
 //			return null;
 //		}
 //	}
-	public static String saveHtml(String html, String businessNo, String orderId) {
+
+	public static String saveHtml(String html, String businessNo) {
 		if (html == null) {
 			return null;
 		}
 		// 拼接文件路径
 		String fileName = UUIDGenerator.uuid() + ".html";
-		String filePath = businessNo + "/" + StepStatusEnum.getType(orderId) + "/" + fileName;
-		try {
-			ByteArrayInputStream bis = new ByteArrayInputStream(html.getBytes("UTF-8"));
-			// File file, String data, Charset charset
-			FileHandleVo fileHandlevo = new FileHandleVo();
-			fileHandlevo.setFilePath(filePath);
-			fileHandlevo.setContentType("text/html");
-			fileHandlevo.setInputStream(bis);
-			fileHandle.uploadFileStream(fileHandlevo);
-			bis.close();
-			return filePath;
-		} catch (Exception e) {
-			log.error("上传图片失败:" + e.getLocalizedMessage());
-			return null;
-		}
-	}
-	public static String saveHtml(String filePath, String html) {
-		if (html == null) {
-			return null;
-		}
-		// 拼接文件路径
-	 
+		String filePath = businessNo + "/" + fileName;
 		try {
 			ByteArrayInputStream bis = new ByteArrayInputStream(html.getBytes("UTF-8"));
 			// File file, String data, Charset charset
@@ -330,12 +307,33 @@ public class FileUploadUtil {
 			return null;
 		}
 	}
+//	public static String saveHtml(String filePath, String html) {
+//		if (html == null) {
+//			return null;
+//		}
+//		// 拼接文件路径
+//
+//		try {
+//			ByteArrayInputStream bis = new ByteArrayInputStream(html.getBytes("UTF-8"));
+//			// File file, String data, Charset charset
+//			FileHandleVo fileHandlevo = new FileHandleVo();
+//			fileHandlevo.setFilePath(filePath);
+//			fileHandlevo.setContentType("text/html");
+//			fileHandlevo.setInputStream(bis);
+//			fileHandle.uploadFileStream(fileHandlevo);
+//			bis.close();
+//			return filePath;
+//		} catch (Exception e) {
+//			log.error("上传图片失败:" + e.getLocalizedMessage());
+//			return null;
+//		}
+//	}
 	/**
 	 * 上传文件通过文件的流
 	 * 
 	 * @param filePath
 	 * @param contentType
-	 * @param input
+	 * @param inputSteam
 	 * @throws Exception
 	 */
 	public static void uploadFile(String filePath, String contentType, InputStream inputSteam) throws Exception {
@@ -365,7 +363,7 @@ public class FileUploadUtil {
 	 * 
 	 * @param filePath
 	 * @param contentType
-	 * @param input
+	 * @param b
 	 * @throws Exception
 	 */
 	public static void uploadFile(String filePath, String contentType, byte[] b) throws Exception {
@@ -410,7 +408,7 @@ public class FileUploadUtil {
 //	}
 	/**
 	 * Return the absolute temp dir for given web server.
-	 * @param prefix server name
+	 * @param temp server name
 	 * @return the temp dir for given server.
 	 */
 	public static String createTempDir(String temp) {
@@ -426,14 +424,14 @@ public class FileUploadUtil {
 					"Unable to create tempDir. java.io.tmpdir is set to " + System.getProperty("java.io.tmpdir"), ex);
 		}
 	}
-	public static String savePdf(String html, String businessNo, String orderId) {
+	public static String savePdf(String html, String businessNo) {
 		if (html == null) {
 			return null;
 		}
 		String uploadPath = tempDir;
 		// 拼接文件路径
 		String fileName = UUIDGenerator.uuid() + ".pdf";
-		String path = businessNo + "/" + StepStatusEnum.getType(orderId) + "/" + fileName;
+		String path = businessNo + "/" + fileName;
 		String sourceFilePath = uploadPath + path;
 		InputStream inputStream = null;
 		try {

+ 12 - 0
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/BankRepository.java

@@ -0,0 +1,12 @@
+package me.zhengjie.dao.mybatis;
+
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.dao.mybatis.entity.BankEntity;
+import me.zhengjie.dao.mybatis.mapper.BankMapper;
+import org.springframework.stereotype.Component;
+
+@RequiredArgsConstructor
+@Component
+public class BankRepository {
+    private final BankMapper bankMapper;
+}

+ 14 - 0
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/FileInfoRepository.java

@@ -0,0 +1,14 @@
+package me.zhengjie.dao.mybatis;
+
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
+import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
+import org.springframework.stereotype.Component;
+
+@RequiredArgsConstructor
+@Component
+public class FileInfoRepository {
+    private final FileInfoMapper fileInfoMapper;
+
+
+}

+ 29 - 4
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/ModelRepository.java

@@ -6,6 +6,8 @@ import me.zhengjie.dao.mybatis.entity.ModelEntity;
 import me.zhengjie.dao.mybatis.mapper.ModelMapper;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 @RequiredArgsConstructor
 @Component
 public class ModelRepository {
@@ -15,13 +17,15 @@ public class ModelRepository {
     /**
      * 是否存在编辑中的模板
      *
+     * @param prodId 产品ID
      * @param notaryOfficeId 公证处ID
      * @param codes          模板类型
      * @return 存在返回true,不存在返回false
      */
-    public boolean existModelInEditing(String notaryOfficeId, String[] codes) {
+    public boolean existModelInEditing(String prodId,String notaryOfficeId, String[] codes) {
         QueryWrapper<ModelEntity> qw = new QueryWrapper<>();
         qw.eq("notary_office_id", notaryOfficeId);
+        qw.eq("product_type",prodId);
         qw.eq("status", 0);
         qw.in("code", codes);
         long count = modelMapper.selectCount(qw);
@@ -30,27 +34,48 @@ public class ModelRepository {
 
     /**
      * 是否存在编辑中的模板
+     *
+     * @param prodId
      * @param notaryOfficeId
      * @param code
      * @return
      */
-    public boolean existModelInEditing(String notaryOfficeId, String code) {
+    public boolean existModelInEditing(String prodId, String notaryOfficeId, String code) {
         String[] codes = {code};
-        return existModelInEditing(notaryOfficeId, codes);
+        return existModelInEditing(prodId, notaryOfficeId, codes);
     }
 
     /**
      * 查询指定公证处指定状态的指定类型模板
+     *
+     * @param prodId
      * @param notaryOfficeId
      * @param code
      * @param status
      * @return
      */
-    public ModelEntity getModelEntity(String notaryOfficeId, String code, String status){
+    public ModelEntity getModelEntity(String prodId, String notaryOfficeId, String code, String status) {
         QueryWrapper<ModelEntity> modelQw = new QueryWrapper<>();
         modelQw.eq("notary_office_id", notaryOfficeId);
+        modelQw.eq("product_type", prodId);
         modelQw.eq("code", code);
         modelQw.eq("status", status);
         return modelMapper.selectOne(modelQw);
     }
+
+    /**
+     * 获取通用模板
+     *
+     * @param prodId
+     * @param notaryOfficeId
+     * @return
+     */
+    public List<ModelEntity> getCommonModel(String prodId, String notaryOfficeId) {
+        QueryWrapper<ModelEntity> model = new QueryWrapper<ModelEntity>();
+        model.eq("notary_office_id", notaryOfficeId);
+        model.eq("status", 1);
+        model.eq("product_type", prodId);
+        model.in("code", "1,2,3,4,5".split(","));
+        return modelMapper.selectList(model);
+    }
 }

+ 41 - 29
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OrderFileRepository.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.RequiredArgsConstructor;
 import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
 import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
+import me.zhengjie.domain.order.OrderConstant;
+import me.zhengjie.domain.order.OrderFileConstant;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -17,13 +20,17 @@ public class OrderFileRepository {
     /**
      * 获取指定订单指定类型的公证文书列表
      *
-     * @param contractId
+     * @param prodId
+     * @param businessNo
      * @param codes
      * @return
      */
-    public List<OrderFileEntity> getOrderFileListByCodes(String contractId, String[] codes) {
+    public List<OrderFileEntity> getOrderFileListWithCodes(String prodId, String businessNo, String[] codes) {
         QueryWrapper<OrderFileEntity> qw = new QueryWrapper<>();
-        qw.eq("contract_id", contractId);
+        if (!StringUtils.isEmpty(prodId)) {
+            qw.eq("prod_id", prodId);
+        }
+        qw.eq("business_no", businessNo);
         qw.in("code", codes);
         qw.orderByAsc("sort_num");
         return orderFileMapper.selectList(qw);
@@ -32,13 +39,14 @@ public class OrderFileRepository {
     /**
      * 获取指定订单指定类型的公证文书
      *
-     * @param contractId
+     * @param prodId
+     * @param businessNo
      * @param code
      * @return
      */
-    public OrderFileEntity getOrderFileByCode(String contractId, String code) {
+    public OrderFileEntity getOrderFileWithCode(String prodId, String businessNo, String code) {
         String[] codes = {code};
-        List<OrderFileEntity> orderFileList = getOrderFileListByCodes(contractId, codes);
+        List<OrderFileEntity> orderFileList = getOrderFileListWithCodes(prodId, businessNo, codes);
         if (orderFileList != null && orderFileList.size() > 0) {
             return orderFileList.get(0);
         }
@@ -46,45 +54,49 @@ public class OrderFileRepository {
     }
 
     /**
-     * 获取指定订单公证书
-     * @param contractId
+     * 获取指定订单指定产品的公证书
+     *
+     * @param prodId
+     * @param businessNo
      * @return
      */
-    public OrderFileEntity getOrderNotarization(String contractId) {
-        String code = "";
-        if ("10".equals(contractId.substring(0, 2))) {
-            code = "10";
-        } else if ("11".equals(contractId.substring(0, 2))) {
-            code = "12";
-        } else {
-            code = "11";
-        }
-        return getOrderFileByCode(contractId, code);
+    public OrderFileEntity getOrderNotarization(String prodId, String businessNo) {
+        return getOrderFileWithCode(prodId, businessNo, OrderFileConstant.TYPE_CODE_NOTARIZATION);
     }
 
     /**
-     * 获取指定订单面谈笔录
-     * @param contractId
+     * 获取指定订单指定产品面谈笔录
+     *
+     * @param businessNo
+     * @param prodId
      * @return
      */
-    public OrderFileEntity getOrderNote(String contractId) {
-        List<OrderFileEntity> orderFileList = getOrderFileListByCodes(contractId, "6,7,8,9".split(","));
-        if (orderFileList != null && orderFileList.size() > 0) {
-            return orderFileList.get(0);
-        }
-        return null;
+    public OrderFileEntity getOrderNote(String businessNo, String prodId) {
+        return getOrderFileWithCode(prodId, businessNo, OrderFileConstant.TYPE_CODE_NOTE);
     }
 
     /**
      * 获取指定订单可以签名的公证书列表
+     *
      * @param orderIdList
      * @return
      */
-    public List<OrderFileEntity> canBeSignedNotarization(List<Long> orderIdList) {
+    public List<OrderFileEntity> canBeSignedNotarization(List<String> orderIdList) {
         QueryWrapper<OrderFileEntity> qw = new QueryWrapper<>();
-        qw.in("contract_id", orderIdList);
-        qw.in("code", "10,11,12".split(","));
+        qw.in("business_no", orderIdList);
+        qw.in("code", OrderFileConstant.TYPE_CODE_NOTARIZATION);
         qw.isNotNull("doc_no");
         return orderFileMapper.selectList(qw);
     }
+
+    /**
+     * 删除订单的公证文书
+     *
+     * @param businessNO
+     */
+    public void delFileWithBizNO(String businessNO) {
+        QueryWrapper<OrderFileEntity> qw = new QueryWrapper<>();
+        qw.eq("business_no", businessNO);
+        orderFileMapper.delete(qw);
+    }
 }

+ 59 - 8
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OrderRepository.java

@@ -5,31 +5,70 @@ import lombok.RequiredArgsConstructor;
 import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
 import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
 import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
+import me.zhengjie.dao.mybatis.entity.OrderEntity;
 import me.zhengjie.dao.mybatis.mapper.BorrowerMapper;
 import me.zhengjie.dao.mybatis.mapper.GuaranteeMapper;
 import me.zhengjie.dao.mybatis.mapper.MortgageMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOrderMapper;
+import me.zhengjie.dao.mybatis.mapper.OrderMapper;
+import me.zhengjie.domain.order.OrderConstant;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 @RequiredArgsConstructor
 @Component
 public class OrderRepository {
 
-    final NotaryOrderMapper notaryOrderMapper;
+    final OrderMapper orderMapper;
     final BorrowerMapper borrowerMapper;
     final MortgageMapper mortgageMapper;
     final GuaranteeMapper guaranteeMapper;
 
     /**
      * 根据业务编号获取主订单
-     * @param businessNo 主订单业务编号
+     * @param businessNO 主订单业务编号
      * @return 主订单
      */
-    public NotaryOrderEntity getOrderEntityByBizNo(String businessNo) {
-        QueryWrapper<NotaryOrderEntity> qw = new QueryWrapper<>();
-        qw.eq("business_no", businessNo);
-        return notaryOrderMapper.selectOne(qw);
+    public OrderEntity getOrderByBizNo(String businessNO) {
+        QueryWrapper<OrderEntity> qw = new QueryWrapper<>();
+        qw.eq("business_no", businessNO);
+        return orderMapper.selectOne(qw);
+    }
+
+    /**
+     * 根据业务编号获取借款人信息
+     *
+     * @param businessNO
+     * @return
+     */
+    public BorrowerEntity getBorrowerByBizNo(String businessNO) {
+        QueryWrapper<BorrowerEntity> qw = new QueryWrapper<>();
+        qw.eq("business_no", businessNO);
+        return borrowerMapper.selectOne(qw);
+    }
+
+    /**
+     * 根据业务编号获取抵押人信息
+     *
+     * @param businessNO
+     * @return
+     */
+    public MortgageEntity getMortgageByBizNo(String businessNO) {
+        QueryWrapper<MortgageEntity> qw = new QueryWrapper<>();
+        qw.eq("business_no", businessNO);
+        return mortgageMapper.selectOne(qw);
+    }
+
+    /**
+     * 根据业务编号获取担保人信息
+     *
+     * @param businessNO
+     * @return
+     */
+    public GuaranteeEntity getGuaranteeByBizNo(String businessNO) {
+        QueryWrapper<GuaranteeEntity> qw = new QueryWrapper<>();
+        qw.eq("business_no", businessNO);
+        return guaranteeMapper.selectOne(qw);
     }
 
     /**
@@ -64,4 +103,16 @@ public class OrderRepository {
         qw.eq("business_no", businessNo);
         return guaranteeMapper.selectCount(qw);
     }
+
+    /**
+     * 获取能够自动生成公证书的订单列表
+     *
+     * @return
+     */
+    public List<OrderEntity> canBeAutoSignedOrder(){
+        QueryWrapper<OrderEntity> orderQw = new QueryWrapper<>();
+        orderQw.eq("status", OrderConstant.ORDER_STATUS_NOTARIZED);
+        orderQw.eq("auto_generate", OrderConstant.NOTARIZATION_GENERATE_AUTO);
+        return orderMapper.selectList(orderQw);
+    }
 }

+ 26 - 0
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/UserAXQInfoRepository.java

@@ -0,0 +1,26 @@
+package me.zhengjie.dao.mybatis;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
+import me.zhengjie.dao.mybatis.mapper.UserAXQInfoMapper;
+import org.springframework.stereotype.Component;
+
+@RequiredArgsConstructor
+@Component
+public class UserAXQInfoRepository {
+    private final UserAXQInfoMapper userAXQInfoMapper;
+
+    /**
+     * 使用身份证号查询用户安心签信息
+     *
+     * @param idCard
+     * @return
+     */
+    public UserAXQInfoEntity getUserAXQInfoWithIdcard(String idCard) {
+        QueryWrapper<UserAXQInfoEntity> qw = new QueryWrapper<>();
+        qw.eq("id_card", idCard);
+        qw.eq("user_status", "1");
+        return userAXQInfoMapper.selectOne(qw);
+    }
+}

+ 0 - 144
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/NotaryOrderEntity.java

@@ -1,144 +0,0 @@
-package me.zhengjie.dao.mybatis.entity;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.*;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- * 公证订单
- * </p>
- *
- * @author <a href="https://www.fengwenyi.com?code">Erwin Feng</a>
- * @since 2022-03-28
- */
-@Getter
-@Setter
-@Accessors(chain = true)
-@TableName("`order`")
-@AllArgsConstructor
-@NoArgsConstructor
-@Builder
-public class NotaryOrderEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    /**
-     * 业务编号
-     */
-    @TableField("business_no")
-    private String businessNo;
-
-    /**
-     * 借款合同编号
-     */
-    @TableField("contract_no")
-    private String contractNo;
-
-    /**
-     * 借款人
-     */
-    @TableField("loan_name")
-    private String loanName;
-
-    /**
-     * 手机号
-     */
-    @TableField("phone")
-    private String phone;
-
-    /**
-     * 借款金额
-     */
-    @TableField("loan_money")
-    private String loanMoney;
-
-    /**
-     * 身份证
-     */
-    @TableField("id_card")
-    private String idCard;
-
-    /**
-     * 申请时间
-     */
-    @TableField("apply_time")
-    private String applyTime;
-
-    /**
-     * 所属银行id
-     */
-    @TableField("bank_id")
-    private String bankId;
-
-
-    /**
-     * 所属银行名称
-     */
-    @TableField("bank_name")
-    private String bankName;
-
-
-    /**
-     * 客户经理id
-     */
-    @TableField("customer_id")
-    private String customerId;
-
-    /**
-     * 客户经理名称
-     */
-    @TableField("customer_name")
-    private String customerName;
-
-    @TableField("creator")
-    private String creator;
-
-    @TableField("updater")
-    private String updater;
-
-
-    @TableField(value="createTime", fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    @TableField(value = "updateTime", fill = FieldFill.UPDATE)
-    private LocalDateTime updateTime;
-
-    /**
-     * 订单状态 1.待公证 2待审核 3已签发 4已驳回
-     */
-    @TableField("status")
-    private String status;
-
-    /**
-     * 退回原因
-     */
-    @TableField("return_reason")
-    private String returnReason;
-    /**
-     * 驳回原因
-     */
-    @TableField("reject_reason")
-    private String rejectReason;
-
-    @TableField("notary_office_id")
-    private String notaryOfficeId;
-
-    @TableField("auto_generate")
-    private String autoGenerate;
-
-//    /**
-//     * 是否删除  1 删除
-//     */
-//    @TableField("del_flag")
-//    @TableLogic
-//    private Integer delFlag;
-
-
-}

+ 26 - 219
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/OrderEntity.java

@@ -1,22 +1,19 @@
 package me.zhengjie.dao.mybatis.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.*;
+import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
-/**
- * <p>
- * 
- * </p>
- *
- * @author humuyu
- * @since 2022-03-31
- */
+@Getter
+@Setter
+@Accessors(chain = true)
 @TableName("`order`")
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
 public class OrderEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -24,259 +21,69 @@ public class OrderEntity implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
-    /**
-     * 业务编号
-     */
     @TableField("business_no")
     private String businessNo;
 
-    /**
-     * 借款合同号
-     */
     @TableField("contract_no")
     private String contractNo;
 
-    /**
-     * 借款人
-     */
     @TableField("loan_name")
     private String loanName;
 
-    /**
-     * 手机号
-     */
     @TableField("phone")
     private String phone;
 
-    /**
-     * 借款金额
-     */
     @TableField("loan_money")
     private String loanMoney;
 
-    /**
-     * 身份证
-     */
     @TableField("id_card")
     private String idCard;
 
-    /**
-     * 申请时间
-     */
     @TableField("apply_time")
     private String applyTime;
 
-    /**
-     * 所属银行id
-     */
     @TableField("bank_id")
     private String bankId;
 
-    /**
-     * 所属银行
-     */
     @TableField("bank_name")
     private String bankName;
 
-    /**
-     * 地址
-     */
     @TableField("customer_id")
     private String customerId;
 
-    /**
-     * 法人
-     */
     @TableField("customer_name")
     private String customerName;
 
-    /**
-     * 是否有签字
-     */
     @TableField("creator")
-    private Integer creator;
+    private String creator;
 
-    /**
-     * 负责人
-     */
     @TableField("updater")
-    private Integer updater;
+    private String updater;
 
-    /**
-     * 创建时间
-     */
-    @TableField("createTime")
+    @TableField(value="createTime", fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
-    @TableField("reject_reason")
-    private String rejectReason;
-    /**
-     * 更新时间
-     */
-    @TableField("updateTime")
+    @TableField(value = "updateTime", fill = FieldFill.UPDATE)
     private LocalDateTime updateTime;
 
-    /**
-     * 退回原因
-     */
+    @TableField("status")
+    private String status;
+
     @TableField("return_reason")
     private String returnReason;
 
-    public String getReturnReason(){
-        return returnReason;
-    }
-
-    public void setReturnReason(String returnReason){
-        this.returnReason = returnReason;
-    }
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getBusinessNo() {
-        return businessNo;
-    }
-
-    public void setBusinessNo(String businessNo) {
-        this.businessNo = businessNo;
-    }
-
-    public String getContractNo() {
-        return contractNo;
-    }
-
-    public void setContractNo(String contractNo) {
-        this.contractNo = contractNo;
-    }
-
-    public String getLoanName() {
-        return loanName;
-    }
-
-    public void setLoanName(String loanName) {
-        this.loanName = loanName;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
-
-    public String getLoanMoney() {
-        return loanMoney;
-    }
-
-    public void setLoanMoney(String loanMoney) {
-        this.loanMoney = loanMoney;
-    }
-
-    public String getIdCard() {
-        return idCard;
-    }
-
-    public void setIdCard(String idCard) {
-        this.idCard = idCard;
-    }
-
-    public String getApplyTime() {
-        return applyTime;
-    }
-
-    public void setApplyTime(String applyTime) {
-        this.applyTime = applyTime;
-    }
-
-    public String getBankId() {
-        return bankId;
-    }
-
-    public void setBankId(String bankId) {
-        this.bankId = bankId;
-    }
-
-    public String getBankName() {
-        return bankName;
-    }
-
-    public void setBankName(String bankName) {
-        this.bankName = bankName;
-    }
-
-    public String getCustomerId() {
-        return customerId;
-    }
-
-    public void setCustomerId(String customerId) {
-        this.customerId = customerId;
-    }
-
-    public String getCustomerName() {
-        return customerName;
-    }
-
-    public void setCustomerName(String customerName) {
-        this.customerName = customerName;
-    }
-
-    public Integer getCreator() {
-        return creator;
-    }
-
-    public void setCreator(Integer creator) {
-        this.creator = creator;
-    }
-
-    public Integer getUpdater() {
-        return updater;
-    }
-
-    public void setUpdater(Integer updater) {
-        this.updater = updater;
-    }
-
-    public LocalDateTime getCreateTime() {
-        return createTime;
-    }
+    @TableField("reject_reason")
+    private String rejectReason;
 
-    public void setCreateTime(LocalDateTime createTime) {
-        this.createTime = createTime;
-    }
+    @TableField("notary_office_id")
+    private String notaryOfficeId;
 
-    public LocalDateTime getUpdateTime() {
-        return updateTime;
-    }
+    @TableField("auto_generate")
+    private String autoGenerate;
 
-    public void setUpdateTime(LocalDateTime updateTime) {
-        this.updateTime = updateTime;
-    }
+    @TableField("prod_id")
+    private String prodId;
 
-    @Override
-    public String toString() {
-        return "OrderEntity{" +
-        "id=" + id +
-        ", businessNo=" + businessNo +
-        ", contractNo=" + contractNo +
-        ", loanName=" + loanName +
-        ", phone=" + phone +
-        ", loanMoney=" + loanMoney +
-        ", idCard=" + idCard +
-        ", applyTime=" + applyTime +
-        ", bankId=" + bankId +
-        ", bankName=" + bankName +
-        ", customerId=" + customerId +
-        ", customerName=" + customerName +
-        ", creator=" + creator +
-        ", updater=" + updater +
-        ", createTime=" + createTime +
-        ", updateTime=" + updateTime +
-        "}";
-    }
+    @TableField("contract_attachment")
+    private String contractAttachment;
 }

+ 3 - 0
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/OrderFileEntity.java

@@ -65,4 +65,7 @@ public class OrderFileEntity implements Serializable {
 
     @TableField("file_name")
     private String fileName;
+
+    @TableField("prod_id")
+    private String prodId;
 }

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IFileInfoDao.java

@@ -14,6 +14,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 2022-03-10
  */
 @Mapper
-public interface IFileInfoDao extends BaseMapper<FileInfoEntity> {
+public interface FileInfoMapper extends BaseMapper<FileInfoEntity> {
 
 }

+ 0 - 18
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IOrderDao.java

@@ -1,18 +0,0 @@
-package me.zhengjie.dao.mybatis.mapper;
-
-import me.zhengjie.dao.mybatis.entity.OrderEntity;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author humuyu
- * @since 2022-03-10
- */
-@Mapper
-public interface IOrderDao extends BaseMapper<OrderEntity> {
-
-}

+ 2 - 2
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/NotaryOrderMapper.java

@@ -1,7 +1,7 @@
 package me.zhengjie.dao.mybatis.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import me.zhengjie.dao.mybatis.entity.NotaryOrderEntity;
+import me.zhengjie.dao.mybatis.entity.OrderEntity;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -13,6 +13,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 2022-03-28
  */
 @Mapper
-public interface NotaryOrderMapper extends BaseMapper<NotaryOrderEntity> {
+public interface OrderMapper extends BaseMapper<OrderEntity> {
 
 }

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/ISysUserDao.java

@@ -13,6 +13,6 @@ import org.apache.ibatis.annotations.Mapper;
  * @since 2022-03-10
  */
 @Mapper
-public interface ISysUserDao extends BaseMapper<SysUserEntity> {
+public interface SysUserMapper extends BaseMapper<SysUserEntity> {
 
 }

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/mapper/IUserAXQInfoDao.java

@@ -5,5 +5,5 @@ import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
-public interface IUserAXQInfoDao extends BaseMapper<UserAXQInfoEntity> {
+public interface UserAXQInfoMapper extends BaseMapper<UserAXQInfoEntity> {
 }

+ 15 - 0
eladmin-system/src/main/java/me/zhengjie/domain/order/OrderConstant.java

@@ -7,4 +7,19 @@ public class OrderConstant {
     public static final String ORDER_TYPE_BORROWER = "borrower";
     public static final String ORDER_TYPE_MORTGAGE = "mortgage";
     public static final String ORDER_TYPE_GUARANTEE = "guarantee";
+    /**
+     * 订单状态
+     */
+    public static final String ORDER_STATUS_NOTARIZED = "3";
+    /**
+     * 公证书生成方式标记
+     */
+    public static final String NOTARIZATION_GENERATE_HAND = "0";
+    public static final String NOTARIZATION_GENERATE_AUTO = "1";
+    /**
+     * 产品ID
+     */
+    public static final String PROD_ID_XED = "ZH04035";
+    public static final String PROD_ID_YXD = "ZH04021";
+    public static final String PROD_ID_CD = "ZH02001";
 }

+ 6 - 0
eladmin-system/src/main/java/me/zhengjie/domain/order/OrderFileConstant.java

@@ -0,0 +1,6 @@
+package me.zhengjie.domain.order;
+
+public class OrderFileConstant {
+    public static final String TYPE_CODE_NOTE = "6";
+    public static final String TYPE_CODE_NOTARIZATION = "10";
+}

+ 5 - 2
eladmin-system/src/main/resources/config/application-prod.yml

@@ -178,9 +178,12 @@ tencent:
     webankAppId: TIDAa18H
     secret: vyzhltzExvtpU3O0wiSveww6DVxQ3EvV5RGdM5U8Jpp2BoL059ahJ4U76jMSvouT
     keyLicence: Jpzb+BHO3aJ3FSjhsnXS43gHs20FSljKz0lthOlVhURvlePnisObmeO5EJjCXgZeZgo9KpJyADz4dcQREVAzuaxRPmhAx4ljpmZeVizNQWuxzLnDAGy8UgFzpAdCBemWrfTTt9f56JFRLdpmmMweyImHa4rDxLbdqqvXuiQLoaIvthbJLu3LO7mNscNkSn8xdhqqgIjX8DfroC99ykff8f7QTcK38iLjGQeI8sY79YY1a++Op5xpvfYZXm2Wdb6hI+rB+ndkWPNpPyP4f2m3/lkEvEMpoKOldQ7ebJQkTigDMvQ1pdBnYTrVVZKQgJ5nDSSVobYcxN2EZxeco9k/7A==
+  #ttlsig:
+  #  sdkappid: 1400696976
+  #  key: 6de92e8e066c2d28c5260f38a3abeb29840c9b2c6444d25f7b5c85de1c58b23b
   ttlsig:
-    sdkappid: 1400696976
-    key: 6de92e8e066c2d28c5260f38a3abeb29840c9b2c6444d25f7b5c85de1c58b23b
+    sdkappid: 1400574616
+    key: 9ef701536792a0bdacf7dbf902301a1f113d200157e9e6be368b3dadba321800
 
 xxl:
   job:

+ 16 - 2
eladmin-system/src/main/resources/config/application.yml

@@ -3,7 +3,7 @@ spring:
   freemarker:
     check-template-location: false
   profiles:
-    active: prod
+    active: dev
   jackson:
     time-zone: GMT+8
   data:
@@ -50,6 +50,20 @@ user-cache:
   min-evictable-interval: 1800000
   # 最小存活时间 (ms)
   min-idle-time: 3600000
+
 app:
   exclude:
-    log: /api/monitor,
+    log: /api/monitor,
+
+fqgz:
+  bank:
+    app:
+      url-prefix: /api/bank-app
+  user:
+    app:
+      url-prefix: /api/user-app
+    mini:
+      url-prefix: /api/user-mini
+  admin:
+    web:
+      url-prefix: /api/admin-web

+ 1 - 1
eladmin-system/src/main/resources/mapper/FileInfoMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="me.zhengjie.dao.mybatis.mapper.IFileInfoDao">
+<mapper namespace="me.zhengjie.dao.mybatis.mapper.FileInfoMapper">
 
 </mapper>

+ 1 - 1
eladmin-system/src/main/resources/mapper/SysUserMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="me.zhengjie.dao.mybatis.mapper.ISysUserDao">
+<mapper namespace="me.zhengjie.dao.mybatis.mapper.SysUserMapper">
 
 </mapper>

+ 86 - 49
eladmin-system/src/main/resources/template/note/notary-note.html

@@ -1,59 +1,96 @@
 <!doctype html>
 <html>
 <head>
-<meta charset="UTF-8">
-<title>谈话笔录</title>
-<style type="text/css">
-	.box {
-		border: 1px solid gray;
-		width: 554px;
-		margin: 0 auto;
-		padding: 0px 120px;
-		/*font-family: "Songti SC Regular";*/
-		font-family: FZFangSong-Z02S;
-		line-height: 28px;
-	}
-	.box h1 {
-		font-size: 18px;
-		display: block;
-		width: 100%;
-		text-align: center;
-		padding-top: 5px;
-	}
-	.box p {
-		font-size: 14px;
-		text-indent: 0px;
-	}
-	.box ul.b {
-		font-size: 14px;
-	}
-	.box ul.b li {
-		list-style:none;
-		padding-top:5px;
-	}
-	.box h3 {
-		text-align: right;
-		font-size: 14px;
-	}
-	.box h3.sign {
-		padding-right: 140px; 
-	}
-	.box h3 i {
-		font-style: normal;
-		padding-left: 50px;
-	}
-</style>
+	<meta charset="UTF-8">
+	<title>问询笔录</title>
+	<style type="text/css">
+		.box {
+			/*border: 1px solid gray;*/
+			width: 554px;
+			margin: 0 auto;
+			padding: 0px 120px;
+			/*font-family: "Songti SC Regular";*/
+			font-family: FZFangSong-Z02S;
+			line-height: 28px;
+			font-size: 14px;
+		}
+		.box table.tb {
+			width: 100%;
+			border-top: 1px solid #ddd;
+		}
+		.box table.tb td {
+			border-bottom: 1px solid #ddd;
+			padding: 0 10px;
+		}
+		.box table.tb td.left {
+			border-left: 1px solid #ddd;
+			width: 50%;
+		}
+
+
+		.box h1 {
+			font-size: 18px;
+			display: block;
+			width: 100%;
+			text-align: center;
+			padding-top: 5px;
+		}
+		.box p {
+			font-size: 14px;
+			text-indent: 24px;
+		}
+		.box ul {
+			list-style: none;
+			padding: 0;
+			margin: 0;
+		}
+		.box ul.b {
+			font-size: 14px;
+		}
+		.box ul.b li {
+			list-style:none;
+			padding-top:5px;
+		}
+		.box h3 {
+			text-align: right;
+			font-size: 14px;
+		}
+		.box h3.sign {
+			padding-right: 140px;
+		}
+		.box h3 i {
+			font-style: normal;
+			padding-left: 50px;
+		}
+	</style>
 </head>
 
 <body>
 <div class="box">
-	<h1>谈话笔录</h1>
-    <ul class="b">
-    	${QuestionAnswerList}
-    </ul>
-	<p>好,稍后请您在谈话笔录上签名.</p>
-	<h3 class="sign">确认人签名:</h3>
+	<h1>公证问询笔录</h1>
+	<table border="0" cellspacing="0" cellpadding="0" class="tb">
+		<tr>
+			<td>询问日期:${yyyyMMdd}</td>
+			<td class="left">询问地点:江苏省南通市南通公证处</td>
+		</tr>
+		<tr>
+			<td>询问人:${NotaryUserName}</td>
+			<td class="left">记录人:${NotaryUserName}</td>
+		</tr>
+		<tr>
+			<td colspan="2">
+				被询问人:<br/>
+				${QueryUsers}
+			</td>
+		</tr>
+	</table>
+	<p>公证人员已告知被询问人:被询问人应当如实说明申请公证事项的有关情况,提供真实、合法、充分的证明材料。因说明不属实引起的法律责任由被询问人承担。</p>
+	被询问内容:<br/>
+	<ul class="b">
+		${QuestionAnswerList}
+	</ul>
+	<h3 class="sign">公证当事人签章:</h3>
 	<h3>日期:${yyyyMMdd}</h3>
-</div>	
+</div>
 </body>
 </html>