Commit f4663441 authored by shiyu's avatar shiyu

返回订单支付截止时间

parent c973e22f
package com.wwdz.ch.core.api.wxpay; package com.wwdz.ch.core.api.wxpay;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
import com.wechat.pay.contrib.apache.httpclient.util.PemUtil; import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
import com.wechat.pay.java.core.RSAAutoCertificateConfig; import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import com.wechat.pay.java.core.exception.HttpException; import com.wechat.pay.java.core.exception.HttpException;
...@@ -214,4 +215,50 @@ public class WxPayServiceApi { ...@@ -214,4 +215,50 @@ public class WxPayServiceApi {
} }
/* public Result rebackPay(String orderNo,Integer amount){
//微信支付-申请退款请求参数
WxPayRefundRequest wxPayRefundRequest = new WxPayRefundRequest();
WxPayRefundV3Request.Amount am = new WxPayRefundV3Request.Amount();
am.setTotal(amount);//原订单金额
//退款币种
am.setCurrency("CNY");
//退款金额 单位为分
am.setRefund(amount);
//金额信息
request.setAmount(am);
//transaction_id:微信支付订单号
request.setTransactionId(orderNo);
//商户订单号
request.setOutRefundNo("return_"+orderNo);
request.setNotifyUrl(this.wxPayService.getConfig().getPayScoreNotifyUrl()); //设置回调地址
WxPayRefundV3Result result;
try {
//调用微信V3退款API
result = wxPayService.refundV3(request);
String status = result.getStatus();
switch (status) {
case "SUCCESS":
res.success("退款成功");
break;
case "CLOSED":
res.success("退款关闭");
break;
case "PROCESSING":
res.success("退款处理中");
break;
case "ABNORMAL":
res.success("退款异常");
break;
default:
res.error("受理失败");
break;
}
res.setResult(result);
} catch (Exception e) {
e.printStackTrace();
res.error("申请退款失败,"+e.getMessage());
}
return res;
}
*/
} }
...@@ -61,7 +61,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao { ...@@ -61,7 +61,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
supplierItem.setStock(stock); supplierItem.setStock(stock);
SupplierItemExample supplierItemExample = new SupplierItemExample(); SupplierItemExample supplierItemExample = new SupplierItemExample();
SupplierItemExample.Criteria criteria = supplierItemExample.createCriteria(); SupplierItemExample.Criteria criteria = supplierItemExample.createCriteria();
criteria.andIdEqualTo(supplierItem.getId()); criteria.andIdEqualTo(itemId);
return supplierItemMapper.updateByExampleSelective(supplierItem, supplierItemExample); return supplierItemMapper.updateByExampleSelective(supplierItem, supplierItemExample);
} }
} }
...@@ -189,9 +189,10 @@ public class WxPayCallbackController { ...@@ -189,9 +189,10 @@ public class WxPayCallbackController {
distributorProfitDao.insert(distributorProfit); distributorProfitDao.insert(distributorProfit);
//更新库存 //更新库存
supplierItemService.reduceStock(distributionOrder.getItemId(), distributionOrder.getItemNum()); supplierItemService.reduceStock(distributionOrder.getItemId(), distributionOrder.getItemNum());
logger.info(">>>>>>>>>>>> 微信支付回调通知处理成功,更新订单状态和商品库存 <<<<<<<<<<<<");
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
logger.info("微信支付回调更新订单状态,计算盈利失败 error :{}", e); logger.info(">>>>>>>>>>>> 微信支付回调通知处理失败 error :{}", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} }
return Result.failed(); return Result.failed();
......
...@@ -168,4 +168,9 @@ public class DistributionOrderDetailVo implements Entity { ...@@ -168,4 +168,9 @@ public class DistributionOrderDetailVo implements Entity {
*/ */
private String itemPrice; private String itemPrice;
/**
* 支付截止时间
*/
private Date payEndTime;
} }
...@@ -143,4 +143,9 @@ public class DistributionOrderVo implements Entity { ...@@ -143,4 +143,9 @@ public class DistributionOrderVo implements Entity {
* 商品单价 * 商品单价
*/ */
private String itemPrice; private String itemPrice;
/**
* 支付截止时间
*/
private Date payEndTime;
} }
...@@ -30,6 +30,9 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -30,6 +30,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -298,6 +301,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -298,6 +301,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderVo.setItemPrice(PriceUtil.convertPriceFenToYuan(itemPrice)); distributionOrderVo.setItemPrice(PriceUtil.convertPriceFenToYuan(itemPrice));
distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState())); distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState()));
distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
//支付截止时间,下单后2小时内
Date date = distributionOrder.getCreateTime();
Instant instant = date.toInstant().plus(Duration.ofHours(2));
Date time = Date.from(instant);
distributionOrderVo.setPayEndTime(time);
distributionOrderVoList.add(distributionOrderVo); distributionOrderVoList.add(distributionOrderVo);
}); });
return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList)); return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList));
...@@ -323,6 +332,11 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -323,6 +332,11 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderDetailVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState())); distributionOrderDetailVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState()));
distributionOrderDetailVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); distributionOrderDetailVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
distributionOrderDetailVo.setLogisticsName(LogisticsEnum.getNameByCode(distributionOrder.getLogisticsCode())); distributionOrderDetailVo.setLogisticsName(LogisticsEnum.getNameByCode(distributionOrder.getLogisticsCode()));
//支付截止时间,下单后2小时内
Date date = distributionOrder.getCreateTime();
Instant instant = date.toInstant().plus(Duration.ofHours(2));
Date time = Date.from(instant);
distributionOrderDetailVo.setPayEndTime(time);
return Result.success(distributionOrderDetailVo); return Result.success(distributionOrderDetailVo);
} catch (Exception e) { } catch (Exception e) {
logger.error("查询用户订单详情失败 error : {}", e); logger.error("查询用户订单详情失败 error : {}", e);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment