| 
					
				 | 
			
			
				@@ -0,0 +1,402 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.zhongshu.payment.server; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.core.lang.Snowflake; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.json.JSONUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.github.microservice.auth.client.content.ResultContent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.order.AdminSeachOrderModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.order.v2.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.payment.CreateRequestModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.payment.CreateResponseModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.payment.SubOrdersConfirmResponseModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.payment.withdrawals.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.model.payment.zswl.ApplyWithdrawalsModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.service.v2.OrderService2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.type.Channel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.type.JobFlowMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.client.type.OrderType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.api.PaymentApi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.api.PaymentApi2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.api.WithdrawalsApi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.config.PaymentConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.dao.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.domain.Complex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.domain.Goods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.domain.PaymentBind; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.domain.PaymentInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.service.v2.PaymentServerImpl2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zhongshu.payment.server.core.timer.ComplexTimer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.junit.jupiter.api.Test; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.boot.test.context.SpringBootTest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.data.domain.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.data.domain.PageRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.data.mongodb.core.MongoTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.util.Assert; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@SpringBootTest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class ServerApplicationTests { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static final Logger log = LoggerFactory.getLogger(ServerApplicationTests.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Snowflake snowflake; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PaymentApi paymentApi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    WithdrawalsApi withdrawalsApi; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PaymentConfig paymentConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PaymentServerImpl2 paymentService2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    OrderService2 orderService2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PaymentBindDao paymentBindDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ApiLogDao apiLogDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    GoodsDao goodsDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ComplexDao complexDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PaymentDao paymentDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Order2Dao order2Dao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TransferDetailDao transferDetailDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TransferDao transferDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ComplexTimer complexTimer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void payOrder() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        orderService2.findChannelGoods(JobFlowMap.Hotel,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void query() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminSeachOrderModel adminSeachOrderModel = new AdminSeachOrderModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        adminSeachOrderModel.setPlatInter(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        adminSeachOrderModel.setOrderType(OrderType.REFUNDED); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        orderService2.adminSearch(adminSeachOrderModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void create() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Complex byAccesserUserId = complexDao.findByAccesser_user_id("65aa17f980f6d56f44643a1f"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Assert.isTrue(byAccesserUserId.isFinish(), "签约未完成"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String merNo = byAccesserUserId.getMer_no(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        String mappNo = byAccesserUserId.getMapp_info_list().get(0).getMapp_no(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GetMoneyDetailRequest getDetailRequest = new GetMoneyDetailRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getDetailRequest.setTransMid(merNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        getDetailRequest.setMappId(mappNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GetMoneyDetailResponse moneyDetail = withdrawalsApi.getMoneyDetail(getDetailRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        String quotaUse = moneyDetail.getData().get(0).getQuotaUse(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        CountDetail countDetail = new CountDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        countDetail.setQuotaUse(quotaUse); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void refund() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        PaymentBind bind = paymentBindDao.findByEpId("Platform"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        PaymentInfo paymentInfo = bind.getPaymentInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+////// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+////// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        RefundRequestModel requestModel = new RefundRequestModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setPlatformAmount(0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setRefundDesc("测试退款,未分账退款"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setRefundOrderId("42171772810695244943360"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setRefundAmount(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setBillDate("2024-03-27"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setTid("PEYAH8X1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setMerOrderId("89852017372911Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        CreateRequestModel.SubOrders subOrders = new CreateRequestModel.SubOrders(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        subOrders.setMid("89852015995900D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        subOrders.setTotalAmount(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        requestModel.setSubOrders(List.of(subOrders)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        PaymentApi2 paymentApi2 = new PaymentApi2(paymentInfo, apiLogDao); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        RefundResponseModel refund = paymentApi2.refund(requestModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        System.out.println(refund); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        RefundParam2Model refundParam2Model = new RefundParam2Model(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        refundParam2Model.setRefundAmount(BigDecimal.valueOf(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        refundParam2Model.setBuyShopAmount(BigDecimal.valueOf(10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        refundParam2Model.setPlatformAmount(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        refundParam2Model.setUseShopAmount(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        Goods goods = goodsDao.findById("6603823d85012d0d233372b2").get(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        paymentService2.refund(refundParam2Model, goods); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paymentService2.close("1788021041601630208", "660a534e32e63427d1a09c2a"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void close() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PaymentBind bind = paymentBindDao.findByChannel(Channel.ZhongShu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PaymentInfo paymentInfo = bind.getPaymentInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CreateRequestModel createRequestModel = new CreateRequestModel("wx.unifiedOrder"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setExpireTime("2024-03-30 12:12:12"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setMerOrderId("4217" + "22222222222222"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setBusiOrderId("1111111111111111"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setMid("89852017372911Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setTid("PEYAH8X1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setTotalAmount(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setSubOpenId("oZJ7S4uer9LHDvLrIWmDQRuFtk98"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setEmployeeNo("gonghao"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        createRequestModel.setNotifyUrl(paymentInfo.getNotifyUrl()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        createRequestModel.setReturnUrl("回调链接"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 是否分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setDivisionFlag(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 异步分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PaymentApi2 paymentApi2 = new PaymentApi2(paymentInfo, apiLogDao); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CreateResponseModel responseBaseModel = paymentApi2.creatOrder(createRequestModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(responseBaseModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void ttt() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminSeachOrderModel adminSeachOrderModel = new AdminSeachOrderModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        adminSeachOrderModel.setNoOrGName("1772440085801148416"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        adminSeachOrderModel.setShopId(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResultContent<Page<OrderResult2Model>> pageResultContent = orderService2.adminSearch(adminSeachOrderModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(pageResultContent.getContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void ttt2() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AdminSeachOrderModel adminSeachOrderModel = new AdminSeachOrderModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        adminSeachOrderModel.setOrderType(OrderType.WAIT_USE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResultContent<Page<OrderResult2Model>> pageResultContent = orderService2.adminSearch(adminSeachOrderModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(pageResultContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        ResultContent<SubOrdersConfirmResponseModel> subOrdersConfirmResponseModelResultContent = paymentService2.subOrdersConfirm("66042b98aefddc65323e187e", "6580f9b9cae1326607eaa24a"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        subOrdersConfirmResponseModelResultContent.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Goods> distinctByGoodsIdAndUserId = goodsDao.findByGoodsIdAndUserId("1772928077253447680", "65fe583d74d67a7dbd842b45"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(distinctByGoodsIdAndUserId.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void videoWithdrawals() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void batchQueryRequest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BatchQueryRequest batchQueryRequest = new BatchQueryRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        batchQueryRequest.setBatchNo("17453442885887262722"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        batchQueryRequest.setTxnDate("20240417"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        batchQueryRequest.setTransMid("89852017372912P"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BatchQueryResponse withdrawals = withdrawalsApi.batchQuery(batchQueryRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.info("响应:{}", JSONUtil.toJsonStr(withdrawals)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void tt112t() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ApplyWithdrawalsModel applyWithdrawalsModel = new ApplyWithdrawalsModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setPlatform(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setChannel(Channel.ZhongShu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setShopId("6605627832e63427d1a08714"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paymentService2.applicationWithdrawals(applyWithdrawalsModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ApplyWithdrawalsModel applyWithdrawalsModel1 = new ApplyWithdrawalsModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel1.setPlatform(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel1.setChannel(Channel.ZhongShu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel1.setShopId(Channel.ZhongShu.name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paymentService2.applicationWithdrawals(applyWithdrawalsModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        for (TransferDetail transferDetail : transferDetailDao.findByShopMid("89852017372912Y")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            List<Transfer> byOrderNo = transferDao.findByOrderNo(transferDetail.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            byOrderNo.forEach(it->it.setChannel(Channel.GuiDa)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            transferDao.saveAll(byOrderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void testw() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WithdrawalsRequest withdrawalsRequest = new WithdrawalsRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        withdrawalsRequest.setTotalAmt("8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        withdrawalsRequest.setTotalQty("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawalsRequest.setTransMid("89852017372911Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawalsRequest.setBatchNo(snowflake.nextIdStr()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WithdrawalsRequest.Deatil deatil = new WithdrawalsRequest.Deatil(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deatil.setTxnNo(snowflake.nextIdStr()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deatil.setMerOrderId("42171773171497466568704"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deatil.setClearDate("20240328"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deatil.setMerNo("89852015995900D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deatil.setMerName("宠物店"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        deatil.setTxnAmt("8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawalsRequest.setDetail(List.of(deatil)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WithdrawalsResponse withdrawals = withdrawalsApi.withdrawals(withdrawalsRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(withdrawals); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void ttttt() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResultContent<SubOrdersConfirmResponseModel> subOrdersConfirmResponseModelResultContent = paymentService2.subOrdersConfirm("6605b6f666f86738e91987e9", "65fe7c9174d67a7dbd842b74"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(subOrdersConfirmResponseModelResultContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void transferDetailDao() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        WithdrawRequestModel withdrawRequestModel = new WithdrawRequestModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawRequestModel.setShopId("6605627832e63427d1a08714"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawRequestModel.setSize(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withdrawRequestModel.setPage(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transferDetailDao.shopTransferDetail(withdrawRequestModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ApplyWithdrawalsModel applyWithdrawalsModel = new ApplyWithdrawalsModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setPlatform(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setChannel(Channel.ZhongShu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWithdrawalsModel.setShopId("661e1fad30fed626f8b583f8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transferDetailDao.detailAccount(applyWithdrawalsModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        transferDetailDao.acount("6605627832e63427d1a08714"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        transferDetailDao.withdrawOrder(withdrawRequestModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void tee() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        AdminSeachOrderModel adminSeachOrderModel = new AdminSeachOrderModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        adminSeachOrderModel.setOrderType(OrderType.APPLY_REFUND); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        order2Dao.findAdminOrder(adminSeachOrderModel, PageRequest.of(0, 10)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        ResultContent resultContent = paymentService2.applicationWithdrawals("PLATFORM"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transferDetailDao.acountDetail("6603b43c32e63427d1a07ab6"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void transfer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ResultContent<GoodsResultModel> goodsResultModelResultContent = orderService2.goodsDetail2("1777974122433875968", "1777974122842091520"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        System.out.println(goodsResultModelResultContent.getContent()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MongoTemplate mongoTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void time() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        goods.goodsState": "WAIT_USE", "transfer": false, "pay": true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        Aggregation aggregation = newAggregation( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                Aggregation.lookup("goods", "orderNo", "orderNo", "goods"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                Aggregation.match(Criteria.where("goods.validDay").ne(null).and("goods.goodsState").is("WAIT_USE").and("pay").is(true)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                Aggregation.project() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("createTime").as("createTime") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("goodsId").as("goodsId") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("orderNo").as("orderNo") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("transfer").as("transfer") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("platform").as("platform") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("buyShop").as("buyShop") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("useShop").as("useShop") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .and("shopId").as("goods.shopId") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                        .andExpression("{$add: {{ $arrayElemAt: {'$goods.createTime', 0} },{ $multiply: {{ $arrayElemAt: {'$goods.validDay', 0} }, 24 * 60 * 60 * 1000} }}}").as("time"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                Aggregation.match(Criteria.where("time").lte(new Date().getTime())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        mongoTemplate.aggregate(aggregation, "transfer", Document.class).getMappedResults(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (TransferModel transferModel : transferDao.validDayTimeOute()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            System.out.println(transferModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Test 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void guiDaPayment() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CreateRequestModel createRequestModel = new CreateRequestModel("wx.miniPreOrder"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setAsynDivisionFlag(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setSubOpenId("1784754317116801025"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setDivisionFlag(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setMerOrderId("42171784754317116801025"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setMid("89852017372912Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setOrderDesc("文创商品"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setPlatformAmount(0L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setSubOpenId("ovIOO4spgsdv4vNtrs0j3_VDkKLY"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CreateRequestModel.SubOrders subOrders = new CreateRequestModel.SubOrders(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subOrders.setMid("89852015995900D"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subOrders.setTotalAmount(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setSubOrders(List.of(subOrders)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setTid("NT4RL61Q"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setTotalAmount(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createRequestModel.setUserId("65fe583d74d67a7dbd842b45"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paymentApi.creatOrder(createRequestModel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |