Explorar el Código

Merge branch 'master' of http://8.210.64.198:30000/a258771316/ym-ipos

chengxiaowen hace 1 año
padre
commit
102b3f2176

+ 8 - 2
src/main/java/com/poteviohealth/ym/ipos/common/Basic.java

@@ -24,11 +24,17 @@ public class  Basic {
         defaultBc.setPid("00436433");
         defaultBc.setSystemId("5447");
         defaultBc.setMchId("6666000142736819");
+        defaultBc.setSecretkey("sXEEYUDtjkunTEYENlkp");
         basicMaps.put(0,defaultBc);
         //四川
         BasicConfiguration scBc = new BasicConfiguration();
-      /*  bcf.setOperatorId()
-        basicMaps.put(15,)*/
+        scBc.setOperatorId(34);
+        scBc.setCode("嫲米汇");
+        scBc.setPid("00437753");
+        scBc.setSystemId("5458");
+        scBc.setMchId("6666000151059975");
+        scBc.setSecretkey("uUewjlhqsBvSYvHCxPFO");
+        basicMaps.put(34,scBc);
 
 
     }

+ 33 - 27
src/main/java/com/poteviohealth/ym/ipos/controller/feign/IposFeignController.java

@@ -1,6 +1,7 @@
 package com.poteviohealth.ym.ipos.controller.feign;
 
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.collect.Lists;
 import com.poteviohealth.cgp.common.controller.BaseFeignController;
@@ -18,6 +19,7 @@ import com.poteviohealth.ym.ipos.service.*;
 import com.poteviohealth.ym.ipos.utils.YmUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.stereotype.Controller;
@@ -39,6 +41,7 @@ import java.util.List;
 @Controller
 @RequestMapping("/ipos/feign")
 @Api(tags = {"第三方-支付相关接口"})
