|
|
|
@ -42,14 +42,15 @@ public class PayServiceImpl implements PayService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 关闭七日以前的已经支付了的订单 |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void payComplete() { |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
String nowStr = sdf.format(sdf)+" 23:59:59"; |
|
|
|
List<Order> orderList=orderMapper.getOrderListUnderDate(nowStr,"2"); |
|
|
|
for(Order od:orderList){ |
|
|
|
String nowStr = sdf.format(sdf) + " 23:59:59"; |
|
|
|
List<Order> orderList = orderMapper.getOrderListUnderDate(nowStr, "2"); |
|
|
|
for (Order od : orderList) { |
|
|
|
// 更新订单完成状态
|
|
|
|
payFinishOperate(od.getBatchcode()); |
|
|
|
} |
|
|
|
@ -57,6 +58,7 @@ public class PayServiceImpl implements PayService { |
|
|
|
|
|
|
|
/** |
|
|
|
* 订单支付完成后的操作 |
|
|
|
* |
|
|
|
* @param batchcode |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@ -64,108 +66,114 @@ public class PayServiceImpl implements PayService { |
|
|
|
public int payFinishOperate(String batchcode) { |
|
|
|
//获取订单信息
|
|
|
|
Order order = orderMapper.getOrderByBatchcode(batchcode); |
|
|
|
if(order==null){ |
|
|
|
if (order == null) { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
if(order.getPayStatus()!=2){ |
|
|
|
if (order.getPayStatus() != 2) { |
|
|
|
// do nothing
|
|
|
|
} |
|
|
|
//订单状态
|
|
|
|
Integer status = order.getStatus(); |
|
|
|
Integer closeStatus= order.getCloseStatus(); |
|
|
|
Integer type =order.getType(); |
|
|
|
Integer closeStatus = order.getCloseStatus(); |
|
|
|
Integer type = order.getType(); |
|
|
|
//查询购买用户
|
|
|
|
String buyIslicode = order.getBuyIslicode(); |
|
|
|
//购买用户
|
|
|
|
OrderUser oduser = orderUserMapper.getUserOrder(batchcode,buyIslicode); |
|
|
|
OrderUser oduser = orderUserMapper.getUserOrder(batchcode, buyIslicode); |
|
|
|
String buyName = oduser.getName(); |
|
|
|
Date paytime = order.getPaymenttime(); |
|
|
|
// 同步到其他平台
|
|
|
|
List syncList =new ArrayList<>(); |
|
|
|
List syncList = new ArrayList<>(); |
|
|
|
//商品对应的合约编号
|
|
|
|
Map<Integer,String> ccmap = new HashMap(); |
|
|
|
Map<Integer, String> ccmap = new HashMap(); |
|
|
|
//
|
|
|
|
Calendar cal= Calendar.getInstance(); |
|
|
|
Calendar cal = Calendar.getInstance(); |
|
|
|
//订单商品详情
|
|
|
|
List<OrderGoodsDetail> orderGoodsDetailList = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(batchcode); |
|
|
|
for(OrderGoodsDetail odgd:orderGoodsDetailList){ |
|
|
|
for (OrderGoodsDetail odgd : orderGoodsDetailList) { |
|
|
|
Map odmap = new HashMap(); |
|
|
|
String dateStr="";//订单年限
|
|
|
|
int transCount=1;//
|
|
|
|
if(odgd.getGoodsEntrust()==1 || odgd.getChargesType()==1){ |
|
|
|
dateStr="永久"; |
|
|
|
transCount=1; |
|
|
|
}else { |
|
|
|
String dateStr = "";//订单年限
|
|
|
|
int transCount = 1;//
|
|
|
|
if (odgd.getGoodsEntrust() == 1 || odgd.getChargesType() == 1) { |
|
|
|
dateStr = "永久"; |
|
|
|
transCount = 1; |
|
|
|
} else { |
|
|
|
int years = odgd.getTransactionCount(); |
|
|
|
cal.setTime(new Date()); |
|
|
|
cal.add(Calendar.YEAR,+years); |
|
|
|
dateStr=cal.getTime().toString(); |
|
|
|
transCount=odgd.getTransactionCount(); |
|
|
|
cal.add(Calendar.YEAR, +years); |
|
|
|
dateStr = cal.getTime().toString(); |
|
|
|
transCount = odgd.getTransactionCount(); |
|
|
|
} |
|
|
|
//
|
|
|
|
// if(odgd.getMoney().compareTo(new BigDecimal(0))>0 &&status!=2){
|
|
|
|
// return odgd;
|
|
|
|
// }
|
|
|
|
//合约关联编码(订单交易isli标识码)
|
|
|
|
String contractcode=""; |
|
|
|
if(StringUtils.isEmpty(odgd.getContractCode()) || "-".equals(odgd.getContractCode())){ |
|
|
|
String ratio="0.00"; |
|
|
|
// 远程获取查询对应的 islicode
|
|
|
|
JSONObject aplinkCodeJson=SzwhApiUtils.getApplyLinkCode(odgd.getGoodsIslicode(), |
|
|
|
buyIslicode,ratio,transCount,dateStr,batchcode); |
|
|
|
log.info("订单合约编号:"+aplinkCodeJson); |
|
|
|
String contractcode = ""; |
|
|
|
if (StringUtils.isEmpty(odgd.getContractCode()) || "-".equals(odgd.getContractCode())) { |
|
|
|
String ratio = "0.00"; |
|
|
|
// 远程获取查询对应的 sourcedata_islicode
|
|
|
|
JSONObject aplinkCodeJson = SzwhApiUtils.getApplyLinkCode(odgd.getSourcedataIslicode(), |
|
|
|
buyIslicode, ratio, transCount, dateStr, batchcode); |
|
|
|
log.info("订单合约编号:" + aplinkCodeJson); |
|
|
|
JSONArray aparr = aplinkCodeJson.getJSONArray("data"); |
|
|
|
JSONObject lkcjson = (JSONObject) aparr.get(0); |
|
|
|
// 返回的值是 buyIslicode 为键名的内容
|
|
|
|
contractcode = lkcjson.getString(buyIslicode); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
contractcode = odgd.getContractCode(); |
|
|
|
} |
|
|
|
//合约关联编号,更新到订单商品详情中
|
|
|
|
Map ogdmap= new HashMap(); |
|
|
|
ogdmap.put("contract_code",contractcode); |
|
|
|
orderGoodsDetailMapper.updateOrderGoodsDetail(ogdmap,odgd.getId()); |
|
|
|
Map ogdmap = new HashMap(); |
|
|
|
ogdmap.put("contract_code", contractcode); |
|
|
|
orderGoodsDetailMapper.updateOrderGoodsDetail(ogdmap, odgd.getId()); |
|
|
|
//订单商品详情id,为key, 合约编号为键值
|
|
|
|
ccmap.put(odgd.getId(),contractcode); |
|
|
|
ccmap.put(odgd.getId(), contractcode); |
|
|
|
|
|
|
|
//配置文件中读取渠道
|
|
|
|
String channelIsli = ProperUtils.getSzwhProp("CHANNEL_ISLI"); |
|
|
|
//构建同步map
|
|
|
|
Map syncmap = new HashMap(); |
|
|
|
syncmap.put("userId",buyIslicode); |
|
|
|
syncmap.put("requestIsliFlag",channelIsli); //渠道编号
|
|
|
|
syncmap.put("goodsIslicode",odgd.getGoodsIslicode()); |
|
|
|
syncmap.put("goodsName" ,odgd.getGoodsName()); |
|
|
|
syncmap.put("orderIslicode" ,contractcode); |
|
|
|
syncmap.put("batchcode",odgd.getBatchcode()); |
|
|
|
syncmap.put("chargesType",odgd.getMoney()); |
|
|
|
syncmap.put("userId", buyIslicode); |
|
|
|
syncmap.put("requestIsliFlag", channelIsli); //渠道编号
|
|
|
|
syncmap.put("goodsIslicode", odgd.getGoodsIslicode()); |
|
|
|
syncmap.put("goodsName", odgd.getGoodsName()); |
|
|
|
syncmap.put("orderIslicode", contractcode); |
|
|
|
syncmap.put("batchcode", odgd.getBatchcode()); |
|
|
|
syncmap.put("chargesType", odgd.getMoney()); |
|
|
|
//委托周期
|
|
|
|
String entrmonth=odgd.getContractualPeriod()==1?"永久":"一次性"; |
|
|
|
syncmap.put("entrustMonth",entrmonth); |
|
|
|
String entrmonth = odgd.getContractualPeriod() == 1 ? "永久" : "一次性"; |
|
|
|
syncmap.put("entrustMonth", entrmonth); |
|
|
|
//委托类型
|
|
|
|
String gentr = odgd.getGoodsEntrust()==1?"转让":"许可"; |
|
|
|
syncmap.put("goodsEntrust" ,gentr); |
|
|
|
syncmap.put("goodsOwnership",odgd.getGoodsOwnership()); |
|
|
|
String gentr = odgd.getGoodsEntrust() == 1 ? "转让" : "许可"; |
|
|
|
syncmap.put("goodsEntrust", gentr); |
|
|
|
syncmap.put("goodsOwnership", odgd.getGoodsOwnership()); |
|
|
|
//商品类型
|
|
|
|
String gtype =odgd.getGoodsType()==1?"文化资源数据":"文化数字内容"; |
|
|
|
syncmap.put("goodsType",gtype); |
|
|
|
String gtype = odgd.getGoodsType() == 1 ? "文化资源数据" : "文化数字内容"; |
|
|
|
syncmap.put("goodsType", gtype); |
|
|
|
syncmap.put("payStatus", 1); |
|
|
|
syncmap.put("closeStatus" ,closeStatus-1); |
|
|
|
syncmap.put("transactionCount",odgd.getTransactionCount()); |
|
|
|
syncmap.put("closeStatus", closeStatus - 1); |
|
|
|
syncmap.put("transactionCount", odgd.getTransactionCount()); |
|
|
|
//订单类型
|
|
|
|
String typeStr=""; |
|
|
|
switch (type){ |
|
|
|
case 1:typeStr="委托订单";break; |
|
|
|
case 2:typeStr="认证订单";break; |
|
|
|
default:typeStr="服务订单";break; |
|
|
|
String typeStr = ""; |
|
|
|
switch (type) { |
|
|
|
case 1: |
|
|
|
typeStr = "委托订单"; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
typeStr = "认证订单"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
typeStr = "服务订单"; |
|
|
|
break; |
|
|
|
} |
|
|
|
syncmap.put("type",typeStr); |
|
|
|
syncmap.put("buyUsername",buyName); |
|
|
|
syncmap.put("entrustIslicode" ,odgd.getEntrustIslicode()); |
|
|
|
syncmap.put("type", typeStr); |
|
|
|
syncmap.put("buyUsername", buyName); |
|
|
|
syncmap.put("entrustIslicode", odgd.getEntrustIslicode()); |
|
|
|
//委托用户名
|
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(odgd.getBatchcode(),odgd.getIslicode()); |
|
|
|
String entrustUsername = orderUser!=null?orderUser.getName():"-"; |
|
|
|
syncmap.put("entrustUsername",entrustUsername); |
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(odgd.getBatchcode(), odgd.getIslicode()); |
|
|
|
String entrustUsername = orderUser != null ? orderUser.getName() : "-"; |
|
|
|
syncmap.put("entrustUsername", entrustUsername); |
|
|
|
//add to list
|
|
|
|
syncList.add(syncmap); |
|
|
|
} |
|
|
|
@ -174,35 +182,35 @@ public class PayServiceImpl implements PayService { |
|
|
|
JSONArray wsynarr = new JSONArray(syncList); |
|
|
|
//待同步过去的订单信息
|
|
|
|
String forsync = wsynarr.toJSONString(); |
|
|
|
JSONObject outSyncJson =SzwhApiUtils.synchInfo(forsync); |
|
|
|
log.info(batchcode+"订单获取下载地址:"+outSyncJson); |
|
|
|
JSONObject outSyncJson = SzwhApiUtils.synchInfo(forsync); |
|
|
|
log.info(batchcode + "订单获取下载地址:" + outSyncJson); |
|
|
|
//返回链接地址
|
|
|
|
if("00000000".equals(outSyncJson.getString("resultCode"))){ |
|
|
|
if ("00000000".equals(outSyncJson.getString("resultCode"))) { |
|
|
|
JSONArray syncArray = outSyncJson.getJSONArray("data"); |
|
|
|
//获取解密地址
|
|
|
|
JSONObject sjson = (JSONObject) syncArray.get(0); |
|
|
|
//资源下载地址
|
|
|
|
String sourceUrl= sjson.getString("source_url"); |
|
|
|
String sourceUrl = sjson.getString("source_url"); |
|
|
|
//替换,然后提取出基本的地址信息
|
|
|
|
String resUrl = sourceUrl.replace("{isliCode}/{contractISLICode}",""); |
|
|
|
log.info("source base url:"+resUrl); |
|
|
|
String resUrl = sourceUrl.replace("{isliCode}/{contractISLICode}", ""); |
|
|
|
log.info("source base url:" + resUrl); |
|
|
|
//遍历数据
|
|
|
|
for(OrderGoodsDetail ogd:orderGoodsDetailList){ |
|
|
|
for (OrderGoodsDetail ogd : orderGoodsDetailList) { |
|
|
|
//todo 检查 source_download 是否有内容
|
|
|
|
//请求依据同步订单信息返回的地址获取解密资源地址
|
|
|
|
JSONObject resJson = SzwhApiUtils.getDownOrdRes(resUrl,ogd.getIslicode(),ccmap.get(ogd.getId())); |
|
|
|
log.info(ogd.getId()+"资源解密地址:"+resJson); |
|
|
|
JSONObject resJson = SzwhApiUtils.getDownOrdRes(resUrl, ogd.getIslicode(), ccmap.get(ogd.getId())); |
|
|
|
log.info(ogd.getId() + "资源解密地址:" + resJson); |
|
|
|
//更新订单商品资源详情
|
|
|
|
JSONArray ogdJarr = resJson.getJSONArray("data"); |
|
|
|
JSONObject togjson = (JSONObject) ogdJarr.get(0); |
|
|
|
// source_download map
|
|
|
|
JSONObject sdown = new JSONObject(); |
|
|
|
sdown.put("url",togjson.getString("url")); |
|
|
|
sdown.put("status",4); |
|
|
|
sdown.put("url", togjson.getString("url")); |
|
|
|
sdown.put("status", 4); |
|
|
|
//合约关联编号,更新到订单商品详情中
|
|
|
|
Map togmap = new HashMap(); |
|
|
|
togmap.put("source_download",sdown.toString()); |
|
|
|
orderGoodsDetailMapper.updateOrderGoodsDetail(togmap,ogd.getId()); |
|
|
|
togmap.put("source_download", sdown.toString()); |
|
|
|
orderGoodsDetailMapper.updateOrderGoodsDetail(togmap, ogd.getId()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -214,46 +222,57 @@ public class PayServiceImpl implements PayService { |
|
|
|
public int payCallback(JSONObject json) { |
|
|
|
// 待解密的
|
|
|
|
String data = json.getString("Data"); |
|
|
|
log.info("支付回调 payCallback:"+data); |
|
|
|
log.info("支付回调 payCallback:" + data); |
|
|
|
//todo 后续改造为可以配置型
|
|
|
|
String url="https://t.masget.com/openapi/rest"; |
|
|
|
String sckey ="gRAZZKiNw0UbTuF9";// 密钥
|
|
|
|
String appid="910000198"; //应用id
|
|
|
|
String session="iba3t9dqln8etmcaceq1xtqr7urevia1"; //token
|
|
|
|
String url = "https://t.masget.com/openapi/rest"; |
|
|
|
String sckey = "gRAZZKiNw0UbTuF9";// 密钥
|
|
|
|
String appid = "910000198"; //应用id
|
|
|
|
String session = "iba3t9dqln8etmcaceq1xtqr7urevia1"; //token
|
|
|
|
try { |
|
|
|
//解密
|
|
|
|
String desencrypt = AesEncryption.Desencrypt(data, sckey, sckey); |
|
|
|
//解密
|
|
|
|
log.info("支付网关返回解密结果:"+desencrypt); |
|
|
|
log.info("支付网关返回解密结果:" + desencrypt); |
|
|
|
// 转为json
|
|
|
|
JSONObject dataObject = JSONObject.parseObject(desencrypt); |
|
|
|
//支付完成
|
|
|
|
if (dataObject.getIntValue("respcode") == 2) { |
|
|
|
//订单编号
|
|
|
|
String ordersn = dataObject.getString("ordernumber"); |
|
|
|
//查找订单并更新订单状态
|
|
|
|
Order order =orderMapper.getOrderByBatchcode(ordersn); |
|
|
|
if(order!=null){ //订单存在,理论上应该是存在的
|
|
|
|
Order order = orderMapper.getOrderByBatchcode(ordersn); |
|
|
|
if (order != null) { //订单存在,理论上应该是存在的
|
|
|
|
//查找订单中的商品
|
|
|
|
List<OrderGoodsDetail> ordgdlist = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(ordersn); |
|
|
|
//增加销售记录
|
|
|
|
for(OrderGoodsDetail ordg:ordgdlist){ |
|
|
|
for (OrderGoodsDetail ordg : ordgdlist) { |
|
|
|
// 根据goodsislicode 查询
|
|
|
|
Goods goods = goodsMapper.getGoodsByIsli(ordg.getGoodsIslicode()); |
|
|
|
// 更新订单状态
|
|
|
|
Map upgmap = new HashMap(); |
|
|
|
upgmap.put("sale_count",goods.getSaleCount()+1); |
|
|
|
goodsMapper.updateGoods(upgmap,goods.getId()); |
|
|
|
upgmap.put("sale_count", goods.getSaleCount() + 1); |
|
|
|
goodsMapper.updateGoods(upgmap, goods.getId()); |
|
|
|
} |
|
|
|
//使用的支付方式
|
|
|
|
int ichargeChannel = 3;//默认银联支付
|
|
|
|
String paymenttypename = dataObject.getString("paymenttypename"); |
|
|
|
|
|
|
|
if (paymenttypename.startsWith("支付宝")) { |
|
|
|
ichargeChannel = 2; |
|
|
|
} |
|
|
|
if (paymenttypename.startsWith("微信")) { |
|
|
|
ichargeChannel = 1; |
|
|
|
} |
|
|
|
|
|
|
|
//更新订单字段
|
|
|
|
Map upmap = new HashMap(); |
|
|
|
upmap.put("status",2); |
|
|
|
upmap.put("pay_status",2); |
|
|
|
upmap.put("paymenttime",new Date()); |
|
|
|
upmap.put("payid",dataObject.getString("payorderid")); //支付流水单号
|
|
|
|
upmap.put("status", 2); |
|
|
|
upmap.put("pay_status", 2); |
|
|
|
upmap.put("paymenttime", new Date()); |
|
|
|
//支付方式
|
|
|
|
upmap.put("charge_channel", ichargeChannel); |
|
|
|
upmap.put("payid", dataObject.getString("payorderid")); //支付流水单号
|
|
|
|
//更新订单指定字段
|
|
|
|
orderMapper.updateOrderStatus(upmap,order.getId()); |
|
|
|
} |
|
|
|
orderMapper.updateOrderStatus(upmap, order.getId()); |
|
|
|
|
|
|
|
// 处理订单其他信息
|
|
|
|
payFinishOperate(order.getBatchcode()); |
|
|
|
//买家发票信息等
|
|
|
|
@ -262,59 +281,60 @@ public class PayServiceImpl implements PayService { |
|
|
|
invoiceSellerOperate(order.getBatchcode()); |
|
|
|
} |
|
|
|
|
|
|
|
}catch (Exception ex){ |
|
|
|
log.error(ex.getLocalizedMessage()); |
|
|
|
} catch (Exception ex) { |
|
|
|
log.error("支付返回结果解密异常:"+ex.getMessage()); |
|
|
|
} |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 买家发票信息 |
|
|
|
* |
|
|
|
* @param bathcode |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public int invoiceBuyOperate(String bathcode) { |
|
|
|
//发票存放路径
|
|
|
|
String pdfpath= ChConstant.INVOICE; |
|
|
|
String pdfpath = ChConstant.INVOICE; |
|
|
|
//订单
|
|
|
|
Order order = orderMapper.getOrderByBatchcode(bathcode); |
|
|
|
//用户信息
|
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(bathcode,order.getBuyIslicode()); |
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(bathcode, order.getBuyIslicode()); |
|
|
|
//发票数据集合
|
|
|
|
Map invoiceMap = new HashMap(); |
|
|
|
invoiceMap.put("buyerName",orderUser.getName()); |
|
|
|
invoiceMap.put("buyerType","01"); //购买方类型01:企业
|
|
|
|
invoiceMap.put("buyerTaxNo",orderUser.getUscc());//税号
|
|
|
|
invoiceMap.put("buyerName", orderUser.getName()); |
|
|
|
invoiceMap.put("buyerType", "01"); //购买方类型01:企业
|
|
|
|
invoiceMap.put("buyerTaxNo", orderUser.getUscc());//税号
|
|
|
|
//订单商品详情
|
|
|
|
List <OrderGoodsDetail> ordglist = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(bathcode); |
|
|
|
List<OrderGoodsDetail> ordglist = orderGoodsDetailMapper.getOrderGoodsDetailByBatchCode(bathcode); |
|
|
|
//发票信息
|
|
|
|
List taxlist = TaxUtils.TaxSpilt(ordglist,orderUser); |
|
|
|
List taxlist = TaxUtils.TaxSpilt(ordglist, orderUser); |
|
|
|
//
|
|
|
|
for(int i=0;i<taxlist.size();i++){ |
|
|
|
for (int i = 0; i < taxlist.size(); i++) { |
|
|
|
//taxlist.get(i).add
|
|
|
|
String taxreq = JSONObject.toJSONString(taxlist.get(i)); |
|
|
|
//发送请求
|
|
|
|
JSONObject outTax = SzwhApiUtils.taxRequest(taxreq); |
|
|
|
//判断请求结果
|
|
|
|
if(outTax!=null){ |
|
|
|
if("S".equals(outTax.getString("operateCode"))){ |
|
|
|
if (outTax != null) { |
|
|
|
if ("S".equals(outTax.getString("operateCode"))) { |
|
|
|
JSONArray ottaxArr = outTax.getJSONArray("datas"); |
|
|
|
for(int o=1;o<ottaxArr.size();o++){ |
|
|
|
for (int o = 1; o < ottaxArr.size(); o++) { |
|
|
|
JSONObject tdjson = (JSONObject) ottaxArr.get(o); |
|
|
|
//下载pdf 文件到 对应目录
|
|
|
|
String dpdf = outTax.getString("pdfUrl"); |
|
|
|
//ticketid
|
|
|
|
Long ticketid = outTax.getLong("serialNo"); |
|
|
|
// 存储到本地
|
|
|
|
String path= RequestUtils.downTaxTicket(dpdf,ticketid+".pdfs"); |
|
|
|
String path = RequestUtils.downTaxTicket(dpdf, ticketid + ".pdfs"); |
|
|
|
//构建发票实体
|
|
|
|
Ticket ticket = new Ticket(); |
|
|
|
ticket.setBatchcode(bathcode); |
|
|
|
ticket.setIslicode(order.getBuyIslicode()); |
|
|
|
ticket.setTicketid(ticketid); |
|
|
|
//
|
|
|
|
String totalTax =outTax.getString("totalAmountTax"); |
|
|
|
String totalTax = outTax.getString("totalAmountTax"); |
|
|
|
ticket.setTicketmoney(new BigDecimal(totalTax)); |
|
|
|
ticket.setPdfurl(dpdf); |
|
|
|
//
|
|
|
|
@ -324,18 +344,18 @@ public class PayServiceImpl implements PayService { |
|
|
|
//插入记录
|
|
|
|
ticketMapper.addTicket(ticket); |
|
|
|
} |
|
|
|
}else{ //
|
|
|
|
} else { //
|
|
|
|
//构建发票实体
|
|
|
|
Ticket ticket = new Ticket(); |
|
|
|
ticket.setBatchcode(bathcode); |
|
|
|
ticket.setIslicode(order.getBuyIslicode()); |
|
|
|
ticket.setTicketid(0l); |
|
|
|
//
|
|
|
|
String totalTax =outTax.getString("totalAmountTax"); |
|
|
|
String totalTax = outTax.getString("totalAmountTax"); |
|
|
|
ticket.setTicketmoney(new BigDecimal(totalTax)); |
|
|
|
//
|
|
|
|
JSONArray ottaxArr = outTax.getJSONArray("datas"); |
|
|
|
for(int x=0;x<ottaxArr.size();x++){ |
|
|
|
for (int x = 0; x < ottaxArr.size(); x++) { |
|
|
|
JSONObject xjson = (JSONObject) ottaxArr.get(x); |
|
|
|
ticket.setPdfurl(xjson.getString("pdfUrl")); |
|
|
|
} |
|
|
|
|