Browse Source

Accept Merge Request #14: (develop-wxl -> master)

Merge Request: 1

Created By: @万新亮
Accepted By: @万新亮
URL: https://chuanghaikeji.coding.net/p/smarCampus/d/iHotel_student_houtai/git/merge/14?initial=true
万新亮 1 year ago
parent
commit
0c50b3f296

+ 48 - 19
src/main/java/com/template/controller/HouseOrderController.java

@@ -1681,9 +1681,9 @@ public class HouseOrderController implements HouseOrderAPI {
     @Transactional(rollbackFor = {Exception.class})
     public CommonResult pay(WxPayDto wpd, BindingResult bindingResult, HttpServletRequest request) throws Exception {
         System.out.println(TimeExchange.getTime() + "微信支付参数====:" + JSON.toJSON(wpd));
-        String wxCode = request.getHeader("code");
+        String wxCode = request.getHeader("wxcode");
         if (wxCode == null || wxCode == "") {
-            return CommonResult.fail("code不能为空");
+            return CommonResult.fail("wxcode不能为空");
         }
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
@@ -1778,7 +1778,7 @@ public class HouseOrderController implements HouseOrderAPI {
         } else {
             payRecord.setPayNo(CommonUtil.generateUUID());
             payRecord.setHouseOrderId(ho.getId());
-            payRecord.setUserId(Integer.valueOf(ho.getPayUserId()));
+            payRecord.setUserId(Integer.valueOf(ho.getReserveUserId()));
             payRecord.setPayPrice(BigDecimal.valueOf(totalfee));
             payRecord.setIsSuccess(1);
             payRecord.setRemark("新订单");
@@ -1801,6 +1801,7 @@ public class HouseOrderController implements HouseOrderAPI {
             return CommonResult.fail("openid查询失败");
         }
 //        String openId = "okdUu5xZ2ICm3RuMUHbpJi4DUyzw";
+//        String openId = wxCode;
         PrepayRequest requestpay = new PrepayRequest();
         requestpay.setAppid(wxPayV3Config.getAppId());
         requestpay.setMchid(wxPayV3Config.getMchId());
@@ -1884,7 +1885,7 @@ public class HouseOrderController implements HouseOrderAPI {
                 case SUCCESS:
                     payRecord.setIsSuccess(2);
                     payRecord.setRemark(transaction.getTradeStateDesc());
-                    one.setOrderStatus("2");
+                    one.setOrderStatus("3");
                     break;
                 case PAYERROR:
                     payRecord.setRemark(transaction.getTradeStateDesc());
@@ -1989,7 +1990,7 @@ public class HouseOrderController implements HouseOrderAPI {
                 case SUCCESS:
                     payRecord.setIsSuccess(2);
                     payRecord.setRemark(transaction.getTradeStateDesc());
-                    one.setOrderStatus("2");
+                    one.setOrderStatus("3");
                     break;
                 case PAYERROR:
                     payRecord.setRemark(transaction.getTradeStateDesc());
@@ -2556,7 +2557,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
 
                     // 订单状态
-                    rr.setOrderStatus("9");
+                    rr.setOrderStatus("7");
 //                    退款时间
                     rr.setRefundTime(new Date());
 
@@ -2581,11 +2582,36 @@ public class HouseOrderController implements HouseOrderAPI {
                         rpr.setIsSuccess(2);
                         rpr.setRemark(rpr.getRemark() + "|微信支付退款失败:" + tradeState + "--" + TimeExchange.getTime());
 
+                    }else{
+                        rpr = new RefundRecord();
+                        rpr.setHouseOrderId(rr.getId());
+                        rpr.setUserId(Integer.valueOf(rr.getReserveUserId()));
+                        rpr.setRefundNo(outRefundNo);
+                        rpr.setWxNo(refundId);
+//                        System.out.println("回调的金额:" + total_fee);
+//                        rpr.setRefundPrice(new BigDecimal(total_fee).divide(new BigDecimal("100")).setScale(2));
+                        rpr.setIsSuccess(2);
+                        rpr.setRemark("微信支付退款失败");
+                        Boolean insertRpr = refundRecordService.save(rpr);
+                    }
+                    // 订单状态改为失败
+                    rr.setOrderStatus("10");
+//                    退款时间
+                    rr.setRefundTime(new Date());
+                    Boolean updateHouseOrder = houseOrderService.updateById(rr);
+                    //更新成功返回200
+                    if (!updateHouseOrder) {
+                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                        JSONObject jsonObject = new JSONObject();
+                        jsonObject.put("code", "FAIL");
+                        jsonObject.put("message", "失败");
+                        response.getWriter().write(jsonObject.toJSONString());
                     }
-                    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+
+                    response.setStatus(HttpServletResponse.SC_OK);
                     JSONObject jsonObject = new JSONObject();
-                    jsonObject.put("code", "FAIL");
-                    jsonObject.put("message", "失败");
+                    jsonObject.put("code", "SUCCESS");
+                    jsonObject.put("message", "SUCCESS");
                     response.getWriter().write(jsonObject.toJSONString());
                 }
             }
@@ -2714,17 +2740,20 @@ public class HouseOrderController implements HouseOrderAPI {
             houseOrderService.updateById(one);
             return CommonResult.ok(result);
         }
-        if (reFundRecord.getIsSuccess() == 1) {
-            result.put("code", "200");
-            result.put("message", "退款已完成");
-            one.setOrderStatus("9");
+        if(reFundRecord.getIsSuccess()==1){
+            result.put("code","200");
+            result.put("message","退款已完成");
+            one.setOrderStatus("7");
             one.setRefundTime(new Date());
             houseOrderService.updateById(one);
             return CommonResult.ok(result);
         }
-        if (reFundRecord.getIsSuccess() == 2) {
-            result.put("code", "1002");
-            result.put("message", "退款失败,原因:" + reFundRecord.getRemark());
+        if(reFundRecord.getIsSuccess()==2){
+            one.setOrderStatus("10");
+            one.setRefundTime(new Date());
+            houseOrderService.updateById(one);
+            result.put("code","1002");
+            result.put("message","退款失败,原因:"+reFundRecord.getRemark());
             //失败不更新订房单
             return CommonResult.ok(result);
         }
@@ -2750,7 +2779,7 @@ public class HouseOrderController implements HouseOrderAPI {
                 log.info("微信退款查询订单出参:" + refund.toString());
                 switch (refund.getStatus()) {
                     case SUCCESS:
-                        one.setOrderStatus("9");
+                        one.setOrderStatus("7");
                         one.setRefundTime(new Date());
                         reFundRecord.setRefundNo(refund.getOutRefundNo());
                         reFundRecord.setWxNo(refund.getRefundId());
@@ -2765,7 +2794,7 @@ public class HouseOrderController implements HouseOrderAPI {
                         result.put("message", "退款处理中,请稍后再查询:" + reFundRecord.getRemark());
                         break;
                     case CLOSED:
-                        one.setOrderStatus("9");
+                        one.setOrderStatus("10");
                         one.setRefundTime(new Date());
                         reFundRecord.setIsSuccess(2);
                         reFundRecord.setRemark(reFundRecord.getRemark() + "|退款处理失败,退款订单被关闭,联系商户处理:" + TimeExchange.getTime());
@@ -2774,7 +2803,7 @@ public class HouseOrderController implements HouseOrderAPI {
                         break;
                     case ABNORMAL:
                         reFundRecord.setIsSuccess(2);
-                        one.setOrderStatus("9");
+                        one.setOrderStatus("10");
                         one.setRefundTime(new Date());
                         reFundRecord.setRemark(reFundRecord.getRemark() + "|退款处理失败,退款异常,联系商户处理:" + TimeExchange.getTime());
                         result.put("code", "1005");

+ 1 - 1
src/main/java/com/template/model/dto/WxPayDto.java

@@ -17,7 +17,7 @@ public class WxPayDto {
     /**
      * openid
      */
-    @NotBlank(message = "openid不能为空")
+    @NotBlank(message = "usersId不能为空")
     private String usersId;
 
     /**