浏览代码

增加手工重签普通公证文书功能

sakuya 3 年之前
父节点
当前提交
cb429e6012

+ 29 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/AdminNotarizationManageController.java

@@ -0,0 +1,29 @@
+package me.zhengjie.application.admin.controller;
+
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.application.admin.service.AdminNotarizationManageService;
+import me.zhengjie.base.AppBaseResponse;
+import me.zhengjie.base.ResultCode;
+import me.zhengjie.domain.user.UserDomain;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+@RequiredArgsConstructor
+@RequestMapping("${fqgz.admin.web.url-prefix}/notarization-manage")
+public class AdminNotarizationManageController {
+    private final UserDomain userDomain;
+    private final AdminNotarizationManageService adminNotarizationManageService;
+
+    @GetMapping("/resign-common-doc/{businessNo}")
+    public AppBaseResponse resignCommonDoc(@PathVariable String businessNo) {
+        String maxRole = userDomain.getUserMaxRole();
+        if (!"超级管理员".equals(maxRole)) {
+            return AppBaseResponse.error(ResultCode.PERMISSION_UNAUTHORISE);
+        }
+        adminNotarizationManageService.resignCommonDoc(businessNo);
+        return AppBaseResponse.success();
+    }
+}

+ 5 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/service/AdminNotarizationManageService.java

@@ -0,0 +1,5 @@
+package me.zhengjie.application.admin.service;
+
+public interface AdminNotarizationManageService {
+    void resignCommonDoc(String businessNo);
+}

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

@@ -0,0 +1,60 @@
+package me.zhengjie.application.admin.service.impl;
+
+import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.application.admin.service.AdminNotarizationManageService;
+import me.zhengjie.application.bank.service.UserAXQInfoService;
+import me.zhengjie.dao.mybatis.ContractOrderRepository;
+import me.zhengjie.dao.mybatis.UserAXQInfoRepository;
+import me.zhengjie.dao.mybatis.entity.ContractOrderEntity;
+import me.zhengjie.dao.mybatis.entity.SysUserEntity;
+import me.zhengjie.dao.mybatis.entity.UserAXQInfoEntity;
+import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
+import me.zhengjie.domain.order.OrderConstant;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class AdminNotarizationManageServiceImpl implements AdminNotarizationManageService {
+
+    private final ContractOrderRepository contractOrderRepository;
+    private final UserAXQInfoRepository userAXQInfoRepository;
+    private final UserAXQInfoService userAXQInfoService;
+    private final SysUserMapper userMapper;
+
+    @Override
+    public void resignCommonDoc(final String businessNo) {
+        ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
+        List<UploadSignInfoVO> signInfoList = new ArrayList<>();
+        List<String> idCardList = new ArrayList<>();
+        idCardList.add(contractOrderEntity.getIdCard());
+        if (contractOrderEntity.getJointFlag() == OrderConstant.JOINT_FLAG_TRUE) {
+            idCardList.add(contractOrderEntity.getJointIdCard());
+        }
+        for (String idCard : idCardList) {
+            UserAXQInfoEntity entity = userAXQInfoRepository.getUserAXQInfoWithIdcard(idCard);
+            UploadSignInfoVO notartyUser = new UploadSignInfoVO();
+            notartyUser.setUserId(entity.getAxqUserId());
+            notartyUser.setSealId(entity.getAxqSealId());
+            notartyUser.setLocation("210.74.41.0");
+            notartyUser.setAuthorizationTime("20220214171200");
+            signInfoList.add(notartyUser);
+        }
+        SysUserEntity customer = userMapper.selectById(contractOrderEntity.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);
+        //
+        try {
+            userAXQInfoService.signContract(signInfoList, businessNo);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

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

@@ -1,8 +1,11 @@
 package me.zhengjie.application.bank.service;
 
+import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
 import com.alibaba.fastjson.JSONArray;
 import me.zhengjie.base.ResponseDTO;
 
+import java.util.List;
+
 public interface UserAXQInfoService {
 
     ResponseDTO<?> registAXQUser(String idCard, String phone, String name);
@@ -14,4 +17,6 @@ public interface UserAXQInfoService {
     ResponseDTO<?> verifyAuthMessage(String idCard, String checkCode);
 
     ResponseDTO<?> getAuthStatus(String idCard);
+
+    void signContract(List<UploadSignInfoVO> signInfoList, String businessNo) throws Exception;
 }

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

@@ -166,7 +166,8 @@ public class UserAXQInfoServiceImpl implements UserAXQInfoService {
 	 * @param businessNo
 	 * @throws Exception
 	 */
-	private void signContract(List<UploadSignInfoVO> signInfoList, String businessNo) throws Exception {
+	@Override
+	public void signContract(List<UploadSignInfoVO> signInfoList, String businessNo) throws Exception {
 		String[] codes = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
 		List<OrderFileEntity> orderFileList = orderFileRepository.getOrderFileListWithCodes(businessNo, codes);
 		// 取出所有的二进制流