From 5a107c0386a1edb756f33e573133f01d29e4dbcd Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期四, 14 十二月 2023 09:23:39 +0800
Subject: [PATCH] 门店距离排序bug
---
cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtil.java | 10 ++
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 20 ++++-
cloud-server-competition/src/main/java/com/dsh/competition/service/CompetitionService.java | 2
cloud-server-competition/src/main/java/com/dsh/competition/entity/Competition.java | 3
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 56 +++++++------
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java | 3
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 91 ++++++++++++++++++++++
7 files changed, 154 insertions(+), 31 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index 811ae71..c5a11cb 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -714,14 +714,26 @@
citycodeResp.setLatitude(longitude);
List<StoreDetailList> queryStoreList = storeClient.getQueryStoreList(citycodeResp);
if (queryStoreList.size() > 0) {
- if (ToolUtil.isEmpty(space) || space == 2) {
+
+ if (ToolUtil.isEmpty(space) || space ==1) {
+ queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
+
+
+ } else {
queryStoreList = queryStoreList.stream()
.sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed())
.collect(Collectors.toList());
-
- } else {
- queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
}
+
+
+// if (ToolUtil.isEmpty(space) || space == 2) {
+// queryStoreList = queryStoreList.stream()
+// .sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed())
+// .collect(Collectors.toList());
+//
+// } else {
+// queryStoreList = queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
+// }
if (ToolUtil.isNotEmpty(search)) {
queryStoreList = queryStoreList.stream().filter(o -> o.getStoreName().contains(search)).collect(Collectors.toList());
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/entity/Competition.java b/cloud-server-competition/src/main/java/com/dsh/competition/entity/Competition.java
index c1a29fc..2118c11 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/entity/Competition.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/entity/Competition.java
@@ -234,6 +234,9 @@
*/
@TableField("operatorId")
private Integer operatorId;
+
+ @TableField("isOut")
+ private Integer isOut;
// 已报名人数
@TableField(exist = false)
private String count;
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/CompetitionService.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/CompetitionService.java
index d9c274f..3bffc46 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/CompetitionService.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/CompetitionService.java
@@ -1,5 +1,6 @@
package com.dsh.competition.service;
+import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.competition.entity.Competition;
import com.dsh.competition.model.CompetitionInfo;
@@ -67,4 +68,5 @@
ResultUtil paymentCompetitionCourseList(Integer uid, Integer id);
+ void moneyOut() throws AlipayApiException;
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
index 82db581..b1d0666 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -463,7 +463,9 @@
paymentCompetitionService.updateById(paymentCompetition);
//分账
- moneyOut(tradeNo, tradeNo);
+
+
+// moneyOut(tradeNo, tradeNo,code);
break;
}
@@ -487,14 +489,14 @@
@Autowired
private CompetitionService competitionService;
- public void moneyOut(String outNum, String tradeNo) throws AlipayApiException {
+ public void moneyOut(String outNum, String tradeNo,String code) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest();
AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel();
model.setOutRequestNo(outNum);
model.setTradeNo(tradeNo);
List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
-//
+
AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest();
@@ -518,39 +520,25 @@
}
-// RoyaltyDetailInfos royaltyDetailInfos1 = new RoyaltyDetailInfos();
-// royaltyDetailInfos1.setTransOutType("loginName");
-// royaltyDetailInfos1.setTransOut("happysports@weparklife.com");
-// royaltyDetailInfos1.setTransInType("loginName");
-// royaltyDetailInfos1.setTransIn("19522115070");
-//// royaltyDetailInfos1.setAmount("0.01");
-// royaltyDetailInfos1.setAmountPercentage("100");
-
-// royaltyDetailInfos.add(royaltyDetailInfos1);
- PaymentCompetition code = paymentCompetitionService.getOne(new QueryWrapper<PaymentCompetition>().eq("code", outNum));
- Competition byId1 = competitionService.getById(code.getCompetitionId());
+ PaymentCompetition code1 = paymentCompetitionService.getOne(new QueryWrapper<PaymentCompetition>().eq("code", code));
+ Competition byId1 = competitionService.getById(code1.getCompetitionId());
-// TCoursePackage byId = coursePackageService.getById(one.getCoursePackageId());
OperatorUser operatorUser = storeClient.queryByStoreId(byId1.getOperatorId());
-// Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
-// Integer siteBookings = siteClient.queryByCode(outTradeNo);
-// List<Integer> stores = new ArrayList<>();
-// stores.add(coursePackagePayments);
-// stores.add(paymentCompetitions);
-// stores.add(siteBookings);
-// OperatorUser operatorUser = siteClient.queryOperator(stores);
OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo();
op.setTransOutType("loginName");
op.setTransOut("happysports@weparklife.com");
- op.setTransInType("userId");
- op.setTransIn(operatorUser.getAlipayNum());
- op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion()));
+ op.setTransInType("loginName");
+// op.setTransInType("userId");
+ op.setTransIn("19522115070");
+// op.setTransIn(operatorUser.getAlipayNum());
+// op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion()));
+ op.setAmountPercentage(100L);
List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>();
ops.add(op);
@@ -600,4 +588,22 @@
List<PayCourseRes> list = coursePackagePaymentClient.paymentCompetitionCourseList(uid + "_" + storeId);
return ResultUtil.success(list);
}
+
+ @Override
+ public void moneyOut() throws AlipayApiException {
+ Date date = new Date();
+ List<Competition> list = competitionService.list(new QueryWrapper<Competition>().lt("endTime",date).ne("isOut",1));
+ List<Integer> coms = new ArrayList<>();
+ for (Competition competition : list) {
+ coms.add(competition.getId());
+ competition.setIsOut(1);
+ }
+ List<PaymentCompetition> pays = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().in("competitionId", coms));
+ for (PaymentCompetition pay : pays) {
+ moneyOut(pay.getPayOrderNo(),pay.getPayOrderNo(),pay.getCode());
+ }
+ competitionService.updateBatchById(list);
+
+
+ }
}
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtil.java b/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtil.java
index 2b2af37..b22918d 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtil.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/util/TaskUtil.java
@@ -28,4 +28,14 @@
e.printStackTrace();
}
}
+
+ @Scheduled(fixedRate = 60000)
+ public void money() {
+ try {
+ //定时修改赛事状态
+ competitionService.moneyOut();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
index 2f32eec..99a7a3a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackageService.java
@@ -1,5 +1,6 @@
package com.dsh.course.service;
+import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.TCoursePackage;
@@ -107,5 +108,5 @@
* @param trade_no
* @return
*/
- ResultUtil paymentCourseCallback(String code, String trade_no, String attach);
+ ResultUtil paymentCourseCallback(String code, String trade_no, String attach) throws AlipayApiException;
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index dee116e..fd2c939 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -4,7 +4,17 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.domain.AlipayTradeOrderSettleModel;
+import com.alipay.api.domain.OpenApiRoyaltyDetailInfoPojo;
+import com.alipay.api.domain.RoyaltyDetailInfos;
+import com.alipay.api.request.AlipayTradeOrderSettleRequest;
+import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest;
+import com.alipay.api.response.AlipayTradeOrderSettleResponse;
import com.alipay.api.response.AlipayTradeQueryResponse;
+import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -50,6 +60,16 @@
*/
@Service
public class TCoursePackageServiceImpl extends ServiceImpl<TCoursePackageMapper, TCoursePackage> implements TCoursePackageService {
+
+ private String aliAppid = "2021004105665036";//支付宝appid
+
+ private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
+
+ private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥
+
+ private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
+
+
@Resource
private StoreClient storeClient;
@@ -1088,6 +1108,7 @@
coursePackageOrder1.setAppUserId(null);
coursePackageOrderService.updateById(coursePackageOrder1);
addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
+ moneyOut(tradeNo,tradeNo,finalCode);
break;
}
if ("WAIT_BUYER_PAY".equals(s)) {
@@ -1102,6 +1123,73 @@
}).start();
}
return alipay;
+ }
+
+
+ //分账
+ public void moneyOut(String outNum, String tradeNo,String code) throws AlipayApiException {
+ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
+ AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest();
+ AlipayTradeOrderSettleModel model = new AlipayTradeOrderSettleModel();
+ model.setOutRequestNo(outNum);
+ model.setTradeNo(tradeNo);
+ List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
+
+
+// AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest();
+//
+//
+// request1.setBizContent("{" +
+// " \"receiver_list\":[" +
+// " {" +
+// " \"type\":\"loginName\"," +
+// " \"account\":\"19522115070\"," +
+// " \"name\":\"罗易胜\"," +
+// " \"memo\":\"分账给测试商户\"," +
+// " }" +
+// " ]," +
+// " \"out_request_no\":\"" + tradeNo + "\"" +
+// "}");
+// AlipayTradeRoyaltyRelationBindResponse response = alipayClient.execute(request1);
+// if (response.isSuccess()) {
+// System.out.println("绑定调用成功");
+// } else {
+// System.out.println("调用失败");
+// }
+
+
+
+//
+ CoursePackageOrder one = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("code", code));
+ TCoursePackage coursePackage = coursePackageService.getById(one.getCoursePackageId());
+ OperatorUser operatorUser = storeClient.queryByStoreId(coursePackage.getStoreId());
+ if (operatorUser!=null) {
+ if(one.getPayType()==2){
+
+ OpenApiRoyaltyDetailInfoPojo op = new OpenApiRoyaltyDetailInfoPojo();
+ op.setTransOutType("loginName");
+ op.setTransOut("happysports@weparklife.com");
+ op.setTransInType("userId");
+// op.setTransInType("loginName");
+// op.setTransIn("19522115070");
+ op.setTransIn(operatorUser.getAlipayNum());
+ op.setAmountPercentage(Long.valueOf(operatorUser.getAlipayProportion()));
+
+ List<OpenApiRoyaltyDetailInfoPojo> ops = new ArrayList<>();
+ ops.add(op);
+ model.setRoyaltyParameters(ops);
+
+ request.setBizModel(model);
+
+
+ AlipayTradeOrderSettleResponse response1 = alipayClient.execute(request);
+ if (response1.isSuccess()) {
+ System.out.println("调用成功");
+ } else {
+ System.out.println("调用失败");
+ }
+ }
+ }
}
@@ -1158,7 +1246,7 @@
* @return
*/
@Override
- public ResultUtil paymentCourseCallback(String code, String trade_no, String attach) {
+ public ResultUtil paymentCourseCallback(String code, String trade_no, String attach) throws AlipayApiException {
CoursePackageOrder coursePackageOrder1 = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
.eq("code", code).eq("state", 1));
if (coursePackageOrder1.getPayStatus() == 2) {
@@ -1171,6 +1259,7 @@
CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(attach);
addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
+ moneyOut(trade_no,trade_no,code);
return ResultUtil.success();
}
--
Gitblit v1.7.1