nickchange
2023-10-11 66425a710e124c1a03c4061cb327d38e13c0cfc5
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -20,10 +20,10 @@
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.mapper.RechargeRecordsMapper;
import com.dsh.account.util.httpClinet.HttpClientUtil;
import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingReceiver;
import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingRequest;
import com.github.binarywang.wxpay.service.ProfitSharingV3Service;
import com.github.binarywang.wxpay.service.WxPayService;
//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingReceiver;
//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingRequest;
//import com.github.binarywang.wxpay.service.ProfitSharingV3Service;
//import com.github.binarywang.wxpay.service.WxPayService;
import org.apache.commons.collections.map.HashedMap;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
@@ -501,107 +501,107 @@
    @Resource
    private SiteClient siteClient;
    @Autowired
    private WxPayService wxPayService;
//    @Autowired
//    private WxPayService wxPayService;
    //分账
    public ResultUtil order(String code) throws Exception {
                  Integer    coursePackagePayments = coursePackageClient.queryByCode(code);
                  Integer paymentCompetitions = competitionsClient.queryByCode(code);
                  Integer siteBookings = siteClient.queryByCode(code);
        List<Integer> stores = new ArrayList<>();
                stores.add(coursePackagePayments);
                stores.add(paymentCompetitions);
                stores.add(siteBookings);
                OperatorUser operatorUser = siteClient.queryOperator(stores);
        WxPayService myWxPayService = wxPayService.switchoverTo("mch_id");
        ProfitSharingV3Service profitSharingV3Service = myWxPayService.getProfitSharingV3Service();
        String nonceStr = RandomUtil.randomString(32);
        String appId = "您的appid";
        //添加分账方
//    public ResultUtil order(String code) throws Exception {
//
//
//
//                  Integer    coursePackagePayments = coursePackageClient.queryByCode(code);
//                  Integer paymentCompetitions = competitionsClient.queryByCode(code);
//                  Integer siteBookings = siteClient.queryByCode(code);
//        List<Integer> stores = new ArrayList<>();
//                stores.add(coursePackagePayments);
//                stores.add(paymentCompetitions);
//                stores.add(siteBookings);
//
//                OperatorUser operatorUser = siteClient.queryOperator(stores);
//
//
////        WxPayService myWxPayService = wxPayService.switchoverTo("mch_id");
////
////        ProfitSharingV3Service profitSharingV3Service = myWxPayService.getProfitSharingV3Service();
//
//        String nonceStr = RandomUtil.randomString(32);
//        String appId = "您的appid";
//
//
//        //添加分账方
//
////        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
////        profitSharingReceiver.setAccount("appid对应的openId");
////        profitSharingReceiver.setAmount(1l);
////        profitSharingReceiver.setAppid(appId);
////        profitSharingReceiver.setType("PERSONAL_OPENID");
////        profitSharingReceiver.setRelationType("PARTNER");
////        profitSharingV3Service.addProfitSharingReceiver(profitSharingReceiver);
//
//        //分账
//        ProfitSharingRequest profitSharingRequest = new ProfitSharingRequest();
//        profitSharingRequest.setAppid(appId);
//        profitSharingRequest.setTransactionId("微信支付订单号");
//        profitSharingRequest.setOutOrderNo("业务系统唯一编号");
//        //分账完成后,剩余金额自动解冻并返回给商户账号,默认false
//        profitSharingRequest.setUnfreezeUnsplit(true);
//        //待分账金额1元
//        Long money = 1L;
//        List<ProfitSharingReceiver> profitSharingReceivers = new ArrayList<>();
//        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
//        profitSharingReceiver.setAccount("appid对应的openId");
//        profitSharingReceiver.setAmount(1l);
//        profitSharingReceiver.setAccount("appid对应的openId,分账用户1");
//
//
//        //分账百分之5
//        profitSharingReceiver.setAmount(money * 100 / 5);
//        profitSharingReceiver.setAppid(appId);
//        profitSharingReceiver.setType("PERSONAL_OPENID");
//        profitSharingReceiver.setRelationType("PARTNER");
//        profitSharingV3Service.addProfitSharingReceiver(profitSharingReceiver);
        //分账
        ProfitSharingRequest profitSharingRequest = new ProfitSharingRequest();
        profitSharingRequest.setAppid(appId);
        profitSharingRequest.setTransactionId("微信支付订单号");
        profitSharingRequest.setOutOrderNo("业务系统唯一编号");
        //分账完成后,剩余金额自动解冻并返回给商户账号,默认false
        profitSharingRequest.setUnfreezeUnsplit(true);
        //待分账金额1元
        Long money = 1L;
        List<ProfitSharingReceiver> profitSharingReceivers = new ArrayList<>();
        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
        profitSharingReceiver.setAccount("appid对应的openId,分账用户1");
        //分账百分之5
        profitSharingReceiver.setAmount(money * 100 / 5);
        profitSharingReceiver.setAppid(appId);
        profitSharingReceiver.setType("PERSONAL_OPENID");
        profitSharingReceiver.setRelationType("PARTNER");
        profitSharingReceiver.setDescription("test01");
        profitSharingReceivers.add(profitSharingReceiver);
        ProfitSharingReceiver receiver = new ProfitSharingReceiver();
        receiver.setAccount("appid对应的openId,分账用户2");
        //百分之10
        receiver.setAmount(money * 100 / 10);
        receiver.setAppid(appId);
        receiver.setType("PERSONAL_OPENID");
        receiver.setRelationType("PARTNER");
        receiver.setDescription("test02");
        profitSharingReceivers.add(receiver);
        profitSharingRequest.setReceivers(profitSharingReceivers);
        profitSharingV3Service.profitSharing(profitSharingRequest);
//                    Map<String,String> headers = new HashMap<>();
//                    headers.put("Authorization",map.get("sign"));
//                    headers.put("Accept","application/json");
//                    headers.put("Wechatpay-Serial",certPath);
//        profitSharingReceiver.setDescription("test01");
//        profitSharingReceivers.add(profitSharingReceiver);
//
//                    List<Receivers> receivers = new ArrayList<>();
//        ProfitSharingReceiver receiver = new ProfitSharingReceiver();
//        receiver.setAccount("appid对应的openId,分账用户2");
//        //百分之10
//        receiver.setAmount(money * 100 / 10);
//        receiver.setAppid(appId);
//        receiver.setType("PERSONAL_OPENID");
//        receiver.setRelationType("PARTNER");
//        receiver.setDescription("test02");
//        profitSharingReceivers.add(receiver);
//
//                    Map<String,Object> body = new HashMap<>();
//                    body.put("appid",appid);
//                    body.put("transaction_id",map.get("transaction_id"));
//                    body.put("out_order_no",map.get("out_trade_no"));
//                    body.put("receivers",receivers);
//                    body.put("unfreeze_unsplit",true);
                    //支付分账
//                    String url ="https://api.mch.weixin.qq.com/v3/profitsharing/orders";
//                    CloseableHttpResponse closeableHttpResponse = HttpClientUtil.setPostHttpRequset(url, body, headers, "application/json");
//
            return  null;
    }
//        profitSharingRequest.setReceivers(profitSharingReceivers);
//
//        profitSharingV3Service.profitSharing(profitSharingRequest);
//
//
//
//
////                    Map<String,String> headers = new HashMap<>();
////                    headers.put("Authorization",map.get("sign"));
////                    headers.put("Accept","application/json");
////                    headers.put("Wechatpay-Serial",certPath);
////
////                    List<Receivers> receivers = new ArrayList<>();
////
////                    Map<String,Object> body = new HashMap<>();
////                    body.put("appid",appid);
////                    body.put("transaction_id",map.get("transaction_id"));
////                    body.put("out_order_no",map.get("out_trade_no"));
////                    body.put("receivers",receivers);
////                    body.put("unfreeze_unsplit",true);
//
//                    //支付分账
////                    String url ="https://api.mch.weixin.qq.com/v3/profitsharing/orders";
////                    CloseableHttpResponse closeableHttpResponse = HttpClientUtil.setPostHttpRequset(url, body, headers, "application/json");
////
//
//            return  null;
//
//
//
//
//    }
    /**
     * 微信扫码收款