*/ | */ | ||||
@Query(value = "SELECT new com.qtzl.alterSales.dao.excelVO.AflPaccountReceivableBillDateGroupVO(a.accountDate, SUM(a.payAmount - a.refundAmount)) " + | @Query(value = "SELECT new com.qtzl.alterSales.dao.excelVO.AflPaccountReceivableBillDateGroupVO(a.accountDate, SUM(a.payAmount - a.refundAmount)) " + | ||||
"FROM AflPaccountReceivableBill a " + | "FROM AflPaccountReceivableBill a " + | ||||
"WHERE a.accountDate IN :accountDates " + | |||||
"WHERE a.accountDate between :startDate and :endDate " + | |||||
"GROUP BY a.accountDate") | "GROUP BY a.accountDate") | ||||
List<AflPaccountReceivableBillDateGroupVO> findMapByAccountDates(@Param("accountDates") List<Integer> accountDates); | |||||
List<AflPaccountReceivableBillDateGroupVO> findMapByAccountDates(@Param("startDate") Integer startDate, @Param("endDate") Integer endDate); | |||||
} | } |
@Override | @Override | ||||
public String handleInternal(String filename, AflPaccountReceivableBillExportRequest request) throws ServiceHandleException, IOException { | public String handleInternal(String filename, AflPaccountReceivableBillExportRequest request) throws ServiceHandleException, IOException { | ||||
return aflPaccountReceivableBillService.export(request.getAccountDates()); | |||||
return aflPaccountReceivableBillService.export(request.getStartDate(), request.getEndDate()); | |||||
} | } | ||||
} | } |
public class AflPaccountReceivableBillExportRequest extends BaseModel { | public class AflPaccountReceivableBillExportRequest extends BaseModel { | ||||
/** | |||||
* 需要导出的日期 格式为 [20241120,20241121,20241122,20241123,20241124] | |||||
*/ | |||||
private List<Integer> accountDates; | |||||
private Integer startDate; | |||||
private Integer endDate; | |||||
public List<Integer> getAccountDates() { | |||||
return accountDates; | |||||
public Integer getStartDate() { | |||||
return startDate; | |||||
} | } | ||||
public void setAccountDates(List<Integer> accountDates) { | |||||
this.accountDates = accountDates; | |||||
public void setStartDate(Integer startDate) { | |||||
this.startDate = startDate; | |||||
} | |||||
public Integer getEndDate() { | |||||
return endDate; | |||||
} | |||||
public void setEndDate(Integer endDate) { | |||||
this.endDate = endDate; | |||||
} | } | ||||
} | } |
public interface AflPaccountReceivableBillService { | public interface AflPaccountReceivableBillService { | ||||
String export(List<Integer> accountDates) throws ServiceHandleException; | |||||
String export(Integer startDate, Integer endDate) throws ServiceHandleException; | |||||
} | } |
private final Random random = new Random(); | private final Random random = new Random(); | ||||
@Override | @Override | ||||
public String export(List<Integer> accountDates) throws ServiceHandleException { | |||||
public String export(Integer startDate, Integer endDate) throws ServiceHandleException { | |||||
log.info("【{}】开始导出数据", "通行费"); | log.info("【{}】开始导出数据", "通行费"); | ||||
List<AflPaccountReceivableBillDateGroupVO> receivableBillDateGroupVOS = aflPaccountReceivableBillRepo.findMapByAccountDates(accountDates); | |||||
if (null == startDate || null == endDate) { | |||||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请指定开始日期与结束日期查询"); | |||||
} | |||||
List<AflPaccountReceivableBillDateGroupVO> receivableBillDateGroupVOS = aflPaccountReceivableBillRepo.findMapByAccountDates(startDate, endDate); | |||||
InputStream inputStream; | InputStream inputStream; | ||||
try { | try { | ||||
// 删除本地临时文件 | // 删除本地临时文件 | ||||
Boolean blnDeleteFile = reportExcelConfig.getBlnDeleteFile(); | Boolean blnDeleteFile = reportExcelConfig.getBlnDeleteFile(); | ||||
if(blnDeleteFile != null && blnDeleteFile) { | |||||
if (blnDeleteFile != null && blnDeleteFile) { | |||||
try { | try { | ||||
Files.delete(file.toPath()); | Files.delete(file.toPath()); | ||||
} catch (IOException e) { | } catch (IOException e) { |
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(payOrder.getOrderStatus().getStatus()); | throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(payOrder.getOrderStatus().getStatus()); | ||||
} | } | ||||
final List<String> payIds = payOrderRelRepo.getPayId((id)); | final List<String> payIds = payOrderRelRepo.getPayId((id)); | ||||
for (String payId : payIds) { | |||||
final Object redisData = redisUtils.get(REDIS_KEY + payId); | |||||
if (!ObjectUtil.isEmpty(redisData)) { | |||||
redisUtils.del(REDIS_KEY + payId); | |||||
} | |||||
} | |||||
final Transaction transaction = jsapiV3Manager.jsApiQueryByOutTradeNo(payOrder.getOrderNo(), | final Transaction transaction = jsapiV3Manager.jsApiQueryByOutTradeNo(payOrder.getOrderNo(), | ||||
mchConfigManager.findBySubMchId(payOrder.getSubMchId())); | mchConfigManager.findBySubMchId(payOrder.getSubMchId())); | ||||
if (Transaction.TradeStateEnum.PAYERROR.equals(transaction.getTradeState())) { | if (Transaction.TradeStateEnum.PAYERROR.equals(transaction.getTradeState())) { | ||||
payOrder.setTransactionId(transaction.getTransactionId()); | payOrder.setTransactionId(transaction.getTransactionId()); | ||||
payOrder.setOrderStatus(AflApPayOrderStatus.FAIL); | payOrder.setOrderStatus(AflApPayOrderStatus.FAIL); | ||||
payOrderRepo.save(payOrder); | payOrderRepo.save(payOrder); | ||||
delRedisKey(payIds); | |||||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(transaction.getTradeStateDesc()); | throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException(transaction.getTradeStateDesc()); | ||||
} | } | ||||
// 支付成功。 | // 支付成功。 | ||||
aflSmsSendManager.sendSmsOut(accountPayList.get(0)); | aflSmsSendManager.sendSmsOut(accountPayList.get(0)); | ||||
} | } | ||||
} | } | ||||
delRedisKey(payIds); | |||||
} | |||||
private void delRedisKey(List<String> payIds){ | |||||
for (String payId : payIds) { | |||||
final Object redisData = redisUtils.get(REDIS_KEY + payId); | |||||
if (!ObjectUtil.isEmpty(redisData)) { | |||||
redisUtils.del(REDIS_KEY + payId); | |||||
} | |||||
} | |||||
} | } | ||||
private AflMchConfigVo getMchInfoEnum(String vehicleId) throws ServiceHandleException { | private AflMchConfigVo getMchInfoEnum(String vehicleId) throws ServiceHandleException { |
import cn.hutool.json.JSONUtil; | |||||
import com.qtzl.alterSales.manager.model.protocol.sales.AflPaccountReceivableBillExportRequest; | |||||
import java.util.Arrays; | |||||
import java.util.List; | |||||
public class NoAppSimpleTest { | |||||
public static void main(String[] args) { | |||||
List<Integer> list = Arrays.asList(20241008, 20241025, 20241125, 20241124); | |||||
AflPaccountReceivableBillExportRequest request = new AflPaccountReceivableBillExportRequest(); | |||||
request.setAccountDates(list); | |||||
System.out.println(JSONUtil.toJsonStr(request)); | |||||
} | |||||
} |