|
@@ -11,6 +11,7 @@ import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
|
|
import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
|
import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
|
import cn.hutool.http.HttpRequest;
|
|
import cn.hutool.http.HttpRequest;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.parser.Feature;
|
|
import com.alibaba.fastjson.parser.Feature;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
@@ -35,7 +36,10 @@ import com.qs.mp.admin.service.IGoodsCardService;
|
|
import com.qs.mp.common.constant.YsServerApiConstants;
|
|
import com.qs.mp.common.constant.YsServerApiConstants;
|
|
import com.qs.mp.common.core.redis.DistributedLocker;
|
|
import com.qs.mp.common.core.redis.DistributedLocker;
|
|
import com.qs.mp.common.core.redis.RedisCache;
|
|
import com.qs.mp.common.core.redis.RedisCache;
|
|
|
|
+import com.qs.mp.common.domain.YsCallLog;
|
|
|
|
+import com.qs.mp.common.enums.DivisionStatusEnum;
|
|
import com.qs.mp.common.enums.UserTypeEnum;
|
|
import com.qs.mp.common.enums.UserTypeEnum;
|
|
|
|
+import com.qs.mp.common.enums.YsCallBizTypeEnum;
|
|
import com.qs.mp.common.utils.AESUtil;
|
|
import com.qs.mp.common.utils.AESUtil;
|
|
import com.qs.mp.common.utils.DateUtils;
|
|
import com.qs.mp.common.utils.DateUtils;
|
|
import com.qs.mp.common.utils.RSAUtil;
|
|
import com.qs.mp.common.utils.RSAUtil;
|
|
@@ -45,6 +49,7 @@ import com.qs.mp.common.utils.http.OkHttpUtil;
|
|
import com.qs.mp.common.utils.uuid.IdUtils;
|
|
import com.qs.mp.common.utils.uuid.IdUtils;
|
|
import com.qs.mp.common.utils.uuid.UUID;
|
|
import com.qs.mp.common.utils.uuid.UUID;
|
|
import com.qs.mp.framework.service.IWxSubscribeMessage;
|
|
import com.qs.mp.framework.service.IWxSubscribeMessage;
|
|
|
|
+import com.qs.mp.pay.domain.DivisionLog;
|
|
import com.qs.mp.pay.service.IWalletService;
|
|
import com.qs.mp.pay.service.IWalletService;
|
|
import com.qs.mp.quartz.task.DayStatTask;
|
|
import com.qs.mp.quartz.task.DayStatTask;
|
|
import com.qs.mp.quartz.task.MarketingTask;
|
|
import com.qs.mp.quartz.task.MarketingTask;
|
|
@@ -141,6 +146,53 @@ public class MyTest {
|
|
private String ysWithdrawNotifyUrl;
|
|
private String ysWithdrawNotifyUrl;
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 分账测试
|
|
|
|
+ */
|
|
|
|
+ @Test
|
|
|
|
+ void test21() {
|
|
|
|
+ // 调用分账登记接口
|
|
|
|
+ OnlineReqDataVo req = new OnlineReqDataVo();
|
|
|
|
+ req.setReqUrl(YsServerApiConstants.COMMON_API);
|
|
|
|
+ req.setNotifyUrl("https://test-mp.quanshu123.com/service/notify/ysDivCallback");
|
|
|
|
+ req.setPartnerId(partnerId);
|
|
|
|
+ req.setPrivateKeyFilePath(privateKeyPath);
|
|
|
|
+ req.setPrivateKeyPassword(privateKeyPass);
|
|
|
|
+ req.setYsPublicKeyFilePath(publicKeyPath);
|
|
|
|
+ // 分账登记业务参数
|
|
|
|
+ Map<String, Object> bizContent = new HashMap<>();
|
|
|
|
+ String divTradeNo = DateUtil.getDateNowYmd() + DateUtil.getRandom(14);
|
|
|
|
+ divTradeNo = "2023041335526144";
|
|
|
|
+ bizContent.put("out_trade_no", divTradeNo);
|
|
|
|
+ bizContent.put("payee_usercode", partnerId);
|
|
|
|
+ bizContent.put("total_amount", "0.10");
|
|
|
|
+ bizContent.put("is_divistion", "02");
|
|
|
|
+ bizContent.put("is_again_division", "N");
|
|
|
|
+ bizContent.put("division_mode", "01");
|
|
|
|
+ // 分账明细
|
|
|
|
+// JSONArray divList = new JSONArray();
|
|
|
|
+// JSONObject divObject = new JSONObject();
|
|
|
|
+// divObject.put("division_mer_usercode", partnerId);
|
|
|
|
+// divObject.put("div_ratio", "1");
|
|
|
|
+// divObject.put("is_chargeFee", "02");
|
|
|
|
+// divList.add(divObject);
|
|
|
|
+ //分账明细
|
|
|
|
+// bizContent.put("div_list", divList);
|
|
|
|
+ req.setParamData(bizContent);
|
|
|
|
+ String result = null;
|
|
|
|
+ DivisionLog divisionLog = new DivisionLog();
|
|
|
|
+ divisionLog.setStatus(DivisionStatusEnum.INIT);
|
|
|
|
+ try{
|
|
|
|
+ logger.info("分账登记调用sdk接口addScanMerc请求入参为:"+ JSONObject.toJSONString(req));
|
|
|
|
+ result = MercFundApi.divisionOnlineAccept(req);
|
|
|
|
+ logger.info("分账登记调用addScanMerc出参为:"+ result);
|
|
|
|
+ //根据返回结果处理自己的业务逻辑,result内容详见接口文档
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ divisionLog.setStatus(DivisionStatusEnum.SUBMIT_FAIL);
|
|
|
|
+ logger.error("线上分账登记接口失败:"+ e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 提现测试方法
|
|
* 提现测试方法
|
|
*/
|
|
*/
|