From b9cdaf658e0a5768ac2b494a95acf3d985d5a0a0 Mon Sep 17 00:00:00 2001
From: sxu <602087911@qq.com>
Date: Wed, 22 Jan 2025 15:12:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bonus-common-biz/bonus-common-biz.iml | 132 +---------
bonus-modules/bonus-cateen/bonus-cateen.iml | 232 +-----------------
bonus-modules/bonus-modules.iml | 39 +--
.../bonus-smart-canteen.iml | 231 +----------------
.../canteen/common/utils/GetCustIdUtiles.java | 5 +
.../canteen/common/utils/StringUtil.java | 22 ++
.../controller/BasicsComplaintController.java | 2 +-
.../impl/BasicsComplaintServiceImpl.java | 2 +
.../consumer/task/TaskToInsertSysUser.java | 2 +
.../canteen/pay/controller/PayController.java | 99 +++++++-
.../src/main/resources/bootstrap.yml | 11 +
bonus-modules/pom.xml | 4 +-
bonus.iml | 37 +--
13 files changed, 154 insertions(+), 664 deletions(-)
diff --git a/bonus-common-biz/bonus-common-biz.iml b/bonus-common-biz/bonus-common-biz.iml
index 7ee5a8f..1daccae 100644
--- a/bonus-common-biz/bonus-common-biz.iml
+++ b/bonus-common-biz/bonus-common-biz.iml
@@ -1,136 +1,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/bonus-modules/bonus-cateen/bonus-cateen.iml b/bonus-modules/bonus-cateen/bonus-cateen.iml
index 6b83bf3..1daccae 100644
--- a/bonus-modules/bonus-cateen/bonus-cateen.iml
+++ b/bonus-modules/bonus-cateen/bonus-cateen.iml
@@ -1,236 +1,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/bonus-modules/bonus-modules.iml b/bonus-modules/bonus-modules.iml
index cc4b857..30466db 100644
--- a/bonus-modules/bonus-modules.iml
+++ b/bonus-modules/bonus-modules.iml
@@ -1,39 +1,8 @@
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/bonus-modules/bonus-smart-canteen/bonus-smart-canteen.iml b/bonus-modules/bonus-smart-canteen/bonus-smart-canteen.iml
index 125f03f..1daccae 100644
--- a/bonus-modules/bonus-smart-canteen/bonus-smart-canteen.iml
+++ b/bonus-modules/bonus-smart-canteen/bonus-smart-canteen.iml
@@ -1,235 +1,8 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/GetCustIdUtiles.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/GetCustIdUtiles.java
index 6b3b4f8..a252c40 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/GetCustIdUtiles.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/GetCustIdUtiles.java
@@ -20,6 +20,7 @@ import com.bonus.canteen.consumer.vo.Canteen;
import com.bonus.canteen.consumer.vo.Shopstall;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import java.util.HashMap;
@@ -32,6 +33,7 @@ import static com.bonus.canteen.common.utils.NiuStaticUtils.*;
/**
* 查询个人信息工具类
*/
+@Slf4j
public class GetCustIdUtiles {
@@ -90,6 +92,7 @@ public class GetCustIdUtiles {
// Map map = makeSign(content, appsecret, bodyMap);
Map map = makeSign(content, applicationidpsw, bodyMap);
// HttpRequest request = HttpUtil.createPost(IpConfig.SEARCH_USER);
+ log.info("查询小牛用户url: "+ niusearchuserurl);
HttpRequest request = HttpUtil.createPost(niusearchuserurl);
request.body(JSONUtil.toJsonStr(map), ContentType.JSON.toString());
HttpResponse response = request.execute();
@@ -124,6 +127,7 @@ public class GetCustIdUtiles {
// Map map = makeSign(content, appsecret, bodyMap);
Map map = makeSign(content, applicationidpsw, bodyMap);
// HttpRequest request = HttpUtil.createPost(IpConfig.SEARCH_USER);
+ log.info("查询小牛食堂url: "+ niuallocanteen);
HttpRequest request = HttpUtil.createPost(niuallocanteen);
request.body(JSONUtil.toJsonStr(map), ContentType.JSON.toString());
HttpResponse response = request.execute();
@@ -162,6 +166,7 @@ public class GetCustIdUtiles {
// Map map = makeSign(content, appsecret, bodyMap);
Map map = makeSign(content, applicationidpsw, bodyMap);
// HttpRequest request = HttpUtil.createPost(IpConfig.SEARCH_USER);
+ log.info("查询小牛食堂档口url: "+ niualloshopll);
HttpRequest request = HttpUtil.createPost(niualloshopll);
request.body(JSONUtil.toJsonStr(map), ContentType.JSON.toString());
HttpResponse response = request.execute();
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/StringUtil.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/StringUtil.java
index c3be3a6..9a7f381 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/StringUtil.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/common/utils/StringUtil.java
@@ -39,4 +39,26 @@ public class StringUtil {
return number;
}
+
+ /**
+ * 升成 18位的随机数
+ * @param numDigits
+ * @return
+ */
+ public static String generateRandomString(int numDigits) {
+ Random random = new Random();
+ long number = 0;
+
+ // 确保生成的数字是 18 位
+ for (int i = 0; i < numDigits; i++) {
+ number = number * 10 + random.nextInt(10);
+ }
+
+ // 确保生成的数字不会超过 long 的最大值
+ if (number > Long.MAX_VALUE) {
+ number = Long.MAX_VALUE;
+ }
+
+ return String.valueOf(number);
+ }
}
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/controller/BasicsComplaintController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/controller/BasicsComplaintController.java
index 629343f..8113241 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/controller/BasicsComplaintController.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/controller/BasicsComplaintController.java
@@ -30,7 +30,7 @@ import static com.bonus.common.core.utils.PageUtils.startPage;
@RequestMapping("basicsComplaint")
public class BasicsComplaintController extends BaseController {
/**
- * 服务对象
+ * 服务对象basicsComplaint
*/
@Resource
private BasicsComplaintService basicsComplaintService;
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/service/impl/BasicsComplaintServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/service/impl/BasicsComplaintServiceImpl.java
index db52779..b80a930 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/service/impl/BasicsComplaintServiceImpl.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/service/impl/BasicsComplaintServiceImpl.java
@@ -62,6 +62,8 @@ public class BasicsComplaintServiceImpl implements BasicsComplaintService {
if (StringUtils.isNull(userid)){
return null;
}
+ basicsComplaint.setCrby(userid.toString());
+ basicsComplaint.setUpby(userid.toString());
basicsComplaint.setUptime(new Date());
basicsComplaint.setCrtime(new Date());
this.basicsComplaintDao.insert(basicsComplaint);
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/task/TaskToInsertSysUser.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/task/TaskToInsertSysUser.java
index 658f702..9862422 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/task/TaskToInsertSysUser.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/consumer/task/TaskToInsertSysUser.java
@@ -14,6 +14,7 @@ import com.bonus.canteen.common.utils.StringUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@@ -34,6 +35,7 @@ public class TaskToInsertSysUser {
private SystemConfig systemConfig;
@Scheduled(cron = "0 0 1 * * ?") //每天凌晨一点进行更新
+ @PostConstruct // 服务启动时执行一次
// @Scheduled(fixedRate = 10000)
public void TaskInsertSysUser() {
// Customer custIdInfoList1 = GetCustIdUtiles.getCustIdInfo("15996330508");
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/pay/controller/PayController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/pay/controller/PayController.java
index a91ab0c..e67d5a4 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/pay/controller/PayController.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/pay/controller/PayController.java
@@ -1,12 +1,23 @@
package com.bonus.canteen.pay.controller;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.AlipayConfig;
+import com.alipay.api.DefaultAlipayClient;
+import com.alipay.api.domain.AlipayTradeWapPayModel;
+import com.alipay.api.request.AlipayTradeWapPayRequest;
+import com.alipay.api.response.AlipayTradeWapPayResponse;
+import com.bonus.canteen.common.utils.AlipayUtils;
import com.bonus.canteen.common.utils.LeniuApiUtil;
+import com.bonus.canteen.common.utils.StringUtil;
import com.bonus.canteen.pay.domain.PayDeviceDTO;
import com.bonus.canteen.pay.domain.PayResDTO;
import com.bonus.canteen.pay.domain.RechargeResDTO;
import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -18,8 +29,26 @@ import static com.bonus.canteen.common.utils.NiuStaticUtils.siteurl;
@RestController
@RequestMapping({"/leopen"})
+@Slf4j
public class PayController {
+ @Value("${alipay.URL}")
+ private String URL;
+ @Value("${alipay.APPID}")
+ private String APPID;
+ @Value("${alipay.PID}")
+ private String PID;
+
+ @Value("${alipay.PRIVATE_KEY}")
+ private String PRIVATE_KEY;
+ @Value("${alipay.FORMAT}")
+ private String FORMAT;
+ @Value("${alipay.CHARSET}")
+ private String CHARSET;
+ @Value("${alipay.SIGN_TYPE}")
+ private String SIGN_TYPE;
+ @Value("${alipay.ALIPAY_PUBLIC_KEY}")
+ private String ALIPAY_PUBLIC_KEY;
@ApiOperation("钱包余额查询")
@PostMapping({"/account/balance/query"})
@@ -27,17 +56,36 @@ public class PayController {
String api = siteurl + "/tengyun-api/leopen/account/balance/query";
HashMap bodyMap = (HashMap) LeniuApiUtil.convertObjectToMap(payResDTO);
- return LeniuApiUtil.callLeniuApi(api,bodyMap).body();
+ return LeniuApiUtil.callLeniuApi(api, bodyMap).body();
}
@ApiOperation("钱包充值")
@PostMapping({"/account/charge"})
public String getAccountCharge(@RequestBody RechargeResDTO rechargeResDTO) {
+ rechargeResDTO.setThirdRechargeNum(StringUtil.generateRandomString(18));
String api = siteurl + "/tengyun-api/leopen/account/charge";
HashMap bodyMap = (HashMap) LeniuApiUtil.convertObjectToMap(rechargeResDTO);
- return LeniuApiUtil.callLeniuApi(api,bodyMap).body();
+ //支付宝进行支付
+ AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
+ model.setOutTradeNo(rechargeResDTO.getThirdRechargeNum());//商户订单号
+ model.setTotalAmount(rechargeResDTO.getRechargeAmount().toString());//订单总金额
+ model.setSubject("充值");//订单标题
+ model.setProductCode("QUICK_WAP_WAY");//产品码
+ model.setSellerId(PID);//卖家支付宝 Id
+ AlipayTradeWapPayResponse response = getPayGoods(model);
+ if (response.isSuccess()) {
+ System.err.println("调用成功");
+ return LeniuApiUtil.callLeniuApi(api, bodyMap).body();
+ } else {
+ System.err.println("调用失败");
+ // sdk 版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
+ // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
+ // System.out.println(diagnosisUrl); }
+ return "充值失败";
+ }
+
}
@@ -47,6 +95,51 @@ public class PayController {
String api = siteurl + "/tengyun-api/leopen/pay/device";
HashMap bodyMap = (HashMap) LeniuApiUtil.convertObjectToMap(payDeviceDTO);
- return LeniuApiUtil.callLeniuApi(api,bodyMap).body();
+ return LeniuApiUtil.callLeniuApi(api, bodyMap).body();
}
+
+
+ public AlipayTradeWapPayResponse getPayGoods(AlipayTradeWapPayModel model) {
+
+ try {
+
+ AlipayConfig alipayConfig = new AlipayConfig();
+ //设置网关地址
+ alipayConfig.setServerUrl(URL);
+ //设置应用ID
+ alipayConfig.setAppId(APPID);
+ //设置应用私钥
+ alipayConfig.setPrivateKey(PRIVATE_KEY);
+ //设置请求格式,固定值json
+ alipayConfig.setFormat(FORMAT);
+ //设置字符集
+ alipayConfig.setCharset(CHARSET);
+ //设置签名类型
+ alipayConfig.setSignType(SIGN_TYPE);
+ //设置支付宝公钥
+ alipayConfig.setAlipayPublicKey(ALIPAY_PUBLIC_KEY);
+ AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
+ AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
+ request.setBizModel(model);
+ AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, "POST");
+ // 如果需要返回GET请求,请使用
+ // AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, "GET");
+ String pageRedirectionData = response.getBody();
+ System.err.println(pageRedirectionData);
+ return response;
+ /* if (response.isSuccess()) {
+ System.out.println("调用成功");
+ } else {
+ System.out.println("调用失败");
+ // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
+ // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
+ // System.out.println(diagnosisUrl);
+ }*/
+ } catch (AlipayApiException e) {
+ e.printStackTrace();
+ log.info("充值链接支付宝错误信息为: " + e);
+ return null;
+ }
+ }
+
}
diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/bootstrap.yml b/bonus-modules/bonus-smart-canteen/src/main/resources/bootstrap.yml
index b3fc713..14d83c4 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/resources/bootstrap.yml
+++ b/bonus-modules/bonus-smart-canteen/src/main/resources/bootstrap.yml
@@ -17,3 +17,14 @@ niu:
applicationidpsw: 082d5733fc44443e992071b2bc916620
sncode: 001
serialnum: 02022840
+#niu:
+# siteurl: http://10.138.55.106:58100
+# niupayurl: http://10.138.55.106:58100/tengyun-api/leopen/pay/device #地址食堂支付
+# niusearchuserurl: http://10.138.55.106:58100/tengyun-api/leopen/customer/query #地址查询用户
+# niupayreturnurl: http://10.138.55.106:58100/tengyun-api/leopen/pay/refund #地址食堂支付退钱
+# niuallocanteen: https://dev06.xnzn.net/tengyun-api/leopen/canteen/query #地址食堂列表
+# niualloshopll: https://dev06.xnzn.net/tengyun-api/leopen/stall/query #档口
+# applicationid: 396571655104630784
+# applicationidpsw: ee75c51b4a854c43ad9a85560f024068
+# sncode: 2ad34554g2 #虚拟支付设备
+# serialnum: 02022840
\ No newline at end of file
diff --git a/bonus-modules/pom.xml b/bonus-modules/pom.xml
index c26d8ca..33b55ab 100644
--- a/bonus-modules/pom.xml
+++ b/bonus-modules/pom.xml
@@ -9,8 +9,8 @@
4.0.0
-
-
+ core-aggregator
+ bonus-cateen
bonus-smart-canteen
diff --git a/bonus.iml b/bonus.iml
index cc4b857..0037200 100644
--- a/bonus.iml
+++ b/bonus.iml
@@ -1,39 +1,8 @@
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file