yangyang 3 yıl önce
ebeveyn
işleme
ed438d37df

+ 11 - 2
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/AdminOrderController.java

@@ -2,6 +2,7 @@ package me.zhengjie.application.admin.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
@@ -11,13 +12,13 @@ import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.AppResultData;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.base.util.StatusEnum;
 import me.zhengjie.base.util.TencentServiceUtil;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.Base64;
 import java.util.HashMap;
@@ -224,4 +225,12 @@ public class AdminOrderController {
 	public AppBaseResponse getDocList(@RequestBody NotaryOrderQueryReq req) {
 		return adminOrderService.getDocList(req);
 	}
+
+	@ApiOperation("导出任务数据")
+	@PostMapping(value = "/download")
+	@PreAuthorize("@el.check('timing:list')")
+	public void exportQuartzJob(HttpServletResponse response,@RequestBody NotaryOrderQueryReq criteria) throws IOException {
+		adminOrderService.download(criteria, response);
+	}
+
 }

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

@@ -1,13 +1,12 @@
 package me.zhengjie.application.admin.controller.vo;
 
-import java.time.LocalDateTime;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import groovy.transform.ToString;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.time.LocalDateTime;
+
 /**
  * @author SONG
  * @version 0.1.0
@@ -56,6 +55,12 @@ public class NotaryOrderQueryRsp {
 	private String consultNo;
 	// 创建时间
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime issuedTime;
+	// 申请时间
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime rejectTime;
+	// 创建时间
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private LocalDateTime createTime;
 	// 申请时间
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

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

@@ -4,13 +4,14 @@ import cfca.trustsign.common.vo.cs.UploadSignInfoVO;
 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.base.util.CFCACertUtil;
 import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.base.util.StatusEnum.StepStatusEnum;
-import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.ContractOrderRepository;
-import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.OrderFileRepository;
+import me.zhengjie.dao.mybatis.entity.ContractOrderEntity;
+import me.zhengjie.dao.mybatis.entity.NotaryOfficeEntity;
+import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
+import me.zhengjie.dao.mybatis.entity.SysUserEntity;
 import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
 import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
 import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
@@ -105,6 +106,7 @@ public class GenerateNotarizationJob {
         String path = uplaodPath + "notary-signed-" + orderFile.getBusinessNo() + "/";
         String filePath = cfcaCertUtil.download(path, orderFile.getAxqContractNo());
         saveAuthNorizationUrlById(filePath, orderFile.getId());
+        ModifyComplete(orderFile.getBusinessNo());
     }
 
     /**
@@ -136,4 +138,16 @@ public class GenerateNotarizationJob {
         saveOrderFile.setUpdateTime(new Date());
         orderFileMapper.updateById(saveOrderFile);
     }
+
+
+    /**
+     * 更新已签发时间
+     * @param no
+     */
+    private void ModifyComplete(String no){
+        ContractOrderEntity contractOrderEntity = new ContractOrderEntity();
+        contractOrderEntity.setBusinessNo(no);
+        contractOrderEntity.setIssuedTime(new Date());
+        contractOrderRepository.updateWithBizNo(contractOrderEntity);
+    }
 }

+ 11 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/service/AdminOrderService.java

@@ -7,6 +7,8 @@ import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
 import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
 import me.zhengjie.dao.mybatis.entity.MortgageEntity;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -64,4 +66,13 @@ public interface AdminOrderService {
 	OrderDetailDto getOrderDetail(String businessNo);
 	
 	public void updateStatus(NotaryOrderQueryReq req);
+
+    void download(NotaryOrderQueryReq queryReq, HttpServletResponse response) throws IOException;
+//
+//    /**
+//     * 查询全部
+//     * @param criteria 条件
+//     * @return /
+//     */
+//    List<QuartzJob> queryAll(List<String>list);
 }

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

@@ -1,41 +1,12 @@
 package me.zhengjie.application.admin.service.impl;
 
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import me.zhengjie.base.util.*;
-import me.zhengjie.dao.mybatis.entity.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import me.zhengjie.application.admin.controller.vo.AdminBorrowerVO;
-import me.zhengjie.application.admin.controller.vo.AdminGuaranteeVO;
-import me.zhengjie.application.admin.controller.vo.AdminMortgageVO;
-import me.zhengjie.application.admin.controller.vo.AdminOrderVO;
-import me.zhengjie.application.admin.controller.vo.BankCustomerVo;
-import me.zhengjie.application.admin.controller.vo.FileVo;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderInfoQueryRsp;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryReq;
-import me.zhengjie.application.admin.controller.vo.NotaryOrderQueryRsp;
-import me.zhengjie.application.admin.controller.vo.OrderDetailDto;
-import me.zhengjie.application.admin.controller.vo.PartyEntity;
+import me.zhengjie.application.admin.controller.vo.*;
 import me.zhengjie.application.admin.service.AdminOrderService;
