cbs8
This commit is contained in:
parent
347eb4e89f
commit
29c560bcfe
|
@ -1,25 +1,13 @@
|
|||
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.hzya.frame.base.PluginBaseEntity;
|
||||
import com.hzya.frame.cbs8.service.ICbs8Service;
|
||||
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 org.apache.commons.collections.CollectionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description 经办支付申请
|
||||
* @Author xiangerlin
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.hzya.frame.plugin.cbs8.plugin;
|
|||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.base.PluginBaseEntity;
|
||||
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.plugin.cbs8.service.ICbsPluginService;
|
||||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
|
@ -10,6 +11,8 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 交易明细查询
|
||||
* @Author xiangerlin
|
||||
|
@ -101,7 +104,7 @@ public class TransactionDetailPluginInitializer extends PluginBaseEntity {
|
|||
TransactionDetailReqDTO transactionDetailReqDTO = new TransactionDetailReqDTO();
|
||||
transactionDetailReqDTO.setCurrentPage(CBSUtil.DEFAULT_CURRENT_PAGE);
|
||||
transactionDetailReqDTO.setPageSize(CBSUtil.DEFAULT_PAGE_SIZE);
|
||||
cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
|
||||
List<TransactionDetailDTO> transactionDetailList = cbsPluginService.queryTransactionDetail(transactionDetailReqDTO);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package com.hzya.frame.plugin.cbs8.service;
|
||||
|
||||
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
|
||||
|
@ -21,4 +25,18 @@ public interface ICbsPluginService {
|
|||
* @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;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
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.res.PayResponseDTO;
|
||||
import com.hzya.frame.cbs8.dto.res.PayResultResDTO;
|
||||
import com.hzya.frame.cbs8.dto.req.TransactionDetailReqDTO;
|
||||
import com.hzya.frame.cbs8.dto.res.*;
|
||||
import com.hzya.frame.cbs8.service.ICbs8Service;
|
||||
import com.hzya.frame.cbs8.util.CBSUtil;
|
||||
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.service.ICbsLogService;
|
||||
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.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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.List;
|
||||
|
||||
|
@ -36,7 +48,11 @@ public class CbsPluginServiceImpl implements ICbsPluginService {
|
|||
private IPaymentService paymentService;
|
||||
@Autowired
|
||||
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