فهرست منبع

fix:“修复汇付反扫支付和小程序支付的一些问题”

soobin 2 سال پیش
والد
کامیت
ec931c290b

+ 2 - 2
src/main/java/com/szwl/constant/HuifuConstant.java

@@ -76,8 +76,8 @@ public class HuifuConstant {
     /**
      *  支付成功回调
      */
-    public final static String Notify_Url = "http://szwltest.sunzee.com.cn:49002/PAY-SERVER/tOrder/huifuNotify";
-//    public final static String Notify_Url = "https://sz.sunzee.com.cn/PAY-SERVER/tOrder/huifuNotify";
+//    public final static String Notify_Url = "http://szwltest.sunzee.com.cn:49002/PAY-SERVER/tOrder/huifuNotify";
+    public final static String Notify_Url = "https://sz.sunzee.com.cn/PAY-SERVER/tOrder/huifuNotify";
 
     public final static String mg280Notify_Url = "https://sz.sunzee.com.cn/PAY-SERVER/tOrder/mg280Notify";
 

+ 53 - 2
src/main/java/com/szwl/controller/TOrderController.java

@@ -617,7 +617,8 @@ public class TOrderController {
                 return JsonMessage.error("申请支付失败");
             }
             JSONObject resultJson = JSONObject.parseObject(result);
-            if(resultJson.getString("ra_Code").equals("100")){
+            String raCode = resultJson.getString("ra_Code");
+            if(raCode.equals("100") || raCode.equals("102")){
                 orderService.save(order);
                 orderDetailsService.save(orderDetails);
                 JSONObject kindData = new JSONObject();
@@ -1910,7 +1911,47 @@ public class TOrderController {
             kindData.put("productName", order.getProductName());
 
             TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(order.getClientId()));
-            equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
+            if(order.getFrpCode().equals("WEIXIN_XCX")){
+                JSONObject kindData1 = new JSONObject();
+                kindData1.put("sn", order.getSn());
+                kindData1.put("productDesc", order.getProductDesc());
+                String s = order.getId().toString();
+                if(s.length()>6){
+                    s = s.substring(s.length()-6,s.length());
+                }
+                kindData1.put("mealCode", s);
+                order.setOrderStatus("-1");
+                equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("cardPayXCX", kindData1.toString()).toString());
+                if(StringUtils.isNotEmpty(equipment.getApkVersion())){
+                    //发送两次mq
+                    if(equipment.getApkVersion().equals("1.0.131-jz11")||equipment.getApkVersion().equals("1.0.131-jz12")||equipment.getApkVersion().equals("1.0.131-jz13")||equipment.getApkVersion().equals("1.0.131-jz14")||equipment.getApkVersion().equals("1.0.131-jz15")){
+                        sendMqTwo(equipment.getClientId(),kindData1.toString());
+                    }
+                }
+                TSzsmWx szsmWx = szsmWxService.getById(order.getWxId());
+                BigDecimal integral = szsmWx.getIntegral();
+                if(integral!=null){
+                    integral = order.getPrice().add(integral);
+                }else {
+                    integral = order.getPrice();
+                }
+                szsmWx.setIntegral(integral);
+                szsmWxService.updateById(szsmWx);
+                if(StringUtils.isNotEmpty(order.getCoupons())){
+                    String coupons = order.getCoupons();
+                    coupons= coupons.substring(1,coupons.length()-1);
+                    List<String> list1 = Arrays.asList(coupons);
+                    if(list1.size()>0){
+                        for(String code:list1){
+                            szwlFeign.useYHJ(code, String.valueOf(order.getAdminId()),order.getClientId());
+                        }
+                    }
+                }
+            }else {
+                equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
+            }
+            orderService.updateById(order);
+//            equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("pay_success", kindData.toString()).toString());
             try {
                 if(order.getProductNumber()==null||order.getProductNumber()==0){
                     order.setProductNumber(1);
@@ -1919,6 +1960,16 @@ public class TOrderController {
             }catch (Exception e) {
                 e.printStackTrace();
             }
+            try {
+                TOrderTask orderTask = new TOrderTask();
+                BeanUtils.copyPropertiesIgnoreNull(order, orderTask, true);
+                orderTask.setAgencyId(order.getId());
+                orderTaskService.save(orderTask);
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+            //传送数据
+            sentJingZhun(order);
             return R.ok("支付成功");
         } else {
             TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(order.getClientId()));

+ 4 - 3
src/main/java/com/szwl/service/impl/THuifuMchServiceImpl.java

@@ -70,7 +70,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         if(frpCode.equals("WEIXIN_XCX")) {
             request.put("trade_type", "T_MINIAPP");
             JSONObject wxData = new JSONObject();
-            wxData.put("sub_appid",HuifuConstant.WX_SUB_APP_ID);
+            wxData.put("sub_appid",appid);
             wxData.put("open_id",openId);
             request.put("wx_data", wxData);
         }
@@ -236,8 +236,8 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         String url = "https://api.huifu.com/v2/trade/payment/micropay";
         HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
         JSONObject request = new JSONObject();
-        String sn = HuifuUtils.initReqSeqId();
-        request.put("req_seq_id", sn);
+//        String sn = HuifuUtils.initReqSeqId();
+        request.put("req_seq_id", orderNo);
         request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
         request.put("huifu_id", HuifuConstant.DIV_HUIFU_ID);
         request.put("auth_code", authCode);
@@ -261,6 +261,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         requestData.put("sign", sign);
         requestData.put("data", request);
         System.out.println("请求体:"+ requestData);
+        log.info("请求体:{}",requestData);
         String success = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
         JSONObject result = JSONObject.parseObject(success);
         JSONObject data = result.getJSONObject("data");