2025008071805
This commit is contained in:
parent
238f958a84
commit
c3297f0eae
|
|
@ -1,12 +0,0 @@
|
|||
@echo off
|
||||
chcp 65001
|
||||
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN
|
||||
echo 正在以UTF-8编码启动IDEA...
|
||||
echo 请用这个脚本启动IDEA来解决中文显示问题
|
||||
echo.
|
||||
echo 使用方法:
|
||||
echo 1. 将此文件复制到IDEA安装目录的bin文件夹中
|
||||
echo 2. 双击运行此文件来启动IDEA
|
||||
echo 3. 或者修改IDEA的桌面快捷方式指向此文件
|
||||
echo.
|
||||
pause
|
||||
|
|
@ -1072,13 +1072,16 @@ public class AppleOrderController extends BaseController {
|
|||
Integer paytype = params.get("paytype") != null ? Integer.parseInt(params.get("paytype").toString()) : 1;
|
||||
Long couponId = params.get("coupon_id") != null ? Long.parseLong(params.get("coupon_id").toString()) : null;
|
||||
String mtcode = params.get("mtcode") != null ? params.get("mtcode").toString() : null;
|
||||
|
||||
System.out.println("-----------------------------------支付完成有一个问题的这里 paytype:"+paytype);
|
||||
// 4. 查询预支付记录
|
||||
UsersPayBefor payBefor = usersPayBeforService.selectUsersPayBeforByOrderId(id);
|
||||
if (payBefor == null) {
|
||||
return AppletControllerUtil.appletWarning("预支付记录不存在");
|
||||
}
|
||||
|
||||
//已确认支付的订单就不要做金额上的改动,直接返回现有就可以
|
||||
if (payBefor.getStatus() == 2) {
|
||||
return AppletControllerUtil.appletSuccess();
|
||||
}
|
||||
// 5. 验证记录归属权(只能查看自己的记录)
|
||||
if (!payBefor.getUid().equals(user.getId())) {
|
||||
return AppletControllerUtil.appletWarning("无权查看该预支付记录");
|
||||
|
|
|
|||
|
|
@ -1166,14 +1166,11 @@ public class ApplePayController extends BaseController {
|
|||
|
||||
// 5. 处理支付
|
||||
Map<String, Object> payResult = new HashMap<>();
|
||||
|
||||
//全额微信支付
|
||||
if (paytype == 1) {
|
||||
// 微信支付
|
||||
// 微信支付,余额为0的时候直接过,但是还要扣除优惠里面的东西
|
||||
if (wxMoney.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
// 金额为0,直接走后续逻辑
|
||||
// payBefor.setStatus(2L); // 已支付
|
||||
// payBefor.setPaytime(new Date());
|
||||
// usersPayBeforService.updateUsersPayBefor(payBefor);
|
||||
//扣减消费金服务金
|
||||
int flg= BenefitPointsUtil.creatServerOrderData(payBefor);
|
||||
if (flg==0){
|
||||
|
|
@ -1187,9 +1184,6 @@ public class ApplePayController extends BaseController {
|
|||
}
|
||||
}
|
||||
}
|
||||
//BenefitPointsUtil.deductServiceAndConsumption(payBefor.getOid(), user, payBefor.getServicemoney(), payBefor.getShopmoney());
|
||||
//回调方法用来处理订单相关数据
|
||||
// OrderUtil.prepayCallback(payBefor, user);
|
||||
payResult.put("istowx", 1);
|
||||
return AppletControllerUtil.appletSuccess("支付成功");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1309,7 +1309,7 @@ public class AppletController extends BaseController {
|
|||
// 3. 构建查询条件
|
||||
ServiceGoods queryGoods = new ServiceGoods();
|
||||
queryGoods.setStatus("1"); // 只查询启用状态的商品
|
||||
|
||||
queryGoods.setType(2);// 只查询商品类
|
||||
// 判断是否查询全部商品
|
||||
boolean queryAll = "00".equals(cateId.trim()) || cateId.trim().isEmpty();
|
||||
|
||||
|
|
@ -4090,7 +4090,7 @@ public class AppletController extends BaseController {
|
|||
orderLogService.insertOrderLog(orderLog);
|
||||
//解绑虚拟号码
|
||||
//需要解绑原订单上原师傅和客户的虚拟号
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
if (resultObj.getResult().equals("000000")) {
|
||||
orderService.updateOrderPhone(order.getId());
|
||||
}
|
||||
|
|
@ -4178,8 +4178,11 @@ public class AppletController extends BaseController {
|
|||
orderLogService.insertOrderLog(orderLog);
|
||||
// OrderUtil orderUtil = new OrderUtil();
|
||||
// orderUtil.SaveOrderLog(order);
|
||||
//绑定号码
|
||||
Map<String, Object> bindmap = OrderBindWorkerUtil.getOrderBindWorker(order.getId());
|
||||
//如果没有绑定虚拟号就要绑定绑定号码
|
||||
if (StringUtils.isBlank(order.getMiddlePhone())){
|
||||
Map<String, Object> bindmap = OrderBindWorkerUtil.getOrderBindWorker(order.getId());
|
||||
}
|
||||
|
||||
//发送微信推送通知客户师傅已接单
|
||||
// 6. 返回成功
|
||||
return AjaxResult.success("接单成功");
|
||||
|
|
@ -4458,7 +4461,7 @@ public class AppletController extends BaseController {
|
|||
}
|
||||
// 6. 查询订单日志
|
||||
OrderLog logQuery = new OrderLog();
|
||||
logQuery.setOid(order.getId());
|
||||
logQuery.setOrderId(order.getOrderId());
|
||||
List<OrderLog> logList = orderLogService.selectOrderLogList(logQuery);
|
||||
List<Map<String, Object>> logArr = new ArrayList<>();
|
||||
for (OrderLog log : logList) {
|
||||
|
|
@ -4715,7 +4718,7 @@ public class AppletController extends BaseController {
|
|||
}
|
||||
// 6. 查询订单日志
|
||||
OrderLog logQuery = new OrderLog();
|
||||
logQuery.setOid(order.getId());
|
||||
logQuery.setOrderId(order.getOrderId());
|
||||
List<OrderLog> logList = orderLogService.selectOrderLogList(logQuery);
|
||||
List<Map<String, Object>> logArr = new ArrayList<>();
|
||||
for (OrderLog log : logList) {
|
||||
|
|
@ -5258,11 +5261,12 @@ public class AppletController extends BaseController {
|
|||
newlog.setIsPause(2);
|
||||
orderLogService.insertOrderLog(newlog);
|
||||
//需要解绑原订单上原师傅和客户的虚拟号
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
if (resultObj.getResult().equals("000000")) {
|
||||
orderService.updateOrderPhone(order.getId());
|
||||
// orderService.updateOrder(order);
|
||||
}
|
||||
//绑定新师傅的虚拟号
|
||||
//给新师傅进行电话通知
|
||||
YunXinPhoneUtilAPI.httpsAxbTransfer(newWorker.getPhone(), order.getId());
|
||||
}
|
||||
|
|
@ -5977,7 +5981,7 @@ public class AppletController extends BaseController {
|
|||
}
|
||||
//解绑订单虚拟号
|
||||
//需要解绑原订单上原师傅和客户的虚拟号
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
System.out.println("----------------------------------"+resultObj.getResult());
|
||||
System.out.println("----------------------------------"+resultObj.getResult());
|
||||
if (resultObj.getResult().equals("000000")) {
|
||||
|
|
@ -6028,7 +6032,7 @@ public class AppletController extends BaseController {
|
|||
// 6. 保存
|
||||
orderLogService.insertOrderLog(orderLog);
|
||||
//解绑号码
|
||||
YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
// 小程序推送给用户师傅已经到达
|
||||
|
||||
ServiceGoods serviceGoods = serviceGoodsService.selectServiceGoodsById(order.getProductId());
|
||||
|
|
@ -7094,9 +7098,9 @@ public class AppletController extends BaseController {
|
|||
WXsendMsgUtil.sendMsgForUserDoorMoney(userinfo.getOpenid(), orderInfo, serviceGoods);
|
||||
}
|
||||
|
||||
// 3.4 解绑虚拟号
|
||||
// 3.4 如果还有虚拟号就解绑虚拟号
|
||||
if (orderInfo.getMiddlePhone() != null) {
|
||||
VoiceResponseResult unbind = YunXinPhoneUtilAPI.httpsPrivacyUnbind(orderInfo.getWorkerPhone(), orderInfo.getUserPhone(), orderInfo.getMiddlePhone());
|
||||
VoiceResponseResult unbind = YunXinPhoneUtilAPI.httpsPrivacyUnbind(orderInfo.getWorkerPhone(), orderInfo.getUserPhone(), orderInfo.getMiddlePhone(), orderInfo.getId());
|
||||
if (unbind.getResult().equals("000000")) {
|
||||
orderService.updateOrderPhone(orderInfo.getId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,6 +134,19 @@ public class OrderController extends BaseController {
|
|||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
Order order = orderService.selectOrderById(id);
|
||||
if (order != null){
|
||||
if(StringUtils.isBlank(order.getAdressjson())){
|
||||
UserAddress userAddress=userAddressService.selectUserAddressById(order.getAddressId());
|
||||
if (userAddress != null) {
|
||||
try {
|
||||
order.setAdressjson(JSON.toJSONString(userAddress));
|
||||
orderService.updateOrder(order);
|
||||
} catch (Exception e) {
|
||||
order.setAdressjson(null);
|
||||
}
|
||||
}
|
||||
// Users users=usersService.selectUsersById(order.getUid());
|
||||
// if()
|
||||
}
|
||||
order.setOrderLog(new OrderLog());
|
||||
}
|
||||
|
||||
|
|
@ -977,7 +990,7 @@ public class OrderController extends BaseController {
|
|||
orderLogService.insertOrderLog(orderLog);
|
||||
//解绑订单虚拟号
|
||||
//需要解绑原订单上原师傅和客户的虚拟号
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
VoiceResponseResult resultObj = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
if (resultObj.getResult().equals("000000")) {
|
||||
// order.setWorkerPhone(null);
|
||||
// order.setUserPhone(null);
|
||||
|
|
@ -986,7 +999,7 @@ public class OrderController extends BaseController {
|
|||
orderService.updateOrderPhone(order.getId());
|
||||
} // 4. 更新订单状
|
||||
//解绑号码
|
||||
YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
// YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
// 小程序推送给用户师傅已经到达
|
||||
|
||||
ServiceGoods serviceGoods = serviceGoodsService.selectServiceGoodsById(order.getProductId());
|
||||
|
|
@ -1098,7 +1111,7 @@ public class OrderController extends BaseController {
|
|||
|
||||
// 3.4 解绑虚拟号
|
||||
if (order.getMiddlePhone() != null) {
|
||||
VoiceResponseResult unbind = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone());
|
||||
VoiceResponseResult unbind = YunXinPhoneUtilAPI.httpsPrivacyUnbind(order.getWorkerPhone(), order.getUserPhone(), order.getMiddlePhone(), order.getId());
|
||||
if (unbind.getResult().equals("000000")) {
|
||||
orderService.updateOrderPhone(order.getId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -334,6 +334,7 @@ public class PayNotifyController extends BaseController {
|
|||
if (usersPayBefor != null) {
|
||||
users = usersService.selectUsersById(usersPayBefor.getUid());
|
||||
}
|
||||
//各种优惠的扣除操作
|
||||
int flg= BenefitPointsUtil.creatServerOrderData(usersPayBefor);
|
||||
if (flg==0){
|
||||
UsersPayBefor newpayBefor = usersPayBeforService.selectUsersPayBeforByOrderId(usersPayBefor.getOrderid());
|
||||
|
|
@ -345,13 +346,8 @@ public class PayNotifyController extends BaseController {
|
|||
usersPayBeforService.updateUsersPayBefor(newpayBefor);
|
||||
}
|
||||
}
|
||||
//扣减消费金服务金
|
||||
// BenefitPointsUtil.deductServiceAndConsumption(usersPayBefor.getOid(), users, usersPayBefor.getServicemoney(), usersPayBefor.getShopmoney());
|
||||
//回调方法用来处理订单相关数据
|
||||
//订单状态的回调
|
||||
OrderUtil.prepayCallback(usersPayBefor, users);
|
||||
// //订单回调处理,拼团创建订单,其他订单修改状态
|
||||
// OrderUtil.prepayCallback(usersPayBefor, users);
|
||||
|
||||
// //最后无论如何平台流水需要添加,让平台看到流水和账目
|
||||
PayMoneyLog payMoneyLog = new PayMoneyLog();
|
||||
if (usersPayBefor != null) {
|
||||
|
|
@ -365,9 +361,25 @@ public class PayNotifyController extends BaseController {
|
|||
payMoneyLog.setPrice(usersPayBefor.getWxmoney());
|
||||
payMoneyLog.setMark("订单支付");
|
||||
payMoneyLog.setPayTime(new Date());
|
||||
payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
int paystatus= payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
//如果支付成功还要添加客户的流水,让客户看到自己账户的变动
|
||||
if (paystatus>0){
|
||||
//第一步记录用户支付记录,购买是负数
|
||||
UserMemnerConsumptionLog newuserMemnerConsumptionLog = new UserMemnerConsumptionLog();
|
||||
newuserMemnerConsumptionLog.setUid(Math.toIntExact(users.getId()));
|
||||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(usersPayBefor.getWxmoney()); //支付就是负数
|
||||
newuserMemnerConsumptionLog.setReamk("订单微信支付" +usersPayBefor.getWxmoney() + "元");
|
||||
newuserMemnerConsumptionLog.setBeformoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(users.getBalance().add(usersPayBefor.getWxmoney()));
|
||||
newuserMemnerConsumptionLog.setNowmoney(users.getBalance().add(usersPayBefor.getWxmoney()));
|
||||
newuserMemnerConsumptionLog.setType(2); //1收入 2支出
|
||||
newuserMemnerConsumptionLog.setOrderid(usersPayBefor.getOrderid());
|
||||
userMemnerConsumptionLogService.insertUserMemnerConsumptionLog(newuserMemnerConsumptionLog);
|
||||
}
|
||||
//sendWechatMessage(users,outTradeNo);
|
||||
logger.info("商品支付回调处理成功,订单号:{}", outTradeNo);
|
||||
logger.info("订单支付回调处理成功,订单号:{}", outTradeNo);
|
||||
return buildSuccessResponse();
|
||||
|
||||
} catch (Exception e) {
|
||||
|
|
@ -486,7 +498,6 @@ public class PayNotifyController extends BaseController {
|
|||
String transactionId = (String) paymentInfo.get("transactionId");
|
||||
String totalFee = (String) paymentInfo.get("totalFee");
|
||||
UsersPayBefor usersPayBefor = usersPayBeforService.selectUsersPayBeforByOrderId(outTradeNo);
|
||||
|
||||
// 组合支付:微信支付回调后自动扣余额
|
||||
if (usersPayBefor != null && usersPayBefor.getYemoney() != null && usersPayBefor.getYemoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
Users user = usersService.selectUsersById(usersPayBefor.getUid());
|
||||
|
|
@ -496,44 +507,33 @@ public class PayNotifyController extends BaseController {
|
|||
"订单组合支付-余额部分" + usersPayBefor.getYemoney() + "元",
|
||||
usersPayBefor.getOrderid()
|
||||
);
|
||||
if (balanceResult == null || !Boolean.TRUE.equals(balanceResult.get("success"))) {
|
||||
if (balanceResult != null) {
|
||||
UsersPayBefor newpayBefor = usersPayBeforService.selectUsersPayBeforByOrderId(usersPayBefor.getOrderid());
|
||||
if (newpayBefor!=null){
|
||||
// 创建订单
|
||||
newpayBefor.setStatus(2L);
|
||||
newpayBefor.setPaytime(new Date());
|
||||
newpayBefor.setPaycode(transactionId);
|
||||
int flgs=usersPayBeforService.updateUsersPayBefor(newpayBefor);
|
||||
}
|
||||
System.out.println("------------组合支付:微信支付回调后自动扣余额,微信支付:"+newpayBefor.getWxmoney()+"余额支付:"+newpayBefor.getYemoney());
|
||||
//扣减消费金服务金
|
||||
// BenefitPointsUtil.deductServiceAndConsumption(usersPayBefor.getOid(), user, usersPayBefor.getServicemoney(), usersPayBefor.getShopmoney());
|
||||
//回调方法用来处理订单相关数据
|
||||
int flg= BenefitPointsUtil.creatServerOrderData(usersPayBefor);
|
||||
if (flg==0){
|
||||
UsersPayBefor newpayBefor = usersPayBeforService.selectUsersPayBeforByOrderId(usersPayBefor.getOrderid());
|
||||
if (newpayBefor!=null){
|
||||
// 创建订单
|
||||
newpayBefor.setStatus(2L);
|
||||
newpayBefor.setPaytime(new Date());
|
||||
newpayBefor.setPaycode(transactionId);
|
||||
int flgs=usersPayBeforService.updateUsersPayBefor(newpayBefor);
|
||||
if (flgs>0){
|
||||
OrderUtil.prepayCallback(newpayBefor, user);
|
||||
}
|
||||
}
|
||||
OrderUtil.prepayCallback(newpayBefor, user);
|
||||
}
|
||||
// OrderUtil.prepayCallback(newpayBefor, user);
|
||||
String errorMsg = balanceResult != null ? (String) balanceResult.get("message") : "余额支付失败";
|
||||
logger.error("组合支付余额部分扣款失败:{}", errorMsg);
|
||||
return buildFailResponse("组合支付余额部分扣款失败: " + errorMsg);
|
||||
// logger.error("组合支付余额部分扣款失败:{}", errorMsg);
|
||||
// return buildFailResponse("组合支付余额部分扣款失败: " + errorMsg);
|
||||
}
|
||||
}
|
||||
|
||||
// if (usersPayBefor != null) {
|
||||
// usersPayBefor.setStatus(2L);
|
||||
// usersPayBefor.setPaytime(new Date());
|
||||
// usersPayBefor.setPaycode(transactionId);
|
||||
// usersPayBeforService.updateUsersPayBefor(usersPayBefor);
|
||||
//
|
||||
// }
|
||||
Users users = null;
|
||||
if (usersPayBefor != null) {
|
||||
users = usersService.selectUsersById(usersPayBefor.getUid());
|
||||
}
|
||||
//订单回调处理,拼团创建订单,其他订单修改状态
|
||||
OrderUtil.prepayCallback(usersPayBefor, users);
|
||||
// OrderUtil.prepayCallback(usersPayBefor, users);
|
||||
|
||||
// //最后无论如何平台流水需要添加,让平台看到流水和账目
|
||||
PayMoneyLog payMoneyLog = new PayMoneyLog();
|
||||
|
|
@ -548,7 +548,22 @@ public class PayNotifyController extends BaseController {
|
|||
payMoneyLog.setPrice(usersPayBefor.getWxmoney());
|
||||
payMoneyLog.setMark("订单支付");
|
||||
payMoneyLog.setPayTime(new Date());
|
||||
payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
int paystatus= payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
//用户的支付里面微信支付也要记录在用户的余额变动里面,确保用户对自己的支付情况了解
|
||||
if (paystatus>0){
|
||||
UserMemnerConsumptionLog newuserMemnerConsumptionLog = new UserMemnerConsumptionLog();
|
||||
newuserMemnerConsumptionLog.setUid(Math.toIntExact(users.getId()));
|
||||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setOrderid(usersPayBefor.getOrderid());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(usersPayBefor.getWxmoney()); //支付就是负数
|
||||
newuserMemnerConsumptionLog.setReamk("订单组合支付-微信部分" +usersPayBefor.getWxmoney() + "元");
|
||||
newuserMemnerConsumptionLog.setBeformoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setNowmoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setType(2);
|
||||
userMemnerConsumptionLogService.insertUserMemnerConsumptionLog(newuserMemnerConsumptionLog);
|
||||
}
|
||||
//sendWechatMessage(users,outTradeNo);
|
||||
logger.info("商品支付回调处理成功,订单号:{}", outTradeNo);
|
||||
return buildSuccessResponse();
|
||||
|
|
@ -606,7 +621,7 @@ public class PayNotifyController extends BaseController {
|
|||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(userMemberRechargeLog.getComemoney());
|
||||
newuserMemnerConsumptionLog.setReamk("用户充值" + userMemberRechargeLog.getInmoney() + "实际到账" + userMemberRechargeLog.getComemoney());
|
||||
newuserMemnerConsumptionLog.setReamk("用户微信支付充值" + userMemberRechargeLog.getInmoney() + "实际到账" + userMemberRechargeLog.getComemoney());
|
||||
newuserMemnerConsumptionLog.setBeformoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(users.getBalance().add(userMemberRechargeLog.getComemoney()));
|
||||
newuserMemnerConsumptionLog.setNowmoney(users.getBalance().add(userMemberRechargeLog.getComemoney()));
|
||||
|
|
@ -622,7 +637,7 @@ public class PayNotifyController extends BaseController {
|
|||
userMemnerConsumptionLog.setConsumptiontype(2);
|
||||
userMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
userMemnerConsumptionLog.setConsumptionmoney(userMemberRechargeLog.getComemoney());
|
||||
userMemnerConsumptionLog.setReamk("会员包年扣减");
|
||||
userMemnerConsumptionLog.setReamk("会员包年余额扣减");
|
||||
userMemnerConsumptionLog.setBeformoney(users.getBalance());
|
||||
userMemnerConsumptionLog.setAftermoney(users.getBalance().subtract(userMemberRechargeLog.getComemoney()));
|
||||
userMemnerConsumptionLog.setNowmoney(users.getBalance().subtract(userMemberRechargeLog.getComemoney()));
|
||||
|
|
@ -1674,13 +1689,39 @@ public class PayNotifyController extends BaseController {
|
|||
logger.error("未找到次卡使用记录,订单号:{}", outTradeNo);
|
||||
return buildFailResponse("未找到次卡使用记录");
|
||||
}
|
||||
|
||||
// 5. 修改为可用状态(假设status=1为可用)
|
||||
useCard.setStatus(1L);
|
||||
useCard.setUpdatedAt(new Date());
|
||||
useCard.setTransactionId(transactionId);
|
||||
userUseSecondaryCardService.updateUserUseSecondaryCard(useCard);
|
||||
|
||||
int flg= userUseSecondaryCardService.updateUserUseSecondaryCard(useCard);
|
||||
//添加流水,任何记录都需要流水
|
||||
if (flg>0) {
|
||||
Users users = usersService.selectUsersById(useCard.getUid());
|
||||
//第一步记录用户支付记录,购买是负数
|
||||
UserMemnerConsumptionLog newuserMemnerConsumptionLog = new UserMemnerConsumptionLog();
|
||||
newuserMemnerConsumptionLog.setUid(Math.toIntExact(users.getId()));
|
||||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(useCard.getPaymoney()); //负数
|
||||
newuserMemnerConsumptionLog.setReamk("次卡购买微信支付" + useCard.getPaymoney() + "元");
|
||||
newuserMemnerConsumptionLog.setBeformoney(users.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(users.getBalance().add(useCard.getPaymoney()));
|
||||
newuserMemnerConsumptionLog.setNowmoney(users.getBalance().add(useCard.getPaymoney()));
|
||||
newuserMemnerConsumptionLog.setType(2); // 1收入 2 支出
|
||||
int cklig= userMemnerConsumptionLogService.insertUserMemnerConsumptionLog(newuserMemnerConsumptionLog);
|
||||
if (cklig>0){
|
||||
//最后无论如何平台流水需要添加,让平台看到流水和账目
|
||||
PayMoneyLog payMoneyLog = new PayMoneyLog();
|
||||
payMoneyLog.setOid(useCard.getId());
|
||||
payMoneyLog.setOrderId(useCard.getOrderid());
|
||||
payMoneyLog.setUid(users.getId());
|
||||
payMoneyLog.setUname(users.getName());
|
||||
payMoneyLog.setPrice(useCard.getPaymoney());
|
||||
payMoneyLog.setMark("购买次卡支付");
|
||||
payMoneyLog.setPayTime(new Date());
|
||||
payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
}
|
||||
}
|
||||
logger.info("次卡支付回调处理成功,订单号:{}", outTradeNo);
|
||||
return buildSuccessResponse();
|
||||
} catch (Exception e) {
|
||||
|
|
@ -2276,6 +2317,20 @@ public class PayNotifyController extends BaseController {
|
|||
usersPayBeforData.setReturnmoney(usersPayBeforData.getReturnmoney().add(refund_amount));
|
||||
usersPayBeforData.setWxmoney(usersPayBeforData.getWxmoney().subtract(refund_amount));
|
||||
usersPayBeforService.updateUsersPayBefor(usersPayBeforData);
|
||||
//添加流水,让客户看到自己的资金变动流水
|
||||
//第一步记录用户支付记录,购买是负数
|
||||
UserMemnerConsumptionLog newuserMemnerConsumptionLog = new UserMemnerConsumptionLog();
|
||||
newuserMemnerConsumptionLog.setUid(Math.toIntExact(usersPayBeforData.getUid()));
|
||||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(refund_amount);
|
||||
newuserMemnerConsumptionLog.setReamk("订单微信退款" +refund_amount + "元");
|
||||
newuserMemnerConsumptionLog.setBeformoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setNowmoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setType(1); //1收入 2支出
|
||||
newuserMemnerConsumptionLog.setOrderid(usersPayBeforData.getOrderid());
|
||||
userMemnerConsumptionLogService.insertUserMemnerConsumptionLog(newuserMemnerConsumptionLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2295,7 +2350,7 @@ public class PayNotifyController extends BaseController {
|
|||
|
||||
|
||||
/**
|
||||
* 微信提现回调接口
|
||||
* 次卡退款
|
||||
*/
|
||||
@PostMapping("/api/worker/cika/notify")
|
||||
public void apiworkercikanotify(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
|
|
@ -2540,7 +2595,22 @@ public class PayNotifyController extends BaseController {
|
|||
payMoneyLog.setPrice(useCard.getPaymoney().negate());//退款就是负数
|
||||
payMoneyLog.setMark("次卡退款");
|
||||
payMoneyLog.setPayTime(new Date());
|
||||
payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
int paystatus= payMoneyLogService.insertPayMoneyLog(payMoneyLog);
|
||||
if(paystatus>0){
|
||||
//第一步记录用户支付记录,购买是负数
|
||||
UserMemnerConsumptionLog newuserMemnerConsumptionLog = new UserMemnerConsumptionLog();
|
||||
newuserMemnerConsumptionLog.setUid(Math.toIntExact(user.getId()));
|
||||
newuserMemnerConsumptionLog.setConsumptiontype(3);
|
||||
newuserMemnerConsumptionLog.setConsumptiontime(new Date());
|
||||
newuserMemnerConsumptionLog.setConsumptionmoney(useCard.getPaymoney());
|
||||
newuserMemnerConsumptionLog.setReamk("次卡退款" +useCard.getPaymoney() + "元");
|
||||
newuserMemnerConsumptionLog.setBeformoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setAftermoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setNowmoney(user.getBalance());
|
||||
newuserMemnerConsumptionLog.setType(1); //1收入 2支出
|
||||
// newuserMemnerConsumptionLog.setOrderid();
|
||||
userMemnerConsumptionLogService.insertUserMemnerConsumptionLog(newuserMemnerConsumptionLog);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -445,7 +445,6 @@ public class UsersPayBeforController extends BaseController
|
|||
return error("未找到支付记录");
|
||||
}
|
||||
List<UsersPayBefor> payRecords = usersPayBeforService.selectPayDetailsByOrderId(orderId);
|
||||
System.out.println("000%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+payRecords.size());
|
||||
if (payRecords == null || payRecords.isEmpty()) {
|
||||
return error("未找到支付记录");
|
||||
}
|
||||
|
|
@ -453,12 +452,11 @@ public class UsersPayBeforController extends BaseController
|
|||
// 计算已退款金额
|
||||
BigDecimal totalRefunded = BigDecimal.ZERO;
|
||||
for (UsersPayBefor record : payRecords) {
|
||||
System.out.println("111%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+record.getReturnmoney());
|
||||
if (record.getReturnmoney() != null) {
|
||||
totalRefunded = totalRefunded.add(record.getReturnmoney());
|
||||
}
|
||||
}
|
||||
System.out.println("222%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+totalRefunded);
|
||||
|
||||
// 计算总支付金额(减去会员优惠,因为会员优惠不参与退款)
|
||||
BigDecimal totalPaid = BigDecimal.ZERO;
|
||||
BigDecimal totalMemberDiscount = BigDecimal.ZERO;
|
||||
|
|
@ -524,7 +522,18 @@ public class UsersPayBeforController extends BaseController
|
|||
// 记录退款日志
|
||||
OrderLog orderLog = new OrderLog();
|
||||
orderLog.setOrderId(orderId);
|
||||
orderLog.setOid(999L);
|
||||
Order order = orderService.selectOrderByOrderId(orderId);
|
||||
if (order != null){
|
||||
orderLog.setOid(order.getId());
|
||||
}else{
|
||||
GoodsOrder goodsOrder = goodsOrderService.selectGoodsOrderByMainOrderId(orderId);
|
||||
if (goodsOrder != null){
|
||||
orderLog.setOid(goodsOrder.getId());
|
||||
}else{
|
||||
orderLog.setOid(999L);
|
||||
}
|
||||
}
|
||||
|
||||
orderLog.setTitle("退款");
|
||||
orderLog.setOrdertype(paymentInfo.getServicetype());
|
||||
orderLog.setType(new BigDecimal(11));
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
|||
import com.ruoyi.system.domain.Users;
|
||||
import com.ruoyi.system.service.IUsersService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -308,7 +309,7 @@ public class AppletLoginUtil {
|
|||
result.put("message", "token无效或用户不存在");
|
||||
return result;
|
||||
}
|
||||
|
||||
vaUserToken(user, usersService);
|
||||
// 检查用户状态
|
||||
if (user.getStatus() == null || user.getStatus() != 1) {
|
||||
result.put("valid", false);
|
||||
|
|
@ -332,6 +333,56 @@ public class AppletLoginUtil {
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Users vaUserToken(Users users, IUsersService usersService) {
|
||||
if(users.getBalance()==null){
|
||||
users.setBalance(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getIntegral()==null){
|
||||
users.setIntegral(0L);
|
||||
}
|
||||
if(users.getIsmember()==null){
|
||||
users.setIsmember(0);
|
||||
}
|
||||
if(users.getTotalComm()==null){
|
||||
users.setTotalComm(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getTotalIntegral()==null){
|
||||
users.setTotalIntegral(0L);
|
||||
}
|
||||
if(users.getLevel()==null){
|
||||
users.setLevel(1);
|
||||
}
|
||||
if(users.getCommission()==null){
|
||||
users.setCommission(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getTotalComm()==null){
|
||||
users.setTotalComm(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getMargin()==null){
|
||||
users.setMargin(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getPropose()==null){
|
||||
users.setPropose(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getConsumption()==null){
|
||||
users.setConsumption(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getServicefee()==null){
|
||||
users.setServicefee(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getPropose()==null){
|
||||
users.setPropose(BigDecimal.ZERO);
|
||||
}
|
||||
usersService.updateUsers(users);
|
||||
return users;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取并验证请求头中的token
|
||||
*
|
||||
|
|
|
|||
|
|
@ -66,13 +66,42 @@ public class WXsendMsgUtil {
|
|||
//公共推送
|
||||
public static String PublicPush(WxMssVo wxMssVo) throws Exception {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
// String accessToken = getAccessToken();
|
||||
//这里简单起见我们每次都获取最新的access_token
|
||||
String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken();
|
||||
ResponseEntity<String> responseEntity =
|
||||
restTemplate.postForEntity(url, wxMssVo, String.class);
|
||||
System.out.println("0001responseEntity.getBody():" + responseEntity.getBody());
|
||||
return responseEntity.getBody();
|
||||
|
||||
// 使用WechatApiUtil的缓存机制获取access_token
|
||||
Map<String, Object> tokenResult = WechatApiUtil.getCachedAccessToken();
|
||||
if (!(Boolean) tokenResult.get("success")) {
|
||||
throw new Exception("获取access_token失败:" + tokenResult.get("errorMsg"));
|
||||
}
|
||||
|
||||
String accessToken = (String) tokenResult.get("access_token");
|
||||
String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + accessToken;
|
||||
|
||||
try {
|
||||
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, wxMssVo, String.class);
|
||||
System.out.println("0001responseEntity.getBody():" + responseEntity.getBody());
|
||||
|
||||
// 检查响应中是否有access_token相关错误
|
||||
JSONObject response = JSONObject.parseObject(responseEntity.getBody());
|
||||
Integer errcode = response.getInteger("errcode");
|
||||
if (errcode != null && (errcode == 40001 || errcode == 42001 || errcode == 40014)) {
|
||||
System.out.println("微信推送消息access_token无效(错误码:" + errcode + "),清除缓存并重试");
|
||||
// 清除access_token缓存
|
||||
WechatApiUtil.clearAccessTokenCache();
|
||||
// 重新获取access_token并重试
|
||||
tokenResult = WechatApiUtil.getCachedAccessToken();
|
||||
if ((Boolean) tokenResult.get("success")) {
|
||||
accessToken = (String) tokenResult.get("access_token");
|
||||
url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + accessToken;
|
||||
responseEntity = restTemplate.postForEntity(url, wxMssVo, String.class);
|
||||
System.out.println("重试后responseEntity.getBody():" + responseEntity.getBody());
|
||||
}
|
||||
}
|
||||
|
||||
return responseEntity.getBody();
|
||||
} catch (Exception e) {
|
||||
System.err.println("微信推送消息异常:" + e.getMessage());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -751,6 +751,37 @@ public class WechatApiUtil {
|
|||
return Math.max(0, (expireTime - currentTime) / 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试access_token缓存机制
|
||||
* 用于验证修复是否生效
|
||||
*/
|
||||
public static Map<String, Object> testAccessTokenCache() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
// 1. 获取当前缓存状态
|
||||
boolean cacheValid = isAccessTokenCacheValid();
|
||||
result.put("cacheValid", cacheValid);
|
||||
|
||||
// 2. 获取access_token
|
||||
Map<String, Object> tokenResult = getCachedAccessToken();
|
||||
result.put("tokenResult", tokenResult);
|
||||
|
||||
// 3. 缓存信息
|
||||
result.put("cacheInfo", new HashMap<String, Object>() {{
|
||||
put("hasCache", !ACCESS_TOKEN_CACHE.isEmpty());
|
||||
put("cacheKeys", ACCESS_TOKEN_CACHE.keySet());
|
||||
put("remainingTime", getRemainingExpireTime());
|
||||
}});
|
||||
|
||||
result.put("success", true);
|
||||
result.put("message", "测试完成");
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("errorMsg", "测试异常:" + e.getMessage());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除access_token缓存
|
||||
*/
|
||||
|
|
@ -913,7 +944,27 @@ public class WechatApiUtil {
|
|||
return result;
|
||||
}
|
||||
|
||||
// 2. 获取access_token
|
||||
// 2. 获取access_token(最多重试一次)
|
||||
return getPhoneNumberWithRetry(code, false);
|
||||
|
||||
} catch (Exception e) {
|
||||
result.put("success", false);
|
||||
result.put("errorMsg", "通过code获取手机号异常:" + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取手机号(带重试机制)
|
||||
* 当遇到access_token无效时,清除缓存并重试一次
|
||||
*/
|
||||
private static Map<String, Object> getPhoneNumberWithRetry(String code, boolean isRetry) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
try {
|
||||
// 1. 获取access_token
|
||||
Map<String, Object> tokenResult = getCachedAccessToken();
|
||||
if (!(Boolean) tokenResult.get("success")) {
|
||||
result.put("success", false);
|
||||
|
|
@ -923,28 +974,28 @@ public class WechatApiUtil {
|
|||
|
||||
String accessToken = (String) tokenResult.get("access_token");
|
||||
|
||||
// 3. 构建请求参数
|
||||
// 2. 构建请求参数
|
||||
Map<String, String> requestBody = new HashMap<>();
|
||||
requestBody.put("code", code.trim());
|
||||
|
||||
// 4. 构建请求URL
|
||||
// 3. 构建请求URL
|
||||
String url = WECHAT_API_BASE_URL + "/wxa/business/getuserphonenumber?access_token=" + accessToken;
|
||||
|
||||
// 5. 设置请求头
|
||||
// 4. 设置请求头
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("Content-Type", "application/json");
|
||||
|
||||
// 6. 创建请求实体
|
||||
// 5. 创建请求实体
|
||||
HttpEntity<Map<String, String>> requestEntity = new HttpEntity<>(requestBody, headers);
|
||||
|
||||
System.out.println("请求微信手机号API: " + url);
|
||||
System.out.println("请求参数: " + requestBody);
|
||||
|
||||
// 7. 发起POST请求
|
||||
// 6. 发起POST请求
|
||||
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
|
||||
System.out.println("微信手机号API响应: " + response.getBody());
|
||||
|
||||
// 8. 处理响应结果
|
||||
// 7. 处理响应结果
|
||||
if (response.getStatusCode().is2xxSuccessful()) {
|
||||
JSONObject jsonResponse = JSONObject.parseObject(response.getBody());
|
||||
|
||||
|
|
@ -953,11 +1004,21 @@ public class WechatApiUtil {
|
|||
result.put("success", true);
|
||||
result.put("phone_info", jsonResponse.getJSONObject("phone_info"));
|
||||
} else {
|
||||
// 获取失败
|
||||
Integer errcode = jsonResponse.getInteger("errcode");
|
||||
String errmsg = jsonResponse.getString("errmsg");
|
||||
|
||||
// 检查是否是access_token相关错误(40001, 42001, 40014等)
|
||||
if (!isRetry && (errcode == 40001 || errcode == 42001 || errcode == 40014)) {
|
||||
System.out.println("access_token无效(错误码:" + errcode + "),清除缓存并重试");
|
||||
// 清除access_token缓存
|
||||
clearAccessTokenCache();
|
||||
// 重试一次
|
||||
return getPhoneNumberWithRetry(code, true);
|
||||
}
|
||||
|
||||
// 其他错误或已经重试过
|
||||
result.put("success", false);
|
||||
result.put("errorMsg", "微信API返回错误:" +
|
||||
jsonResponse.getString("errmsg") +
|
||||
" (错误码:" + jsonResponse.getInteger("errcode") + ")");
|
||||
result.put("errorMsg", "微信API返回错误:" + errmsg + " (错误码:" + errcode + ")");
|
||||
}
|
||||
} else {
|
||||
result.put("success", false);
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ public class WechatPayUtil {
|
|||
private static final String WECHAT_TRANSFER_URL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; // 企业付款
|
||||
|
||||
|
||||
// public static final String PAY_FH = "https://www.huafurenjia.cn/";
|
||||
public static final String PAY_FH = "https://api.huafurenjia.cn/";
|
||||
// public static final String PAY_FH = "https://7c950773.r3.cpolar.top/";
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.ruoyi.system.ControllerUtil;
|
|||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.system.service.IOrderService;
|
||||
import com.winnerlook.model.*;
|
||||
import com.winnerlook.util.Base64;
|
||||
import com.winnerlook.util.MD5Util;
|
||||
|
|
@ -42,6 +44,7 @@ public class YunXinPhoneUtilAPI {
|
|||
|
||||
// 回调地址常量(可通过set方法动态设置)
|
||||
private static String templateID = "404168";
|
||||
private static final IOrderService orderService= SpringUtils.getBean(IOrderService.class);
|
||||
|
||||
/**
|
||||
* 设置AXB绑定的回调URL
|
||||
|
|
@ -157,7 +160,7 @@ public class YunXinPhoneUtilAPI {
|
|||
* @return VoiceResponseResult 结果对象
|
||||
* @throws Exception 异常
|
||||
*/
|
||||
public static VoiceResponseResult httpsPrivacyUnbind(String phoneA, String phoneB, String phone) throws Exception {
|
||||
public static VoiceResponseResult httpsPrivacyUnbind(String phoneA, String phoneB, String phone,Long oid) throws Exception {
|
||||
VoiceResponseResult resultObj = new VoiceResponseResult();
|
||||
String url = UNBIND_URL;
|
||||
try {
|
||||
|
|
@ -175,7 +178,11 @@ public class YunXinPhoneUtilAPI {
|
|||
JSONObject rjson = JSONObject.parseObject(result);
|
||||
resultObj.setResult(rjson.getString("result"));
|
||||
resultObj.setMessage(rjson.getString("message"));
|
||||
|
||||
System.out.println("[YunXinPhoneUtilAPI] 解绑执行结果: " + result);
|
||||
//订单手机号码置空
|
||||
if("000000".equals(resultObj.getResult())) {
|
||||
orderService.updateOrderPhone(oid);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("[YunXinPhoneUtilAPI] 解绑异常: " + e.getMessage());
|
||||
throw e;
|
||||
|
|
@ -190,8 +197,15 @@ public class YunXinPhoneUtilAPI {
|
|||
// 设置回调地址(如有需要)
|
||||
// setAxbCallbackUrl("http://your-callback-url.com/axb");
|
||||
// setNotifyCallbackUrl("http://your-callback-url.com/notify");
|
||||
// 示例:解绑操作
|
||||
VoiceResponseResult res = httpsAxbTransfer("18339212639",3252L);
|
||||
System.out.println("解绑结果:" + JSON.toJSONString(res));
|
||||
// httpsPrivacyBindAxb("15502984047","18339212639", "15202954234");
|
||||
// VoiceResponseResult resultObj= httpsPrivacyUnbind("18339212639", "15202954234","15502984047");
|
||||
// if("000000".equals(resultObj.getResult())) {
|
||||
//
|
||||
// } else {
|
||||
// System.out.println("解绑失败");
|
||||
// }
|
||||
// // 示例:解绑操作
|
||||
// VoiceResponseResult res = httpsAxbTransfer("18339212639",3252L);
|
||||
// System.out.println("解绑结果:" + JSON.toJSONString(res));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ public interface GoodsOrderMapper
|
|||
|
||||
public GoodsOrder selectGoodsOrderByorderId(String orderId);
|
||||
|
||||
public GoodsOrder selectGoodsOrderByMainOrderId(String orderId);
|
||||
|
||||
|
||||
|
||||
|
||||
public int selectCountGoodsOrderByUid(@Param("uid") Long uid, @Param("status") Long status);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public interface IGoodsOrderService
|
|||
* @return 商品订单集合
|
||||
*/
|
||||
public List<GoodsOrder> selectGoodsOrderList(GoodsOrder goodsOrder);
|
||||
|
||||
public GoodsOrder selectGoodsOrderByMainOrderId(String orderId);
|
||||
|
||||
public List<GoodsOrder> selectGoodsOrdergrouBymAIDList(GoodsOrder goodsOrder);
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,9 @@ public class GoodsOrderServiceImpl implements IGoodsOrderService
|
|||
return goodsOrderMapper.selectGoodsOrderById(id);
|
||||
}
|
||||
|
||||
|
||||
public GoodsOrder selectGoodsOrderByMainOrderId(String orderId){
|
||||
return goodsOrderMapper.selectGoodsOrderByMainOrderId(orderId);
|
||||
}
|
||||
public GoodsOrder selectGoodsOrderByorderId(String orderId){
|
||||
return goodsOrderMapper.selectGoodsOrderByorderId(orderId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -91,6 +92,42 @@ public class UsersServiceImpl implements IUsersService
|
|||
@Override
|
||||
public int insertUsers(Users users)
|
||||
{
|
||||
if(users.getBalance()==null){
|
||||
users.setBalance(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getIntegral()==null){
|
||||
users.setIntegral(0L);
|
||||
}
|
||||
if(users.getTotalComm()==null){
|
||||
users.setTotalComm(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getTotalIntegral()==null){
|
||||
users.setTotalIntegral(0L);
|
||||
}
|
||||
if(users.getLevel()==null){
|
||||
users.setLevel(1);
|
||||
}
|
||||
if(users.getCommission()==null){
|
||||
users.setCommission(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getTotalComm()==null){
|
||||
users.setTotalComm(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getMargin()==null){
|
||||
users.setMargin(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getPropose()==null){
|
||||
users.setPropose(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getConsumption()==null){
|
||||
users.setConsumption(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getServicefee()==null){
|
||||
users.setServicefee(BigDecimal.ZERO);
|
||||
}
|
||||
if(users.getPropose()==null){
|
||||
users.setPropose(BigDecimal.ZERO);
|
||||
}
|
||||
return usersMapper.insertUsers(users);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -203,6 +203,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where order_id = #{orderId} limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectGoodsOrderByMainOrderId" parameterType="String" resultMap="GoodsOrderResult">
|
||||
<include refid="selectGoodsOrderVo"/>
|
||||
where main_order_id = #{mainOrderId} limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectGoodsOrderById" parameterType="Long" resultMap="GoodsOrderResult">
|
||||
<include refid="selectGoodsOrderVo"/>
|
||||
where id = #{id}
|
||||
|
|
|
|||
|
|
@ -176,6 +176,13 @@
|
|||
updated_at DESC
|
||||
</select>
|
||||
|
||||
<update id="updateOrderPhone" parameterType="Long">
|
||||
UPDATE order_data SET user_phone=null,worker_phone=null,middle_phone=null WHERE id=#{id}
|
||||
</update>
|
||||
<update id="updateOrderCika" parameterType="Long">
|
||||
UPDATE order_data SET cartid=null WHERE id=#{id}
|
||||
</update>
|
||||
|
||||
|
||||
<select id="selectOrderList" parameterType="Order" resultMap="OrderResult">
|
||||
<include refid="selectOrderVo"/>
|
||||
|
|
@ -293,7 +300,7 @@
|
|||
select count(1)
|
||||
from order_data
|
||||
where bigtype = #{type}
|
||||
and status != 4
|
||||
and status not in (4,5,7)
|
||||
and uid = #{uid}
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue