cbs8
This commit is contained in:
parent
347eb4e89f
commit
29c560bcfe
|
@ -1,25 +1,13 @@
|
||||||
package com.hzya.frame.plugin.cbs8.plugin;
|
package com.hzya.frame.plugin.cbs8.plugin;
|
||||||
|
|
||||||
import cn.hutool.core.map.MapBuilder;
|
|
||||||
import cn.hutool.http.HttpRequest;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.hzya.frame.base.PluginBaseEntity;
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
import com.hzya.frame.cbs8.service.ICbs8Service;
|
|
||||||
import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
|
import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
|
||||||
import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
|
|
||||||
import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
|
|
||||||
import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
|
|
||||||
import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
|
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 经办支付申请
|
* @Description 经办支付申请
|
||||||
* @Author xiangerlin
|
* @Author xiangerlin
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hzya.frame.plugin.cbs8.plugin;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.hzya.frame.base.PluginBaseEntity;
|
import com.hzya.frame.base.PluginBaseEntity;
|
||||||
import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
|
import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
|
||||||
|
import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO;
|
||||||
import com.hzya.frame.cbs8.util.CBSUtil;
|
import com.hzya.frame.cbs8.util.CBSUtil;
|
||||||
import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
|
import com.hzya.frame.plugin.cbs8.service.ICbsPluginService;
|
||||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
@ -10,6 +11,8 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 交易明细查询
|
* @Description 交易明细查询
|
||||||
* @Author xiangerlin
|
* @Author xiangerlin
|
||||||
|
@ -101,7 +104,7 @@ public class TransactionDetailPluginInitializer extends PluginBaseEntity {
|
||||||
TransactionDetailReqDTO transactionDetailReqDTO = new TransactionDetailReqDTO();
|
TransactionDetailReqDTO transactionDetailReqDTO = new TransactionDetailReqDTO();
|
||||||
transactionDetailReqDTO.setCurrentPage(CBSUtil.DEFAULT_CURRENT_PAGE);
|
transactionDetailReqDTO.setCurrentPage(CBSUtil.DEFAULT_CURRENT_PAGE);
|
||||||
transactionDetailReqDTO.setPageSize(CBSUtil.DEFAULT_PAGE_SIZE);
|
transactionDetailReqDTO.setPageSize(CBSUtil.DEFAULT_PAGE_SIZE);
|
||||||
cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
|
List<TransactionDetailDTO> transactionDetailList = cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
package com.hzya.frame.plugin.cbs8.service;
|
package com.hzya.frame.plugin.cbs8.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
|
||||||
|
import com.hzya.frame.cbs8.dto.res.TransactionDetailDTO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description
|
* @Description
|
||||||
|
@ -21,4 +25,18 @@ public interface ICbsPluginService {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
void queryResult(JSONObject requestJson)throws Exception;
|
void queryResult(JSONObject requestJson)throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电子回单查询 并上传OA
|
||||||
|
* @param requestJson
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
void elecBillUpload(JSONObject requestJson)throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询交易明细
|
||||||
|
* transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填
|
||||||
|
* @param transactionDetailReqDTO
|
||||||
|
*/
|
||||||
|
List<TransactionDetailDTO> queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
package com.hzya.frame.plugin.cbs8.service.impl;
|
package com.hzya.frame.plugin.cbs8.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.cbs8.dto.req.ElecRequestDTO;
|
||||||
import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO;
|
import com.hzya.frame.cbs8.dto.req.PayResultRequestDTO;
|
||||||
import com.hzya.frame.cbs8.dto.res.PayResponseDTO;
|
import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
|
||||||
import com.hzya.frame.cbs8.dto.res.PayResultResDTO;
|
import com.hzya.frame.cbs8.dto.res.*;
|
||||||
import com.hzya.frame.cbs8.service.ICbs8Service;
|
import com.hzya.frame.cbs8.service.ICbs8Service;
|
||||||
import com.hzya.frame.cbs8.util.CBSUtil;
|
import com.hzya.frame.cbs8.util.CBSUtil;
|
||||||
import com.hzya.frame.cbs8.util.PayState;
|
import com.hzya.frame.cbs8.util.PayState;
|
||||||
|
@ -14,11 +19,18 @@ import com.hzya.frame.seeyon.cbs8.entity.CbsLogEntity;
|
||||||
import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
|
import com.hzya.frame.seeyon.cbs8.entity.PaymentEntity;
|
||||||
import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
|
import com.hzya.frame.seeyon.cbs8.service.ICbsLogService;
|
||||||
import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
|
import com.hzya.frame.seeyon.cbs8.service.IPaymentService;
|
||||||
|
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
|
||||||
|
import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
|
||||||
|
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
|
||||||
|
import com.hzya.frame.seeyon.util.RestUtil;
|
||||||
|
import com.hzya.frame.uuid.UUIDLong;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -36,7 +48,11 @@ public class CbsPluginServiceImpl implements ICbsPluginService {
|
||||||
private IPaymentService paymentService;
|
private IPaymentService paymentService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICbsLogService cbsLogService;
|
private ICbsLogService cbsLogService;
|
||||||
|
@Autowired
|
||||||
|
private ICtpAttachmentService ctpAttachmentService;
|
||||||
|
|
||||||
|
@Value("${cbs8.elec_path}")
|
||||||
|
private String elec_path;
|
||||||
/**
|
/**
|
||||||
* 支付申请
|
* 支付申请
|
||||||
*
|
*
|
||||||
|
@ -131,4 +147,82 @@ public class CbsPluginServiceImpl implements ICbsPluginService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电子回单查询 并上传OA
|
||||||
|
*
|
||||||
|
* @param requestJson
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void elecBillUpload(JSONObject requestJson) throws Exception {
|
||||||
|
//查询支付成功 没有电子回单的数据
|
||||||
|
PaymentEntity paymentEntity = new PaymentEntity();
|
||||||
|
List<PaymentEntity> paymentList = paymentService.queryElecIsNull(paymentEntity);
|
||||||
|
if (CollectionUtils.isNotEmpty(paymentList)) {
|
||||||
|
for (PaymentEntity pay : paymentList) {
|
||||||
|
String payDate = DateUtil.format(DateUtil.parse(pay.getPayDate()), "yyyy-MM-dd");
|
||||||
|
//查询cbs电子回单
|
||||||
|
List<ElecResponseDTO> elecResList = cbs8Service.queryElecBill(new ElecRequestDTO(payDate,DateUtil.today(),pay.getReferenceNum()));
|
||||||
|
if (CollectionUtils.isNotEmpty(elecResList)){
|
||||||
|
ElecResponseDTO elecResponseDTO = elecResList.get(0);
|
||||||
|
String bucketFileUrl = elecResponseDTO.getBucketFileUrl();
|
||||||
|
String bucketFileName = elecResponseDTO.getBucketFileName();
|
||||||
|
//上传电子回单到OA
|
||||||
|
HttpUtil.downloadFile(bucketFileUrl, FileUtil.file(elec_path));//附件下载
|
||||||
|
String pdfUrl = elec_path + bucketFileName;
|
||||||
|
File file = new File(pdfUrl);
|
||||||
|
if (file.exists()) {
|
||||||
|
JSONObject jsonObjectUpload = RestUtil.fileUpload(file);
|
||||||
|
String file_url = jsonObjectUpload.getString("fileUrl");
|
||||||
|
if (null != jsonObjectUpload && StrUtil.isNotEmpty(file_url)) {
|
||||||
|
String sub_reference = String.valueOf(UUIDLong.longUUID());
|
||||||
|
pay.setReceipt(sub_reference);
|
||||||
|
//更新表单的电子回单值
|
||||||
|
paymentService.updateElec(pay);
|
||||||
|
//保存附件关系
|
||||||
|
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
|
||||||
|
ctpAttachmentEntity.setFile_url(file_url);
|
||||||
|
ctpAttachmentService.saveAttachment(file_url, pay.getSummaryId(), sub_reference);
|
||||||
|
}
|
||||||
|
//删除本地临时文件
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询交易明细
|
||||||
|
* transactionDetailReqDTO.currentPage 、 transactionDetailReqDTO.pageSize 必填
|
||||||
|
* @param transactionDetailReqDTO
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<TransactionDetailDTO> queryTransactionDetail(TransactionDetailReqDTO transactionDetailReqDTO) {
|
||||||
|
boolean hasNextPage = true;//是否有下一页
|
||||||
|
int currentPage = transactionDetailReqDTO.getCurrentPage();
|
||||||
|
int pageSize = transactionDetailReqDTO.getPageSize();
|
||||||
|
if (currentPage == 0){
|
||||||
|
currentPage = CBSUtil.DEFAULT_CURRENT_PAGE;//页码
|
||||||
|
}
|
||||||
|
if (pageSize == 0){
|
||||||
|
pageSize = CBSUtil.DEFAULT_PAGE_SIZE;//每页条数
|
||||||
|
transactionDetailReqDTO.setPageSize(pageSize);
|
||||||
|
}
|
||||||
|
List<TransactionDetailDTO> resultList = new ArrayList<>();
|
||||||
|
do{
|
||||||
|
transactionDetailReqDTO.setCurrentPage(currentPage);//页码
|
||||||
|
currentPage++;//页码自增
|
||||||
|
hasNextPage = false;//保护功能,防止出现死循环
|
||||||
|
CbsResDataDTO dataDTO = cbs8Service.queryTransactionDetail(transactionDetailReqDTO);
|
||||||
|
if (null != dataDTO){
|
||||||
|
hasNextPage = dataDTO.getHasNextPage();
|
||||||
|
List<TransactionDetailDTO> transactionDetailDTOList = CBSUtil.convertJsonArrayToList(dataDTO.getList(), TransactionDetailDTO.class);
|
||||||
|
resultList.addAll(transactionDetailDTOList);
|
||||||
|
}
|
||||||
|
}while (hasNextPage);
|
||||||
|
|
||||||
|
return resultList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue