Althars123 4 éve
szülő
commit
9aa9b8b2d9

+ 28 - 0
zzjs-admin/src/main/java/com/miaxis/app/controller/film/FilmController.java

@@ -31,6 +31,7 @@ import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
@@ -45,6 +46,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.IOException;
 import java.security.PrivateKey;
 import java.security.Signature;
 import java.util.*;
@@ -132,6 +134,7 @@ public class FilmController extends BaseController {
         order.setSeatId(filmOrderCreateDTO.getSeatId());
         order.setSeatno(filmOrderCreateDTO.getSeatno());
         order.setReservedPhone(filmOrderCreateDTO.getReservedPhone());
+        order.setOpenid(student.getOpenid());
         filmOrderService.save(order);
 
 
@@ -160,6 +163,7 @@ public class FilmController extends BaseController {
         byte[] signedData = signature.sign();
         String base64Str =  Base64.getEncoder().encodeToString(signedData);
         jsonObject.put("paySign",base64Str);
+        jsonObject.put("outTradeNo",orderCode);
         return Response.success(jsonObject);
 
     }
@@ -242,6 +246,30 @@ public class FilmController extends BaseController {
     }
 
 
+    /**
+     * 微信支付查单接口
+     */
+    @GetMapping(value = "/wxorder/{outTradeNo}")
+    @ApiOperation("根据订单号查询订单状态")
+    public Response<String> getOrderInfo(
+            @ApiParam(name = "outTradeNo", value = "商户订单号", required = true)
+            @PathVariable("outTradeNo") String outTradeNo
+    ) throws IOException {
+        HttpGet get = new HttpGet("https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/"
+                +outTradeNo+"?mchid="+wxpayConfig.getMerchantId());
+        get.addHeader("Accept", "application/json");
+        HttpResponse response = httpClient.execute(get);
+        String bodyAsString = EntityUtils.toString(response.getEntity());
+        JSONObject jsonObject = JSONObject.parseObject(bodyAsString);
+        int statusCode = response.getStatusLine().getStatusCode();
+        if (statusCode == 200) {
+            return Response.success(jsonObject.getString("trade_state"));
+        } else {
+            throw new CustomException(EntityUtils.toString(response.getEntity()));
+        }
+    }
+
+
 
 
 

+ 5 - 5
zzjs-admin/src/main/java/com/miaxis/app/controller/film/NotifyController.java

@@ -70,10 +70,10 @@ public class NotifyController {
         }
         filmOrder.setTransactionId(jsonObject.getString("transaction_id"));
         JSONObject amount = jsonObject.getJSONObject("amount");
-        filmOrder.setPayerTotal(jsonObject.getInteger("payer_total"));
-        filmOrder.setTotal(jsonObject.getInteger("total"));
-        filmOrder.setCurrency(jsonObject.getString("currency"));
-        filmOrder.setPayerCurrency(jsonObject.getString("payer_currency"));
+        filmOrder.setPayerTotal(amount.getInteger("payer_total"));
+        filmOrder.setTotal(amount.getInteger("total"));
+        filmOrder.setCurrency(amount.getString("currency"));
+        filmOrder.setPayerCurrency(amount.getString("payer_currency"));
         filmOrder.setTradeState(jsonObject.getString("SUCCESS"));
         filmOrder.setBankType(jsonObject.getString("bank_type"));
         DateTime dateTime  = new DateTime(jsonObject.getString("success_time"));
@@ -83,7 +83,7 @@ public class NotifyController {
         filmOrder.setAttach(jsonObject.getString("attach"));
         JSONObject sceneInfo = jsonObject.getJSONObject("scene_info");
         if (sceneInfo != null){
-            filmOrder.setDeviceId(jsonObject.getString("device_id"));
+            filmOrder.setDeviceId(sceneInfo.getString("device_id"));
         }
         filmOrderService.updateById(filmOrder);
 

+ 4 - 3
zzjs-admin/src/main/java/com/miaxis/app/controller/film/LogFileAspect.java → zzjs-framework/src/main/java/com/miaxis/framework/aspectj/LogFileAspect.java

@@ -1,6 +1,7 @@
-package com.miaxis.app.controller.film;
+package com.miaxis.framework.aspectj;
 
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.miaxis.common.utils.ServletUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
@@ -36,7 +37,7 @@ public class LogFileAspect {
         log.info("HTTP METHOD : " + request.getMethod());
         log.info("请求地址 : " + request.getRequestURL().toString());
         log.info("IP : " + request.getRemoteAddr());
-        log.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());
+        //log.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());
        // log.info("ARGS : " + Arrays.toString(joinPoint.getArgs()));
         log.info("ARGS_JSON : " + JSONUtil.toJsonStr(joinPoint.getArgs()));
     }
@@ -44,7 +45,7 @@ public class LogFileAspect {
     @AfterReturning(returning = "ret", pointcut = "logPoint()")// returning的值和doAfterReturning的参数名一致
     public void doAfterReturning(Object ret) throws Throwable {
         // 处理完请求,返回内容
-        log.info("返回值 : " + ret);
+        log.info("返回值 : " + JSON.toJSONString(ret));
     }
 
     @Around("logPoint()")