package com.supwisdom.dlpay.paysdk.proxy;
+import com.supwisdom.dlpay.api.bean.DownloadShopBillParam;
import com.supwisdom.dlpay.api.bean.OpenShopParam;
import com.supwisdom.dlpay.api.bean.QueryShopParam;
import com.supwisdom.dlpay.api.bean.ShopResponse;
@GetMapping("/query")
ShopResponse queryShop(@RequestBody QueryShopParam param);
+
+ @PostMapping("/downloadshopbill")
+ String downloadShopBill(@RequestBody DownloadShopBillParam param);
}
import com.supwisdom.dlpay.framework.util.TradeErrorCode
import com.supwisdom.dlpay.system.service.DtlDataService
import com.supwisdom.dlpay.util.ConstantUtil
+import org.apache.log4j.spi.ErrorCode
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
*/
@PostMapping("/downloadshopbill")
fun downloadShopBill(@RequestBody param: DownloadShopBillParam, response: HttpServletResponse): ResponseEntity<Any> {
- val outputStream = response.outputStream
try {
shopService.checkDownloadShopBillParam(param) //判断该天是否已结算,未结算直接报错
val count = dtlDataService.getDownloadShopBillCount(param)
if (count <= 0) {
return ResponseEntity.ok(ResponseBodyBuilder.create().fail(TradeErrorCode.NO_DEAL_EEROR, "当天无交易记录"))
}
- parseFile(dtlDataService, param, count, outputStream)
- return ResponseEntity.ok(outputStream)
+ val outputStream = response.outputStream
+ return try {
+ parseFile(dtlDataService, param, count, outputStream)
+ ResponseEntity.ok(outputStream)
+ } catch (eb: Exception) {
+ ResponseEntity.ok(ResponseBodyBuilder.create()
+ .exception(TradeErrorCode.BUSINESS_DEAL_ERROR, eb, "生成对账文件数据出错"))
+ } finally {
+ outputStream?.close()
+ }
} catch (ex: RequestParamCheckException) {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.requestException(ex, "请求参数错误"))
} catch (et: TransactionException) {
return ResponseEntity.ok(ResponseBodyBuilder.create()
.transException(et, "业务处理错误"))
- } finally {
- outputStream?.close()
}
}