+import me.zhengjie.application.admin.service.DictDetailService;
 import me.zhengjie.application.admin.service.OrderCochainService;
 import me.zhengjie.application.admin.service.SmsTemplateService;
 import me.zhengjie.application.bank.service.BankOrderService;
@@ -44,29 +15,29 @@ import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.AppResultData;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.plus.QueryWrapperUtil;
+import me.zhengjie.base.util.*;
 import me.zhengjie.base.util.StatusEnum.NotaryStatusEnum;
 import me.zhengjie.dao.mybatis.ContractOrderRepository;
 import me.zhengjie.dao.mybatis.ModelRepository;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
-import me.zhengjie.dao.mybatis.mapper.BankMapper;
-import me.zhengjie.dao.mybatis.mapper.BorrowerMapper;
-import me.zhengjie.dao.mybatis.mapper.CityMapper;
-import me.zhengjie.dao.mybatis.mapper.ContractOrderMapper;
-import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
-import me.zhengjie.dao.mybatis.mapper.GuaranteeMapper;
-import me.zhengjie.dao.mybatis.mapper.ModelMapper;
-import me.zhengjie.dao.mybatis.mapper.MortgageMapper;
-import me.zhengjie.dao.mybatis.mapper.NotarizationNoMapper;
-import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
-import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
-import me.zhengjie.dao.mybatis.mapper.ProvinceMapper;
-import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
-import me.zhengjie.dao.mybatis.mapper.UserRepository;
+import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.mapper.*;
 import me.zhengjie.domain.model.ModelConstant;
 import me.zhengjie.domain.model.ModelSynthesizerDomain;
 import me.zhengjie.domain.order.OrderBizCodeMessage;
 import me.zhengjie.domain.order.OrderConstant;
 import me.zhengjie.domain.user.UserDomain;
+import me.zhengjie.utils.FileUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -131,6 +102,8 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	SmsTemplateService smsTemplateService;
 	@Autowired
     HtmlConvertToPdf htmlConvertToPdf;
+	@Autowired
+	private DictDetailService dictDetailService;
 
 	@Override
 	public AppBaseResponse<List<NotaryOrderQueryRsp>> query(NotaryOrderQueryReq req) {
@@ -349,6 +322,42 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	
 		
 	}
+
+	@Override
+	public void download(NotaryOrderQueryReq queryAll, HttpServletResponse response) throws IOException {
+		List<ContractOrderEntity> queryList = queryList(queryAll);
+		List<Map<String, Object>> list = new ArrayList<>();
+		if (null!=queryList){
+			List<OrderFileEntity> orderFileEntities = queryOrderFile(queryList);
+			Map<String, String> productIdMap = dictDetailService.getValueByName("product_id");
+			Map<String, String> productTypeMap = dictDetailService.getValueByName("product_type");
+			for (int i = 0; i < queryList.size(); i++) {
+				for (int j = orderFileEntities.size() - 1; j >= 0; j--) {
+					if (queryList.get(i).getBusinessNo().equals(orderFileEntities.get(j).getBusinessNo())){
+						Map<String,Object> map = new LinkedHashMap<>();
+						map.put("受理咨询号",queryList.get(i).getConsultNo());
+						map.put("公证书编号",orderFileEntities.get(j).getDocNo());
+						map.put("产品类型",productIdMap.get(queryList.get(i).getProdId()));
+						map.put("合同名称",productTypeMap.get(queryList.get(i).getContractType()));
+						map.put("合同编号",queryList.get(i).getContractNo());
+						map.put("当事人",queryList.get(i).getName());
+						map.put("当事人手机号",queryList.get(i).getPhone());
+						map.put("当事人证件号",queryList.get(i).getIdCard());
+						map.put("合同金额",queryList.get(i).getContractMoney());
+						map.put("公证员",queryList.get(i).getNotaryUserName());
+						map.put("客户经理",queryList.get(i).getCustomerName());
+						map.put("所属银行",queryList.get(i).getBankName());
+						map.put("共同责任人身份证号码",queryList.get(i).getJointIdCard());
+						map.put("共同责任人姓名",queryList.get(i).getJointName());
+						map.put("签发时间",DateFormatUtils.formatDatetime(queryList.get(i).getIssuedTime()));
+						list.add(map);
+					}
+				}
+			}
+			FileUtil.downloadExcel(list, response);
+		}
+	}
+
 	@Override
 	public AppBaseResponse orderReject(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
@@ -769,4 +778,24 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 		return Arrays.asList(intArray);
 	}
 