+@Log4j2
 public class IposFeignController extends BaseFeignController {
 
     @Resource
@@ -109,6 +112,7 @@ public class IposFeignController extends BaseFeignController {
          * 站长分账 = 剩余分账 * 分账比例
          * 平台运营商分账 = 可分账 - 区域运营商分账 -团长分账 -站长分账
          */
+        log.info(JSON.toJSONString(list));
         BigDecimal proportion = new BigDecimal(0.01);
         List<SplitPay> returnList = Lists.newArrayList();
         for (SplitInfo splitInfo : list) {
@@ -200,8 +204,8 @@ public class IposFeignController extends BaseFeignController {
 
                     }
                 }else if(detail.getBelong().equals(0)){
-                    //服务
-                    if(StringUtils.isNotEmpty(detail.getServiceStationMerchantId()) && detail.getOrderType().equals(2)){
+                    //服务
+                    if(StringUtils.isNotEmpty(detail.getServiceStationMerchantId()) && detail.getOrderType().equals(2) && !detail.getServiceStationId().equals(detail.getStationId())){
                         SplitRecordsDetail serviceStation = new SplitRecordsDetail();
                         serviceStation.setSplitId(records.getSplitId());
                         serviceStation.setSourceId(5);
@@ -223,30 +227,33 @@ public class IposFeignController extends BaseFeignController {
                             }
 
                         }
-                    }else if(StringUtils.isNotEmpty(detail.getSupplierMerchantId()) && detail.getOrderType().equals(1)){
+                    }else if(StringUtils.isNotEmpty(detail.getSupplierMerchantId())){
                         //供应商
-                        boolean is_have = false;
-                        SplitRecordsDetail supplier = new SplitRecordsDetail();
-                        supplier.setSplitId(records.getSplitId());
-                        supplier.setSourceId(2);
-                        supplier.setMerchantId(detail.getSupplierMerchantId());
-                        for (SplitRecordsDetail splitRecordsDetail : details) {
-                            if(splitRecordsDetail.getMerchantId().equals(detail.getSupplierMerchantId())){
-                                supplier = splitRecordsDetail;
-                                is_have =true;
-                                break;
+                        if(detail.getOrderType().equals(1) ||(detail.getOrderType().equals(2)&&detail.getStationId().equals(detail.getServiceStationId()))){
+                            boolean is_have = false;
+                            SplitRecordsDetail supplier = new SplitRecordsDetail();
+                            supplier.setSplitId(records.getSplitId());
+                            supplier.setSourceId(2);
+                            supplier.setMerchantId(detail.getSupplierMerchantId());
+                            for (SplitRecordsDetail splitRecordsDetail : details) {
+                                if(splitRecordsDetail.getMerchantId().equals(detail.getSupplierMerchantId())){
+                                    supplier = splitRecordsDetail;
+                                    is_have =true;
+                                    break;
+                                }
                             }
-                        }
-                        supplierAmount = supplierAmount.add(new BigDecimal(detail.getSettlementPrice()));
-                        detail.setPrice(detail.getPrice()-detail.getSettlementPrice());
-                        if (supplierAmount.compareTo(BigDecimal.ZERO) == 1) {
-                            supplier.setDivAmt(supplierAmount.toString());
-                            if(!is_have){
-                                details.add(supplier);
+                            supplierAmount = supplierAmount.add(new BigDecimal(detail.getSettlementPrice()));
+                            detail.setPrice(detail.getPrice()-detail.getSettlementPrice());
+                            if (supplierAmount.compareTo(BigDecimal.ZERO) == 1) {
+                                supplier.setDivAmt(supplierAmount.toString());
+                                if(!is_have){
+                                    details.add(supplier);
+                                }
                             }
-
                         }
+
                     }
+                }
                     /**
                      * 3.分成
                      */
@@ -275,7 +282,7 @@ public class IposFeignController extends BaseFeignController {
                     }
 
                     //团长
-                    if(detail.getGroupCommissionMoney() != null && detail.getGroupCommissionMoney()>0L){
+                    if(detail.getGroupCommissionMoney() != null && detail.getGroupCommissionMoney()>0L &&StringUtils.isNotBlank(detail.getGroupLeaderMerchantId())){
                         SplitRecordsDetail tz = new SplitRecordsDetail();
                         tz.setSplitId(records.getSplitId());
                         tz.setSourceId(6);
@@ -298,12 +305,12 @@ public class IposFeignController extends BaseFeignController {
                         }
                     }
                     //站长
-                    if(detail.getStationmasterCommissionMoney() != null && detail.getStationmasterCommissionMoney()>0L){
+                    if(detail.getStationmasterCommissionMoney() != null && detail.getStationmasterCommissionMoney()>0L&&StringUtils.isNotBlank(detail.getStationmasterMerchantId())){
                         SplitRecordsDetail station = new SplitRecordsDetail();
                         station.setSplitId(records.getSplitId());
                         station.setSourceId(5);
                         station.setMerchantId(detail.getStationmasterMerchantId());
-                        boolean is_have = false;
+                        Boolean is_have = false;
                         for (SplitRecordsDetail splitRecordsDetail : details) {
                             if(splitRecordsDetail.getMerchantId().equals(detail.getStationmasterMerchantId())){
                                 station = splitRecordsDetail;
@@ -325,7 +332,6 @@ public class IposFeignController extends BaseFeignController {
                         ptyysAmount = ptyysAmount.add(new BigDecimal(detail.getPrice()));
                     }
                 }
-            }
             pt.setDivAmt(String.valueOf(ptAmount.longValue()));
             details.add(pt);
 
@@ -336,10 +342,10 @@ public class IposFeignController extends BaseFeignController {
             ptyys.setMerchantId(splitInfo.getOperatorMerchantId());
             ptyys.setDivAmt(ptyysAmount.toString());
             details.add(ptyys);
-            /*VaultsResponse vaultsResponse = splitService.delayConfirm(records,details);
+            VaultsResponse vaultsResponse = splitService.delayConfirm(records,details);
             if(!vaultsResponse.validate()){
                 records.setComment(vaultsResponse.getMessage());
-            }*/
+            }
             records.setStatus(2);
             splitRecordsService.save(records);
             splitRecordsDetailService.saveBatch(details);

+ 2 - 0
src/main/java/com/poteviohealth/ym/ipos/model/BasicConfiguration.java

@@ -23,4 +23,6 @@ public class BasicConfiguration{
 
     @ApiModelProperty(value = "微信或通道商户号,固定值")
     private String mchId;
+    @ApiModelProperty(value = "密钥")
+    private String  secretkey;
 }

+ 2 - 1
src/main/java/com/poteviohealth/ym/ipos/service/impl/SplitServiceImpl.java

@@ -21,6 +21,7 @@ import com.poteviohealth.ym.ipos.service.ISplitRecordsService;
 import com.poteviohealth.ym.ipos.service.ISplitService;
 import com.poteviohealth.ym.ipos.service.ISplitWithdrawService;
 import com.poteviohealth.ym.ipos.utils.YmUtil;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -35,6 +36,7 @@ import java.util.stream.Collectors;
  * @author Qin
  */
 @Service
+@Log4j2
 public class SplitServiceImpl implements ISplitService {
 
     @Value("${pay.field.url}")
@@ -212,7 +214,6 @@ public class SplitServiceImpl implements ISplitService {
         accountBalance.setSystem_id(basicConfig.getSystemId());
         accountBalance.setIsspid(basicConfig.getPid());
         AccountBalanceBack back = null;
-
         try {
             String val = (String) YmUtil.resultBack(accountBalance,new AccountBalanceBack());
             JSONObject jsonObject = new JSONObject(JSON.parseObject(val));

+ 5 - 3
src/main/java/com/poteviohealth/ym/ipos/utils/YmUtil.java

@@ -2,7 +2,9 @@ package com.poteviohealth.ym.ipos.utils;
 
 import com.alibaba.fastjson.JSONObject;
 import com.google.common.collect.Maps;
+import com.poteviohealth.cgp.common.filter.TokenContext;
 import com.poteviohealth.cgp.common.utils.HttpUtils;
+import com.poteviohealth.ym.ipos.common.Basic;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.ArrayUtils;
@@ -17,7 +19,6 @@ import java.util.Map;
 @Log4j2
 public class YmUtil {
 
-    private static final  String SECRETKEY = "sXEEYUDtjkunTEYENlkp";
     public static final String SUCCESS =  "0000";
     public static final String FAIL =  "9998";
     public static final String ERROR =  "9990";
@@ -42,13 +43,14 @@ public class YmUtil {
     }
 
     private static <T> String generateSign(T obj){
-        StringBuilder sb = new StringBuilder(SECRETKEY);
+        String secretKey = Basic.getSystemParameter(TokenContext.cureOperatorId()).getSecretkey();
+        StringBuilder sb = new StringBuilder(secretKey);
         try {
             Map<String,Object> maps =  YmUtil.findObjectFields(obj,true);
             for (String s : maps.keySet()) {
                 sb.append(s).append(maps.get(s));
             }
-            sb.append(SECRETKEY);
+            sb.append(secretKey);
         } catch (IllegalAccessException e) {
             e.printStackTrace();
         }