2025008071805
This commit is contained in:
parent
3ad7422f9e
commit
90268bd97b
|
|
@ -235,6 +235,10 @@ public class UsersPayBeforController extends BaseController
|
|||
public AjaxResult unifiedRefund(@RequestBody Map<String, Object> params)
|
||||
{
|
||||
try {
|
||||
// 添加调试日志
|
||||
System.out.println("=== 统一退款接口开始 ===");
|
||||
System.out.println("接收到的参数: " + params);
|
||||
|
||||
String orderId = params.get("orderId") == null ? null : params.get("orderId").toString();
|
||||
BigDecimal wechatRefund = params.get("wechatRefund") == null ? BigDecimal.ZERO : new BigDecimal(params.get("wechatRefund").toString());
|
||||
BigDecimal balanceRefund = params.get("balanceRefund") == null ? BigDecimal.ZERO : new BigDecimal(params.get("balanceRefund").toString());
|
||||
|
|
@ -244,6 +248,17 @@ public class UsersPayBeforController extends BaseController
|
|||
BigDecimal couponRefund = params.get("couponRefund") == null ? BigDecimal.ZERO : new BigDecimal(params.get("couponRefund").toString());
|
||||
String refundRemark = params.get("refundRemark") == null ? "" : params.get("refundRemark").toString();
|
||||
|
||||
// 添加参数解析后的调试日志
|
||||
System.out.println("解析后的参数:");
|
||||
System.out.println(" orderId: " + orderId);
|
||||
System.out.println(" wechatRefund: " + wechatRefund);
|
||||
System.out.println(" balanceRefund: " + balanceRefund);
|
||||
System.out.println(" shoppingGoldRefund: " + shoppingGoldRefund);
|
||||
System.out.println(" serviceGoldRefund: " + serviceGoldRefund);
|
||||
System.out.println(" memberDiscountRefund: " + memberDiscountRefund);
|
||||
System.out.println(" couponRefund: " + couponRefund);
|
||||
System.out.println(" refundRemark: " + refundRemark);
|
||||
|
||||
if (orderId == null || orderId.trim().isEmpty()) {
|
||||
return error("订单ID不能为空");
|
||||
}
|
||||
|
|
@ -251,6 +266,8 @@ public class UsersPayBeforController extends BaseController
|
|||
BigDecimal totalRefund = wechatRefund.add(balanceRefund).add(shoppingGoldRefund)
|
||||
.add(serviceGoldRefund).add(memberDiscountRefund).add(couponRefund);
|
||||
|
||||
System.out.println("总退款金额: " + totalRefund);
|
||||
|
||||
if (totalRefund.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return error("退款金额必须大于0");
|
||||
}
|
||||
|
|
@ -378,6 +395,13 @@ public class UsersPayBeforController extends BaseController
|
|||
orderLogService.insertOrderLog(orderLog);
|
||||
|
||||
// 更新支付记录状态和退款金额
|
||||
// 创建参数副本,避免修改原始参数
|
||||
BigDecimal remainingWechatRefund = wechatRefund;
|
||||
BigDecimal remainingBalanceRefund = balanceRefund;
|
||||
BigDecimal remainingShoppingGoldRefund = shoppingGoldRefund;
|
||||
BigDecimal remainingServiceGoldRefund = serviceGoldRefund;
|
||||
BigDecimal remainingCouponRefund = couponRefund;
|
||||
|
||||
for (UsersPayBefor record : payRecords) {
|
||||
BigDecimal currentRefunded = record.getReturnmoney() != null ? record.getReturnmoney() : BigDecimal.ZERO;
|
||||
|
||||
|
|
@ -386,42 +410,42 @@ public class UsersPayBeforController extends BaseController
|
|||
|
||||
// 根据该记录的支付方式分配退款金额
|
||||
if (record.getWxmoney() != null && record.getWxmoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal wxRefund = wechatRefund.min(record.getWxmoney().subtract(currentRefunded));
|
||||
BigDecimal wxRefund = remainingWechatRefund.min(record.getWxmoney().subtract(currentRefunded));
|
||||
if (wxRefund.compareTo(BigDecimal.ZERO) > 0) {
|
||||
recordRefundAmount = recordRefundAmount.add(wxRefund);
|
||||
wechatRefund = wechatRefund.subtract(wxRefund);
|
||||
remainingWechatRefund = remainingWechatRefund.subtract(wxRefund);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getYemoney() != null && record.getYemoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal yeRefund = balanceRefund.min(record.getYemoney().subtract(currentRefunded));
|
||||
BigDecimal yeRefund = remainingBalanceRefund.min(record.getYemoney().subtract(currentRefunded));
|
||||
if (yeRefund.compareTo(BigDecimal.ZERO) > 0) {
|
||||
recordRefundAmount = recordRefundAmount.add(yeRefund);
|
||||
balanceRefund = balanceRefund.subtract(yeRefund);
|
||||
remainingBalanceRefund = remainingBalanceRefund.subtract(yeRefund);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getShopmoney() != null && record.getShopmoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal shopRefund = shoppingGoldRefund.min(record.getShopmoney().subtract(currentRefunded));
|
||||
BigDecimal shopRefund = remainingShoppingGoldRefund.min(record.getShopmoney().subtract(currentRefunded));
|
||||
if (shopRefund.compareTo(BigDecimal.ZERO) > 0) {
|
||||
recordRefundAmount = recordRefundAmount.add(shopRefund);
|
||||
shoppingGoldRefund = shoppingGoldRefund.subtract(shopRefund);
|
||||
remainingShoppingGoldRefund = remainingShoppingGoldRefund.subtract(shopRefund);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getServicemoney() != null && record.getServicemoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal serviceRefund = serviceGoldRefund.min(record.getServicemoney().subtract(currentRefunded));
|
||||
BigDecimal serviceRefund = remainingServiceGoldRefund.min(record.getServicemoney().subtract(currentRefunded));
|
||||
if (serviceRefund.compareTo(BigDecimal.ZERO) > 0) {
|
||||
recordRefundAmount = recordRefundAmount.add(serviceRefund);
|
||||
serviceGoldRefund = serviceGoldRefund.subtract(serviceRefund);
|
||||
remainingServiceGoldRefund = remainingServiceGoldRefund.subtract(serviceRefund);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getCouponmoney() != null && record.getCouponmoney().compareTo(BigDecimal.ZERO) > 0) {
|
||||
BigDecimal couponRefundAmount = couponRefund.min(record.getCouponmoney().subtract(currentRefunded));
|
||||
BigDecimal couponRefundAmount = remainingCouponRefund.min(record.getCouponmoney().subtract(currentRefunded));
|
||||
if (couponRefundAmount.compareTo(BigDecimal.ZERO) > 0) {
|
||||
recordRefundAmount = recordRefundAmount.add(couponRefundAmount);
|
||||
couponRefund = couponRefund.subtract(couponRefundAmount);
|
||||
remainingCouponRefund = remainingCouponRefund.subtract(couponRefundAmount);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -442,6 +466,7 @@ public class UsersPayBeforController extends BaseController
|
|||
}
|
||||
|
||||
// 调用退款工具方法实现真实的业务退款与金额变动
|
||||
// 使用原始参数,而不是被修改的副本
|
||||
Map<String, Object> refundResult = refundUtil.processUnifiedRefund(
|
||||
orderId, wechatRefund, balanceRefund, shoppingGoldRefund,
|
||||
serviceGoldRefund, memberDiscountRefund, couponRefund, refundRemark
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ public class CartOrderUtil {
|
|||
//一口价金额大于0的时候进行支付
|
||||
|
||||
if (order.getTotalPrice().compareTo(BigDecimal.ZERO)>0){
|
||||
String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, order.getOrderId(), null, order.getProductId(), cart.getOrdertype(), order.getSku(), null, null, null, null,1L, null, null);
|
||||
String payBeforeId = payBeforeUtil.createPayBefore(user, itemPrice, order.getOrderId(), null, order.getProductId(), cart.getOrdertype(), order.getSku(), null, null, null, null,1L, null, null,BigDecimal.ZERO);
|
||||
}else{
|
||||
DispatchUtil.dispatchOrder(order.getId());
|
||||
}
|
||||
|
|
@ -182,6 +182,7 @@ public class CartOrderUtil {
|
|||
goodsOrder.setProductId(serviceGoods.getId());
|
||||
goodsOrder.setProductName(serviceGoods.getTitle());
|
||||
goodsOrder.setNum((long) num);
|
||||
goodsOrder.setPostage(serviceGoods.getPostage());
|
||||
goodsOrder.setSku(sku);
|
||||
goodsOrder.setIsself(isself);
|
||||
goodsOrder.setIsforservice(serviceGoods.getIsforservice());
|
||||
|
|
@ -274,6 +275,7 @@ public class CartOrderUtil {
|
|||
goodsOrder.setGoodPrice(serviceGoods.getPrice());
|
||||
goodsOrder.setPayPrice(itemPrice);
|
||||
goodsOrder.setStatus(1L); // 待支付
|
||||
goodsOrder.setPostage(serviceGoods.getPostage());
|
||||
goodsOrder.setMainOrderId(maincorid);
|
||||
//goodsOrder.setIsmany(1L);
|
||||
int insertResult = goodsOrderService.insertGoodsOrder(goodsOrder);
|
||||
|
|
|
|||
|
|
@ -2958,12 +2958,16 @@ public class DispatchUtil {
|
|||
orderLognew.setWorkerLogId(worker.getId());
|
||||
orderLogService.insertOrderLog(orderLognew);
|
||||
//绑定虚拟号码
|
||||
//微信推送
|
||||
ServiceGoods serviceGoods = serviceGoodsService.selectServiceGoodsById(order.getProductId());
|
||||
//给师傅派单的时候的推送
|
||||
WXsendMsgUtil.sendMsgForWorkerInfo(worker.getOpenid(), order, serviceGoods);
|
||||
Map<String, Object> map= OrderBindWorkerUtil.getOrderBindWorker(order.getId());
|
||||
YunXinPhoneUtilAPI.httpsAxbTransfer(order.getWorkerPhone());
|
||||
// if (map.get("code").equals("200")) {
|
||||
// //电话通知
|
||||
// YunXinPhoneUtilAPI.httpsAxbTransfer(order.getWorkerPhone());
|
||||
// }
|
||||
if (map.get("code").equals("200")) {
|
||||
//电话通知
|
||||
YunXinPhoneUtilAPI.httpsAxbTransfer(order.getWorkerPhone());
|
||||
}
|
||||
|
||||
|
||||
return worker;
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ public class HomeUtril {
|
|||
*
|
||||
* @return 分类树形列表数据(只包含title和icon)
|
||||
*/
|
||||
public Map<String, Object> getServiceCategories() {
|
||||
public Map<String, Object> getServiceCategories(String city) {
|
||||
try {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
|
|
@ -195,6 +195,10 @@ public class HomeUtril {
|
|||
ServiceCate serviceCateQuery = new ServiceCate();
|
||||
serviceCateQuery.setStatus(1L);
|
||||
serviceCateQuery.setType(1L);
|
||||
if (StringUtils.isNotBlank(city)){
|
||||
serviceCateQuery.setCity(city);
|
||||
}
|
||||
|
||||
List<ServiceCate> allCategoryList = serviceCateService.selectServiceCateList(serviceCateQuery);
|
||||
|
||||
// 2. 分离一级分类和二级分类
|
||||
|
|
@ -303,11 +307,14 @@ public class HomeUtril {
|
|||
* 查询type=1且isgroup=1的服务商品前4个
|
||||
* 返回icon、标题、price、groupprice字段
|
||||
*/
|
||||
public Map<String, Object> getGroupList() {
|
||||
public Map<String, Object> getGroupList(String city) {
|
||||
try {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
// 构建查询条件
|
||||
ServiceGoods queryGoods = new ServiceGoods();
|
||||
if (StringUtils.isNotBlank(city)){
|
||||
queryGoods.setCity(city);
|
||||
}
|
||||
queryGoods.setType(1); // type=1
|
||||
queryGoods.setIsgroup(1); // isgroup=1
|
||||
queryGoods.setStatus("1"); // 只查询启用状态的商品
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.system.ControllerUtil;
|
|||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ruoyi.common.utils.AmapUtils;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.system.domain.*;
|
||||
import com.ruoyi.system.service.*;
|
||||
|
|
@ -629,7 +630,7 @@ public class OrderUtil {
|
|||
* @param user 用户实体
|
||||
* @return 新建的订单对象(仅拼团),或处理结果Map
|
||||
*/
|
||||
public static Object prepayCallback(UsersPayBefor payBefor, Users user) {
|
||||
public static Object prepayCallback(UsersPayBefor payBefor, Users user) throws Exception {
|
||||
System.out.println("=== prepayCallback 方法开始 ===");
|
||||
System.out.println("输入参数 - payBefor: " + (payBefor != null ? payBefor.toString() : "null"));
|
||||
System.out.println("输入参数 - user: " + (user != null ? user.toString() : "null"));
|
||||
|
|
@ -652,10 +653,14 @@ public class OrderUtil {
|
|||
if (gorders != null && !gorders.isEmpty()){
|
||||
for (GoodsOrder g: gorders){
|
||||
g.setStatus(2L);
|
||||
g.setPayTime(DateUtils.getNowDate());
|
||||
goodsOrderService.updateGoodsOrder(g);
|
||||
// BenefitPointsUtil.processBenefitPoints(g.getId(),g.getTotalPrice(),"2");
|
||||
}
|
||||
}
|
||||
//String openid, String orderid,String price,String Address, String title,String reamk
|
||||
//微信发送消息
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),gorder.getAddress(),"商品支付","商品支付成功");
|
||||
// updateInventoryAndSales(gorder.getOrderId(), 2);
|
||||
//处理服务金
|
||||
|
||||
|
|
@ -674,6 +679,7 @@ public class OrderUtil {
|
|||
for (GoodsOrder goodsOrder : orderslist){
|
||||
System.out.println("更新商品订单 - ID: " + goodsOrder.getId() + ", 原状态: " + goodsOrder.getStatus());
|
||||
goodsOrder.setStatus(2L);
|
||||
goodsOrder.setPayTime(DateUtils.getNowDate());
|
||||
goodsOrder.setTransactionId(payBefor.getPaycode());
|
||||
int updateResult = goodsOrderService.updateGoodsOrder(goodsOrder);
|
||||
|
||||
|
|
@ -683,6 +689,9 @@ public class OrderUtil {
|
|||
System.out.println("未找到相关商品订单");
|
||||
}
|
||||
System.out.println("拼团商品订单处理完成,返回orderid: " + payBefor.getOrderid());
|
||||
//微信发送消息给客户
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),gorder.getAddress(),"商品支付","商品支付成功");
|
||||
|
||||
|
||||
return payBefor.getOrderid();
|
||||
}
|
||||
|
|
@ -691,8 +700,11 @@ public class OrderUtil {
|
|||
GoodsOrder order = goodsOrderService.selectGoodsOrderByorderId(payBefor.getOrderid());
|
||||
if (order != null) {
|
||||
order.setStatus(2L);
|
||||
order.setPayTime(DateUtils.getNowDate());
|
||||
order.setTransactionId(payBefor.getPaycode());
|
||||
//BenefitPointsUtil.processBenefitPoints(order.getId(),order.getTotalPrice(),"2");
|
||||
//微信发送消息
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"商品支付","商品支付成功");
|
||||
int updateResult = goodsOrderService.updateGoodsOrder(order);
|
||||
}
|
||||
return null;
|
||||
|
|
@ -723,7 +735,13 @@ public class OrderUtil {
|
|||
//
|
||||
// }
|
||||
// }
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"上门费支付","上门费支付成功");
|
||||
//微信发送消息给师傅
|
||||
Users master = usersService.selectUsersById(order.getWorkerId());
|
||||
WXsendMsgUtil.sendUserPayDoorMoneyForWorker(master.getOpenid(),order,"上门费支付成功");
|
||||
}
|
||||
//微信发送消息
|
||||
|
||||
return 1;
|
||||
}
|
||||
if (type == 8) {
|
||||
|
|
@ -740,6 +758,10 @@ public class OrderUtil {
|
|||
order.setPayPrice(order.getPayPrice().add(payBefor.getAllmoney()));
|
||||
orderService.updateOrder(order);
|
||||
}
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"定金支付","定金支付成功");
|
||||
//微信发送消息给师傅
|
||||
Users master = usersService.selectUsersById(order.getWorkerId());
|
||||
WXsendMsgUtil.sendUserPayDoorMoneyForWorker(master.getOpenid(),order,"定金支付成功");
|
||||
ISTOPAYSIZE(payBefor.getLastorderid());
|
||||
}
|
||||
}
|
||||
|
|
@ -773,6 +795,10 @@ public class OrderUtil {
|
|||
if (updateResult > 0){
|
||||
ISTOPAYSIZE(payBefor.getLastorderid());
|
||||
}
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"尾款支付","尾款支付成功");
|
||||
//微信发送消息给师傅
|
||||
Users master = usersService.selectUsersById(order.getWorkerId());
|
||||
WXsendMsgUtil.sendUserPayDoorMoneyForWorker(master.getOpenid(),order,"尾款支付成功");
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -788,6 +814,10 @@ public class OrderUtil {
|
|||
if (order != null){
|
||||
order.setPayPrice(order.getPayPrice().add(payBefor.getAllmoney()));
|
||||
orderService.updateOrder(order);
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"差价支付","差价支付成功");
|
||||
//微信发送消息给师傅
|
||||
Users master = usersService.selectUsersById(order.getWorkerId());
|
||||
WXsendMsgUtil.sendUserPayDoorMoneyForWorker(master.getOpenid(),order,"差价支付成功");
|
||||
}
|
||||
ISTOPAYSIZE(payBefor.getLastorderid());
|
||||
}
|
||||
|
|
@ -858,6 +888,8 @@ public class OrderUtil {
|
|||
System.out.println("未找到报价记录,处理失败");
|
||||
}
|
||||
System.out.println("需求报价订单处理完成,返回order: " + (order != null ? order.getOrderId() : "null"));
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"报价支付","师傅报价支付成功");
|
||||
|
||||
// updateInventoryAndSales(order.getOrderId(), 1);
|
||||
//dispatchOrderCheck(order);
|
||||
return order;
|
||||
|
|
@ -879,6 +911,8 @@ public class OrderUtil {
|
|||
userUseSecondaryCard.setStatus(1L);
|
||||
int cardUpdateResult = userUseSecondaryCardService.updateUserUseSecondaryCard(userUseSecondaryCard);
|
||||
System.out.println("次卡状态更新结果: " + cardUpdateResult);
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),"","次卡支付","次卡支付成功");
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -927,6 +961,8 @@ public class OrderUtil {
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"秒杀订单支付","秒杀订单支付成功");
|
||||
|
||||
return order;
|
||||
} else {
|
||||
System.out.println("未找到订单");
|
||||
|
|
@ -1076,6 +1112,8 @@ public class OrderUtil {
|
|||
System.out.println("拼团订单处理完成,返回order: " + order.getOrderId());
|
||||
//派单效验
|
||||
dispatchOrderCheck(order);
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"拼团订单支付","拼团订单支付成功");
|
||||
|
||||
//库存及销量变更
|
||||
// updateInventoryAndSales(ptorderid, 1);
|
||||
return order;
|
||||
|
|
@ -1114,6 +1152,8 @@ public class OrderUtil {
|
|||
order.setStatus(1L); // 1=待预约
|
||||
int orderUpdateResult = orderService.updateOrder(order);
|
||||
dispatchOrderCheck(order);
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"次卡下单","次卡下单成功");
|
||||
|
||||
return order;
|
||||
}
|
||||
System.out.println("次卡订单处理完成,返回: " + (userUseSecondaryCard != null ? userUseSecondaryCard.getId() : "null"));
|
||||
|
|
@ -1146,6 +1186,8 @@ public class OrderUtil {
|
|||
System.out.println("订单状态更新结果: " + orderUpdateResult);
|
||||
System.out.println("普通订单处理完成,返回order: " + order.getOrderId());
|
||||
dispatchOrderCheck(order);
|
||||
WXsendMsgUtil.sendUserForMoneySuccess(user.getOpenid(),payBefor.getOrderid(),payBefor.getAllmoney().toString(),order.getAddress(),"预约下单","预约下单成功");
|
||||
|
||||
return order;
|
||||
} else {
|
||||
System.out.println("未找到订单");
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public class PayBeforeUtil {
|
|||
*/
|
||||
public String createPayBefore(Users user, BigDecimal amount, String orderId, Long oid,
|
||||
Long serviceId, Long orderType, String sku, String grouporderid,
|
||||
Long addressid, String maketime, String attachments,Long servicetype,Long baojiaid,String lastorderid) {
|
||||
Long addressid, String maketime, String attachments,Long servicetype,Long baojiaid,String lastorderid,BigDecimal youfei) {
|
||||
try {
|
||||
// 计算会员优惠
|
||||
BigDecimal memberMoney = BigDecimal.ZERO;
|
||||
|
|
@ -90,6 +90,7 @@ public class PayBeforeUtil {
|
|||
payBefore.setUid(user.getId());
|
||||
payBefore.setOrderid(orderId);
|
||||
payBefore.setOid(oid);
|
||||
payBefore.setPostage(youfei);
|
||||
payBefore.setPaycode(GenerateCustomCode.generCreateOrder("PAY"));
|
||||
payBefore.setAllmoney(amount); // 原始总金额
|
||||
// 微信支付金额 = 总金额 - 会员优惠 - 服务金抵扣 - 购物金抵扣
|
||||
|
|
@ -224,7 +225,7 @@ public class PayBeforeUtil {
|
|||
* @return 预支付记录ID,失败返回null
|
||||
*/
|
||||
public String createPayBefore(Users user, BigDecimal amount) {
|
||||
return createPayBefore(user, amount, null, null, 0L, 0L, null, null, null, null, null,null, null,null);
|
||||
return createPayBefore(user, amount, null, null, 0L, 0L, null, null, null, null, null,null, null,null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -240,7 +241,7 @@ public class PayBeforeUtil {
|
|||
*/
|
||||
public String createPayBefore(Users user, BigDecimal amount, String orderId, Long oid,
|
||||
Long serviceId, Long orderType) {
|
||||
return createPayBefore(user, amount, orderId, oid, serviceId, orderType, null, null, null, null, null,null, null, null);
|
||||
return createPayBefore(user, amount, orderId, oid, serviceId, orderType, null, null, null, null, null,null, null, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -407,7 +408,7 @@ public class PayBeforeUtil {
|
|||
orderLog.getId(), // oid
|
||||
null, // serviceId
|
||||
8L, // type=8 定金
|
||||
null, null, null, null, null, 1L, null, lastorderid
|
||||
null, null, null, null, null, 1L, null, lastorderid, null
|
||||
);
|
||||
}
|
||||
// 金额一致,无需操作
|
||||
|
|
@ -420,7 +421,7 @@ public class PayBeforeUtil {
|
|||
orderLog.getId(), // oid
|
||||
null, // serviceId
|
||||
8L, // type=8 定金
|
||||
null, null, null, null, null, 1L, null, lastorderid
|
||||
null, null, null, null, null, 1L, null, lastorderid, null
|
||||
);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -479,7 +480,7 @@ public class PayBeforeUtil {
|
|||
orderLog.getId(), // oid
|
||||
null, // serviceId
|
||||
9L, // type=9 尾款
|
||||
null, null, null, null, null, 1L, null, lastorderid
|
||||
null, null, null, null, null, 1L, null, lastorderid, null
|
||||
);
|
||||
}
|
||||
// 金额一致,无需操作
|
||||
|
|
@ -492,7 +493,7 @@ public class PayBeforeUtil {
|
|||
orderLog.getId(), // oid
|
||||
null, // serviceId
|
||||
9L, // type=9 尾款
|
||||
null, null, null, null, null, 1L, null, lastorderid
|
||||
null, null, null, null, null, 1L, null, lastorderid, null
|
||||
);
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -297,7 +297,7 @@ public class WXsendMsgUtil {
|
|||
return PublicPush(wxMssVo);
|
||||
}
|
||||
//用户支付上门费后向师傅进行推送
|
||||
public static String sendUserPayDoorMoneyForWorker(String openid, Order order, ServiceGoods serviceGoods) throws Exception {
|
||||
public static String sendUserPayDoorMoneyForWorker(String openid, Order order, String name) throws Exception {
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
//拼接推送的模版
|
||||
WxMssVo wxMssVo = new WxMssVo();
|
||||
|
|
@ -309,35 +309,63 @@ public class WXsendMsgUtil {
|
|||
// mark="暂无备注";
|
||||
// }
|
||||
Map<String, TemplateData> m = new HashMap<>(3);
|
||||
m.put("thing15", new TemplateData(serviceGoods.getTitle()));
|
||||
m.put("thing15", new TemplateData(name));
|
||||
m.put("character_string5", new TemplateData(order.getOrderId()));
|
||||
m.put("date3", new TemplateData(AppletControllerUtil.timeStamp2Date(order)));
|
||||
m.put("thing1", new TemplateData(order.getAddress()));
|
||||
m.put("thing9", new TemplateData("用户已支付上门费"));
|
||||
m.put("thing9", new TemplateData("用户已支付费用"));
|
||||
|
||||
System.out.println("师傅设置上门费的时候的推送:" + m.toString());
|
||||
wxMssVo.setData(m);
|
||||
return PublicPush(wxMssVo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// //商城订单变化后给客户发送的通知
|
||||
// public static String sendUserGoodsOrderStatusForUser(String openid, String orderid, String name) throws Exception {
|
||||
// // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// //拼接推送的模版
|
||||
// WxMssVo wxMssVo = new WxMssVo();
|
||||
// wxMssVo.setTouser(openid);//用户的openid(要发送给那个用户,通常这里应该动态传进来的)
|
||||
// wxMssVo.setTemplate_id(ORDER_STATUS);//订阅消息模板id
|
||||
// wxMssVo.setPage("/pages/serveSF/home/details?id="+orderid);
|
||||
//// String mark = order.getMark();
|
||||
//// if (StringUtils.isEmpty( mark)){
|
||||
//// mark="暂无备注";
|
||||
//// }
|
||||
// Map<String, TemplateData> m = new HashMap<>(3);
|
||||
// m.put("thing15", new TemplateData(name));
|
||||
// m.put("character_string5", new TemplateData(orderid));
|
||||
// m.put("date3", new TemplateData(AppletControllerUtil.timeStamp2Date(order)));
|
||||
// m.put("thing1", new TemplateData(order.getAddress()));
|
||||
// m.put("thing9", new TemplateData("用户已支付费用"));
|
||||
//
|
||||
// System.out.println("师傅设置上门费的时候的推送:" + m.toString());
|
||||
// wxMssVo.setData(m);
|
||||
// return PublicPush(wxMssVo);
|
||||
// }
|
||||
|
||||
|
||||
//客户支付成功的消息推送
|
||||
public static String sendUserForMoneySuccess(String openid, GoodsOrder order, ServiceGoods serviceGoods) throws Exception {
|
||||
public static String sendUserForMoneySuccess(String openid, String orderid,String price,String Address, String title,String reamk) throws Exception {
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
//拼接推送的模版
|
||||
WxMssVo wxMssVo = new WxMssVo();
|
||||
wxMssVo.setTouser(openid);//用户的openid(要发送给那个用户,通常这里应该动态传进来的)
|
||||
wxMssVo.setTemplate_id(PAY_GOODS);//订阅消息模板id
|
||||
wxMssVo.setPage("/pages/mine/shopOrder/index");
|
||||
String mark = order.getMark();
|
||||
if (StringUtils.isEmpty( mark)){
|
||||
mark="暂无备注";
|
||||
}
|
||||
// String mark = order.getMark();
|
||||
// if (StringUtils.isEmpty( mark)){
|
||||
// mark="暂无备注";
|
||||
// }
|
||||
Map<String, TemplateData> m = new HashMap<>(3);
|
||||
m.put("thing11", new TemplateData(serviceGoods.getTitle()));
|
||||
m.put("character_string3", new TemplateData(order.getOrderId()));
|
||||
m.put("amount27",new TemplateData(String.valueOf(order.getTotalPrice())));
|
||||
m.put("thing1", new TemplateData(order.getAddress()));
|
||||
m.put("thing9", new TemplateData("师傅已经已经接单"));
|
||||
m.put("thing11", new TemplateData(title));
|
||||
m.put("character_string3", new TemplateData(orderid));
|
||||
m.put("amount27",new TemplateData(price));
|
||||
m.put("thing1", new TemplateData(Address));
|
||||
m.put("thing9", new TemplateData(reamk));
|
||||
|
||||
System.out.println("师傅设置上门费的时候的推送:" + m.toString());
|
||||
wxMssVo.setData(m);
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ 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://403e667e.r3.cpolar.top";
|
||||
public static final String PAY_FH = "https://403e667e.r3.cpolar.top/";
|
||||
/**
|
||||
* 其他配置常量
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -834,10 +834,26 @@ export default {
|
|||
},
|
||||
|
||||
calculateTotalRefund() {
|
||||
const total = (parseFloat(this.refundForm.wechatRefund) || 0) + (parseFloat(this.refundForm.balanceRefund) || 0) +
|
||||
(parseFloat(this.refundForm.shoppingGoldRefund) || 0) + (parseFloat(this.refundForm.serviceGoldRefund) || 0) +
|
||||
(parseFloat(this.refundForm.couponRefund === '1' ? this.actualPaymentData.couponmoney : 0) || 0);
|
||||
console.log('=== 开始计算总退款金额 ===');
|
||||
console.log('refundForm:', this.refundForm);
|
||||
|
||||
const wechatAmount = parseFloat(this.refundForm.wechatRefund) || 0;
|
||||
const balanceAmount = parseFloat(this.refundForm.balanceRefund) || 0;
|
||||
const shoppingAmount = parseFloat(this.refundForm.shoppingGoldRefund) || 0;
|
||||
const serviceAmount = parseFloat(this.refundForm.serviceGoldRefund) || 0;
|
||||
const couponAmount = parseFloat(this.refundForm.couponRefund === '1' ? this.actualPaymentData.couponmoney : 0) || 0;
|
||||
|
||||
console.log('各项金额:');
|
||||
console.log(' 微信退款:', wechatAmount);
|
||||
console.log(' 余额退款:', balanceAmount);
|
||||
console.log(' 购物金退款:', shoppingAmount);
|
||||
console.log(' 服务金退款:', serviceAmount);
|
||||
console.log(' 优惠券退款:', couponAmount);
|
||||
|
||||
const total = wechatAmount + balanceAmount + shoppingAmount + serviceAmount + couponAmount;
|
||||
this.totalRefundAmount = total.toFixed(2);
|
||||
|
||||
console.log('总退款金额:', this.totalRefundAmount);
|
||||
},
|
||||
|
||||
validateRefundAmount() {
|
||||
|
|
@ -863,6 +879,11 @@ export default {
|
|||
this.confirmLoading = true;
|
||||
|
||||
try {
|
||||
// 添加调试日志
|
||||
console.log('=== 开始确认退款 ===');
|
||||
console.log('refundForm:', this.refundForm);
|
||||
console.log('actualPaymentData:', this.actualPaymentData);
|
||||
|
||||
const params = {
|
||||
orderId: this.orderId,
|
||||
wechatRefund: this.refundForm.wechatRefund || "0",
|
||||
|
|
@ -873,8 +894,20 @@ export default {
|
|||
refundRemark: this.refundForm.refundRemark
|
||||
};
|
||||
|
||||
console.log('构建的参数:', params);
|
||||
console.log('参数类型检查:');
|
||||
console.log(' orderId:', typeof params.orderId, params.orderId);
|
||||
console.log(' wechatRefund:', typeof params.wechatRefund, params.wechatRefund);
|
||||
console.log(' balanceRefund:', typeof params.balanceRefund, params.balanceRefund);
|
||||
console.log(' shoppingGoldRefund:', typeof params.shoppingGoldRefund, params.shoppingGoldRefund);
|
||||
console.log(' serviceGoldRefund:', typeof params.serviceGoldRefund, params.serviceGoldRefund);
|
||||
console.log(' couponRefund:', typeof params.couponRefund, params.couponRefund);
|
||||
console.log(' refundRemark:', typeof params.refundRemark, params.refundRemark);
|
||||
|
||||
const response = await unifiedRefund(params);
|
||||
|
||||
console.log('退款接口响应:', response);
|
||||
|
||||
if (response.code === 200) {
|
||||
this.$message.success("退款成功");
|
||||
this.$emit("success", response.data);
|
||||
|
|
|
|||
Loading…
Reference in New Issue