+	private List<ContractOrderEntity> queryList(NotaryOrderQueryReq req) {
+//		AppBaseResponse<List<NotaryOrderQueryRsp>> response = new AppBaseResponse<>();
+		QueryWrapper<ContractOrderEntity> qw = getQueryWrapper(req);
+//		if (qw == null) {
+//			response.fail(ResultCode.PERMISSION_UNAUTHENTICATED);
+//			return response;
+//		}
+		List<ContractOrderEntity> list = contractOrderMapper.selectList(qw);
+
+		return list;
+	}
+
+	private List<OrderFileEntity>queryOrderFile(List<ContractOrderEntity> req){
+		List<String>mList=new ArrayList<>();
+		for (int i = 0; i < req.size(); i++) {
+			mList.add(req.get(i).getBusinessNo());
+		}
+		List<OrderFileEntity> orderNoteList = orderFileRepository.getOrderNoteList(mList);
+		return orderNoteList;
+	}
 }

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

@@ -1,6 +1,5 @@
 package me.zhengjie.application.bank.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
@@ -209,6 +208,7 @@ public class BankOrderServiceImpl implements BankOrderService {
             order.setReturnReason(message);
         } else if (OrderConstant.ORDER_STATUS_REJECTED.equals(status)) {
             order.setRejectReason(message);
+            order.setRejectTime(new Date());
         }
         contractOrderRepository.updateWithBizNo(order);
     }

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

@@ -183,4 +183,10 @@ public class ContractOrderEntity implements Serializable {
 
     @TableField("contract_term")
     private String contractTerm;
+
+    @TableField(value = "issued_time", fill = FieldFill.UPDATE)
+    private Date issuedTime;
+
+    @TableField(value = "reject_time", fill = FieldFill.UPDATE)
+    private Date rejectTime;
 }

+ 45 - 26
eladmin-system/src/main/resources/config/application-dev.yml

@@ -1,16 +1,16 @@
 #配置数据源
 server:
