he2802 3 rokov pred
rodič
commit
c897e3bbd9

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -146,7 +146,7 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         add.setRefundFee(orderGoods.getGoodsReceived());
         add.setUserId(order.getUserId());
         if(this.save(add)){
-            Map<String, String> payResult =  iWxPayService.refund(out_trade_no,order.getTransid(),order.getPayPrice().toString(),"1");
+            Map<String, String> payResult =  iWxPayService.refund(out_trade_no,order.getTransid(),add.getRefundFee(),order.getPayPrice());
             if("OK".equals(payResult.get("return_msg"))&&StrUtil.isNotEmpty(payResult.get("refund_id"))){
                 return refundCall(payResult.get("refund_id"),add.getRefundId(),orderGoods.getOrderGoodsId(),order);
             }else{

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/IWxPayService.java

@@ -33,6 +33,6 @@ public interface IWxPayService {
 
 	boolean joinLockGrade(String orderSn,Long goodsId,Long orderGoodsId);
 
-	Map<String, String> refund(String out_refund_no,String transaction_id,  String refund_fee, String total_fee);
+	Map<String, String> refund(String out_refund_no,String transaction_id,  BigDecimal refund_fee, BigDecimal total_fee);
 
 }

+ 6 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -422,8 +422,11 @@ public class WxPayServiceImpl  implements IWxPayService {
     }
 
     @Override
-    public Map<String, String> refund(String out_refund_no,String transaction_id, String refund_fee, String total_fee) {
+    public Map<String, String> refund(String out_refund_no,String transaction_id, BigDecimal refund_fee, BigDecimal total_fee) {
         WxSmallConfig config = new WxSmallConfig(appid,mchid,key);
+        BigDecimal unit = new BigDecimal(100);
+        refund_fee = refund_fee.multiply(unit);
+        total_fee = total_fee.multiply(unit);
         try {
             WXPay wxpay = new WXPay(config);
             Map<String, String> data = new HashMap<String, String>();
@@ -431,8 +434,8 @@ public class WxPayServiceImpl  implements IWxPayService {
             data.put("transaction_id", transaction_id);
             data.put("device_info", "");
             data.put("fee_type", "CNY");
-            data.put("refund_fee", "1");
-            data.put("total_fee", "1");
+            data.put("refund_fee", refund_fee.intValue()+"");
+            data.put("total_fee", total_fee.intValue()+"");
             Map<String, String> result = new HashMap<>();
             result.put("appId",appid);
             result.put("nonceStr",WXPayUtil.generateNonceStr());