Browse Source

Merge branch 'master' of hyq/kmall-pt into master

黄亚琴 6 years ago
parent
commit
83a56c4f2f

+ 2 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java

@@ -219,7 +219,7 @@ public class OrderController {
 //          WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getOrderSn().toString(),
 //                orderInfo.getActualPrice().doubleValue(), refundMoney.doubleValue());
             WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getMerchOrderSn().toString(),
-                    0.01, 0.01);
+                    orderInfo.getActualPrice().doubleValue(), orderInfo.getActualPrice().doubleValue());
             if (result.getResult_code().equals("SUCCESS")) {
                 orderService.cancelOrder(orderInfo,result);
             }else{
@@ -280,7 +280,7 @@ public class OrderController {
 //        WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getOrderSn().toString(),
 //                orderInfo.getActualPrice().doubleValue(), refundMoney.doubleValue());
         WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getOrderSn().toString(),
-                0.01, 0.01);
+                orderInfo.getActualPrice().doubleValue(),orderInfo.getActualPrice().doubleValue());
         if (result.getResult_code().equals("SUCCESS")) {
             orderService.refund(orderInfo, refundMoney);
             return R.ok();

+ 16 - 3
kmall-api/src/main/java/com/kmall/api/api/ApiOrderController.java

@@ -244,7 +244,7 @@ public class ApiOrderController extends ApiBaseAction {
             // 需要退款
             if (orderVo.getPay_status() == 2) {
                 WechatRefundApiResult result = WechatUtil.wxRefund(orderVo.getMerchOrderSn().toString(),
-                        0.01, 0.01);
+                        orderVo.getActual_price().doubleValue(), orderVo.getActual_price().doubleValue());
                 if (result.getResult_code().equals("SUCCESS")) {
                     if (orderVo.getOrder_status() == 201) {
                         orderVo.setOrder_status(401);
@@ -367,8 +367,17 @@ public class ApiOrderController extends ApiBaseAction {
         try {
             JSONObject json = getJsonRequest();
             String orderId = json.getString("orderId");
+            String merchOrderSn = json.getString("merchOrderSn");
             String refundReason = json.getString("refundReason");
-            OrderVo orderInfo = orderService.queryObject(Long.valueOf(orderId));
+            List<OrderVo> list = orderService.queryObjectByMerchOrderSn(merchOrderSn);
+            OrderVo orderInfo = null;
+            if(list!=null && list.size()>0){
+                for (OrderVo vo: list) {
+                    if(Long.valueOf(orderId).equals(vo.getId())){
+                        orderInfo = vo;
+                    }
+                }
+            }
             if (null == orderInfo) {
                 return toResponsObject(400, "订单不存在", "");
             }
@@ -380,10 +389,14 @@ public class ApiOrderController extends ApiBaseAction {
             MallOrderRefund orderRefund = new MallOrderRefund();
             orderRefund.setOrderId(Integer.parseInt(orderId));
             orderRefund.setUserId(Integer.parseInt(orderInfo.getUser_id()+""));
-            orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));
             orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_1.getItem()));
             orderRefund.setRefundReason(refundReason);
             orderRefund.setModTime(new Date());
+            if(list.size()>1){//多条订单
+                orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
+            }
+            orderRefund.setRefundMoney(orderInfo.getActual_price().multiply(new BigDecimal(100)));
+
             if(mallOrderRefund !=null){
                 orderRefund.setId(mallOrderRefund.getId());
                 apiOrderRefundService.update(orderRefund);

+ 5 - 2
kmall-api/src/main/java/com/kmall/api/api/ApiPayController.java

@@ -70,6 +70,7 @@ public class ApiPayController extends ApiBaseAction {
         for(int i=0;i<orderIds.length;i++){
             orderIdList.add(orderIds[i]);
         }
+        BigDecimal actual_price = new BigDecimal(0);
         List<OrderVo> orderVoList = orderService.queryObjectByIdList(orderIdList);
         List<OrderProcessRecordEntity> processRecordEntityList = new ArrayList<>();
 
@@ -91,6 +92,8 @@ public class ApiPayController extends ApiBaseAction {
                 entity.setId(processRecordEntity.getId());
                 processRecordEntityList.add(entity);
             }
+            actual_price = actual_price.add(orderInfo.getActual_price());
+
         }
 
         String nonceStr = CharUtil.getRandomString(32);
@@ -123,7 +126,7 @@ public class ApiPayController extends ApiBaseAction {
             }
             //支付金额
 //            parame.put("total_fee", orderInfo.getActual_price().multiply(new BigDecimal(100)).intValue()));//todo 消费金额
-            parame.put("total_fee", 1);// 消费金额
+            parame.put("total_fee", actual_price.multiply(new BigDecimal(100)).intValue());// 消费金额
             //parame.put("notify_url", ResourceUtil.getConfigByName("wx.notifyUrl"));// 回调地址
             parame.put("notify_url", WxPayPropertiesBuilder.instance().getNotifyUrl());// 回调地址
             //parame.put("trade_type", ResourceUtil.getConfigByName("wx.tradeType"));// 交易类型APP
@@ -276,7 +279,7 @@ public class ApiPayController extends ApiBaseAction {
 //        WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getId().toString(),
 //                orderInfo.getActual_price().doubleValue(), orderInfo.getActual_price().doubleValue());
         WechatRefundApiResult result = WechatUtil.wxRefund(orderInfo.getMerchOrderSn().toString(),
-                0.01, 0.01);
+                orderInfo.getActual_price().doubleValue(), orderInfo.getActual_price().doubleValue());
         if (result.getResult_code().equals("SUCCESS")) {
             apiPayService.refund(orderInfo,result,"");
             return toResponsObject(400, "成功退款", "");

+ 1 - 1
wx-mall/pages/ucenter/order/order.js

@@ -90,7 +90,7 @@ Page({
   applyRefund(event) {
     wx.navigateTo({
       url: '/pages/ucenter/applyRefund/applyRefund?orderId=' + event.target.dataset.orderId
-        + '&refundMoney=' + event.target.dataset.actualPrice
+        + '&refundMoney=' + event.target.dataset.actualPrice + '&merchOrderSn=' + event.target.dataset.merchOrderSn 
     })
   }, 
     againBuy(event) {

+ 1 - 1
wx-mall/pages/ucenter/order/order.wxml

@@ -75,7 +75,7 @@
           <button wx:if="{{tabIndex != 5}}" class="{{item.orderBizType==00 && currentStoreId == item.store_id?'btn':'btn-disabel'}}" data-order-id="{{item.id}}" data-goods-type="{{item.orderBizType}}" data-is-Store='{{currentStoreId == item.store_id}}' catchtap="{{item.orderBizType==00 && currentStoreId == item.store_id ?'againBuy':'againBuyDisabel'}}">再来一单</button>
           <button class="btn" wx:if="{{item.order_status==300 && tabIndex != 5}}" data-shipping-No="{{item.shipping_no}}" data-shipping-Code="{{item.shipping_code}}" data-order-id="{{item.id}}" data-goods-type="{{item.orderBizType}}" catchtap="getWuliuList">查看物流</button>
           <button class="btn" data-actual-price="{{item.actual_price}}" data-order-id="{{item.id}}" data-order-index="{{index}}" catchtap="payOrder" wx:if="{{item.handleOption.pay && item.dateformat && tabIndex != 5}}">去付款 {{item.dateformat.min}}{{item.dateformat?':':''}}{{item.dateformat.sec}}</button>
-          <button wx:if="{{item.order_status==201 && tabIndex != 5 && !item.isRefundStatus}}" class="btn" data-order-Id="{{item.id}}" data-actual-Price="{{item.actual_price}}" data-is-Store='{{currentStoreId == item.store_id}}' catchtap="applyRefund">申请维权</button>
+          <button wx:if="{{item.order_status==201 && tabIndex != 5 && !item.isRefundStatus}}" class="btn" data-order-Id="{{item.id}}" data-actual-Price="{{item.actual_price}}" data-merch-Order-Sn="{{item.merchOrderSn}}" data-is-Store='{{currentStoreId == item.store_id}}' catchtap="applyRefund">申请维权</button>
         </view>
       </view>
     </view>