-  port: 8000
+  port: 9101
 spring:
   mvc:
     static-path-pattern: /image/**
   resources:
-    static-locations: file:/image/,file:/image/
+    static-locations: file:/nt/image/,file:/nt/image/
   datasource:
     druid:
       db-type: com.alibaba.druid.pool.DruidDataSource
       driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
-      url: jdbc:log4jdbc:mysql://${DB_HOST:114.55.230.80}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false
+      url: jdbc:log4jdbc:mysql://${DB_HOST:114.55.230.80}:${DB_PORT:3306}/${DB_NAME:nt-test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false
       username: ${DB_USER:root}
       password: ${DB_PWD:QopraffaQWPRPPR123}
       # 初始连接数
@@ -56,10 +56,10 @@ spring:
             multi-statement-allow: true
   redis:
     #数据库索引
-    database: 0
-    host: 127.0.0.1
+    database: 1
+    host: 114.55.230.80
     port: 6379
- #   password: 123qysd!@#
+    password: 123qysd!@#
     #连接超时时间
     timeout: 5000
 # 登录相关配置
@@ -124,14 +124,14 @@ mybatis-plus:
     auto-mapping-behavior: full
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   mapper-locations: classpath*:mapper/*Mapper.xml
-#  type-aliases-package: com.tcpp.FqNotarize.entity
+  #  type-aliases-package: com.tcpp.FqNotarize.entity
   global-config:
     # 逻辑删除配置
     db-config:
       # 删除前
       logic-not-delete-value: 1
       # 删除后
-      logic-delete-value: 0    
+      logic-delete-value: 0
 
 # IP 本地解析
 ip:
@@ -154,36 +154,36 @@ file:
 
 app:
   background:
-    picture: https://flowbb.show.xjrkj.com/image/logo/83d9449f4e02459da1661bafdf08b86a_8.png
+    picture: https://fqgz.flowbb.cn/image/logo/83d9449f4e02459da1661bafdf08b86a_8.png
   image:
-    url: https://flowbb.show.xjrkj.com/image/
+    url: https://fqgz.flowbb.cn:9001/image/
   upload:
-    path: /image/
+    path: /nt/image/
   host:
-    domain: https://flowbb.show.xjrkj.com/
+    domain: https://fqgz.flowbb.cn:9100/
   push:
-    port: 8089
+    port: 8082
   minio:
     accesskey: minioadmin
     secretkey: minioadmin
     url: http://124.222.192.60:9000
-    bucketName: mytest    
-    preview: https://flowbb.show.xjrkj.com
+    bucketName: mytest
+    preview: https://fqgz.flowbb.cn:9001
 tencent:
+  account:
+    secretId: AKIDjNyBC1cy75rPjrlSzUlrfIkxwthIi096
+    secretKey: qdGgstjOq6A0b0FFNJ3tX8appfLq7JRR
   client:
     webankAppId: TIDAdW8e
     secret: 34mhXRkury4DCFZpXCQ9E1fr7KUAPTiXTVac6H6e4pvxYMo5jl1m7sehQUqsmwsQ
     keyLicence: ZNjSJAs5nqb0OJR7SXGj8b8Jr8GZuhkIiLceBA1rp/UZ/X8nHbYzfNGkyhXLuTG82QzHIiNxixrzc7zWFcRyxiIIhglIxi0zZDD9nSQsXrHlMJMC3EUXarN9tp5QX0X2dS38gsi+F1TIigfHqxj39iX43wAO4KOfZekBIPNPA2Vb/AjlWnsTbOZCVwANXXwcKsCYiZJrbQlxGlxF9bfXEuhJgILJGQ2iT74wJ/Qn4qRraiyaYzi0Un44C24Y44pbYX4kEokvVQaPnClnAnMH98l8w0VIxPc2lH5io0ATpoPMoZGWKtICVPzrvpaMwjaPlyBzZ/qWwc5jeS+ySxwJyA==
   bank:
-    webankAppId: TIDAa18H
-    secret: vyzhltzExvtpU3O0wiSveww6DVxQ3EvV5RGdM5U8Jpp2BoL059ahJ4U76jMSvouT
-    keyLicence: Jpzb+BHO3aJ3FSjhsnXS43gHs20FSljKz0lthOlVhURvlePnisObmeO5EJjCXgZeZgo9KpJyADz4dcQREVAzuaxRPmhAx4ljpmZeVizNQWuxzLnDAGy8UgFzpAdCBemWrfTTt9f56JFRLdpmmMweyImHa4rDxLbdqqvXuiQLoaIvthbJLu3LO7mNscNkSn8xdhqqgIjX8DfroC99ykff8f7QTcK38iLjGQeI8sY79YY1a++Op5xpvfYZXm2Wdb6hI+rB+ndkWPNpPyP4f2m3/lkEvEMpoKOldQ7ebJQkTigDMvQ1pdBnYTrVVZKQgJ5nDSSVobYcxN2EZxeco9k/7A==
-  #ttlsig:
-  #  sdkappid: 1400696976
-  #  key: 6de92e8e066c2d28c5260f38a3abeb29840c9b2c6444d25f7b5c85de1c58b23b
+    webankAppId: IDAVZfDX
+    secret: i5Rw30IrvEU5Zm9QWYb0hBNtAzGFFCUlohJu6FI0w254eXd039gVADubvzJRp3qy
+    keyLicence: IHdC/s+4yYQ3Ydkc4S3xKrJmboZSipzQcTeK/SvxwnKiXFzi2Mr9QUX1qa+4mR5OWPHq8M28TCgC4+udPb5QuN41b1ql2W0swQLunEYZqZ/Iet8krdQnE2Kxh9TTU1ZbSL4f6gclIq8oIxjYcpG4K5e3CTqgbE9+DNGINy5DvztjLhz1/IGRy2nbKfhvtzDdq2etcGXVolhbGPmstJ5Krllrm52Rmo1yiEp6IYl9IlaXUzEgKYi/a8PdpoXJtdEF0JXPJSUIwvA5BuFJidJabCKGg2HwS+8Pgq1zB+1KEiQWhu8nNJt5eo8qxBjFkt10MwKY7yIMsvxOpiehLWoFhw==
   ttlsig:
-    sdkappid: 1400574616
-    key: 9ef701536792a0bdacf7dbf902301a1f113d200157e9e6be368b3dadba321800
+    sdkappid: 1400718469
+    key: 4b248dead873140792967469696227c5084429aaaa5a567a4a593402dc28d9b6
 
 xxl:
   job:
@@ -191,13 +191,32 @@ xxl:
     admin:
       addresses: http://114.55.230.80:8080/xxl-job-admin
     executor:
-      appname: eladmin-xxl-job-executor
+      appname: nt-test-xxl-job-executor
       address:
       ip:
-      port: 9999
+      port: 9103
       logpath: /users/songxiaodong/applogs/xxl-job/jobhandler
       logretentiondays: 30
 
 logging:
   config: classpath:logback-spring.xml
-  logdir: ./logs/java-app
+  logdir: ./logs/java-app
+
+axq:
+  proxy:
+    usable: 0
+    host: 114.55.230.80
+    port: 3128
+    user: sakuya
+    password: qwe123!@#90[
+  connect:
+    alias: anxinsign
+    connectTimeout: 30000
+    readTimeout: 30000
+    isSSL: true
+  request:
+    platID: D998E5EBBF4C2D95E05312016B0A7677
+    cfcaURL: https://210.74.42.33:9443/FEP/
+    channel: test
+    jksPath: anxinsign-test.jks
+    jksPWD: 123456