瀏覽代碼

Merge remote-tracking branch 'origin/master' into test

lwhhszx 1 年之前
父節點
當前提交
2020a6090d

+ 8 - 0
src/main/java/com/example/xiaoshiweixinback/business/exception/ExceptionEnum.java

@@ -16,6 +16,14 @@ public enum ExceptionEnum {
 
     BUSINESS_ERROR("708","业务错误"),
     BUSINESS_CHECK("709","参数校验错误"),
+
+
+    NO_NEED_PAY("901","支付成功"),
+
+
+
+
+
     /*APP端 100000-300000*/
     SUCCESS("000000", "调用成功"),
     PARAMETER_VERIFICATION_ERROR("000001", "数据参数校验异常"),

+ 9 - 0
src/main/java/com/example/xiaoshiweixinback/controller/PayController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.example.xiaoshiweixinback.business.common.Constants;
 import com.example.xiaoshiweixinback.business.common.Response;
 import com.example.xiaoshiweixinback.business.common.base.Records;
+import com.example.xiaoshiweixinback.business.exception.BusinessException;
 import com.example.xiaoshiweixinback.business.utils.JsonUtils;
 import com.example.xiaoshiweixinback.business.utils.LoginUtils;
 import com.example.xiaoshiweixinback.entity.weixinPay.*;
@@ -55,9 +56,17 @@ public class PayController {
         Records records = new Records();
         try {
             GetPayTicketVO getPayTicketVO = weixinPayService.getPayTickets(weiXinPayDTO);
+            if(getPayTicketVO==null){
+                return Response.error("901","支付成功");
+            }
             records.setData(getPayTicketVO);
+
         } catch (Exception e) {
             e.printStackTrace();
+            if(e instanceof BusinessException) {
+                BusinessException e2 =(BusinessException) e;
+                return Response.error(e2.getErrorCode(), e2.getMessage());
+            }
         }
         return Response.success(records);
     }

+ 7 - 0
src/main/java/com/example/xiaoshiweixinback/service/weixinpay/WeixinPayService.java

@@ -2,6 +2,8 @@ package com.example.xiaoshiweixinback.service.weixinpay;
 
 import com.alibaba.fastjson.JSONObject;
 import com.example.xiaoshiweixinback.business.config.XDns;
+import com.example.xiaoshiweixinback.business.exception.BusinessException;
+import com.example.xiaoshiweixinback.business.exception.ExceptionEnum;
 import com.example.xiaoshiweixinback.business.utils.BatchNoUtil;
 import com.example.xiaoshiweixinback.business.utils.CacheUtil;
 import com.example.xiaoshiweixinback.business.utils.FormatUtil;
@@ -56,6 +58,11 @@ public class WeixinPayService {
         String tradeNo = BatchNoUtil.getOrderNo();
         PersonnelVO personnelVO = cacheUtil.getLoginUser(LoginUtils.getToken());
         Order order = orderService.addOrder(weiXinPayDTO, tradeNo, personnelVO);
+    if(order.getTruePrice()<=0){
+        String orderTradeNo =order.getTradeNo();
+        orderService.payBack(orderTradeNo);
+       return null;
+    }
         JsApiDTO jsApiDTO = this.loadJsApiDTO(order, tradeNo);
 
         OkHttpClient okHttpClient = new OkHttpClient();

+ 2 - 0
src/main/resources/mapper/PersonMapper.xml

@@ -35,9 +35,11 @@
                </if>
 
            </where>
+            order by p.create_time desc
         <if test="personQueryDTO.current!=null and personQueryDTO.size!=null">
             limit ${(personQueryDTO.current -1)*personQueryDTO.size},${personQueryDTO.size}
         </if>
+
     </select>
 
     <select id="queryPersonTotal" resultType="java.lang.Long">