微信支付部分

This commit is contained in:
menxipeng
2025-11-26 22:40:03 +08:00
parent 30589acd69
commit 98565c9150
12 changed files with 500 additions and 231 deletions

View File

@@ -335,6 +335,10 @@ public class CShopUserServiceImpl implements ShopUserService {
return null;
}
}
if (!MusicUtil.getShopIsVip(member)){
shopUser.setVip(2L);
member.setVip(2L);
};
// 修改外设id
shopUserMapper.updateDeviceIdByPhone(shopUser);
return member;

View File

@@ -8,8 +8,8 @@ import com.ruoyi.common.core.domain.entity.OrderInfo;
import com.ruoyi.common.core.domain.entity.PayStatusEnum;
import com.ruoyi.common.core.domain.entity.Product;
import com.ruoyi.common.core.domain.entity.ShopUser;
import com.ruoyi.common.core.domain.vo.OrderInfoVO;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.vo.OrderInfoVO;
import com.ruoyi.common.enums.OrderStatus;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
@@ -23,7 +23,6 @@ import com.ruoyi.system.util.PaymentUtil;
import com.ruoyi.system.util.WeChatPayUtil;
import com.wechat.pay.java.service.payments.app.model.PrepayWithRequestPaymentResponse;
import com.wechat.pay.java.service.payments.model.Transaction;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -157,7 +156,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService
orderInfo.setOrderName(request.getOrderName());
orderInfo.setUserId(loginUser.getUserId());
Product product = productMapper.selectProductByPageType(request.getPackageType());
orderInfo.setAmount(product.getCurrentPrice());
orderInfo.setAmount(new BigDecimal("0.01"));
orderInfo.setPayType(request.getPayType());
orderInfo.setPackageType(request.getPackageType());
orderInfo.setDeviceType(request.getDeviceType());
@@ -472,9 +471,25 @@ public class OrderInfoServiceImpl implements IOrderInfoService
return AjaxResult.error("处理订单异常");
}
// 重试状态码
private static final int RETRY_CODES = 677;
@Override
public AjaxResult findTransactions(String transactionId) {
public AjaxResult findTransactions(String orderId) {
OrderInfo orderInfo = orderInfoMapper.selectOrderByOrderId(orderId);
if(orderInfo == null){
return AjaxResult.error("未找到对应订单");
}
String transactionId = orderInfo.getTradeNo();
if(transactionId == null){
return new AjaxResult(RETRY_CODES,"未找到对应订单");
}
Transaction transaction = weChatPayUtil.queryOrder(transactionId);
if(transaction == null){
return new AjaxResult(RETRY_CODES,"未找到对应订单");
}
return AjaxResult.success( transaction);
}

View File

@@ -44,6 +44,7 @@ public class WeChatPayUtil {
Amount amount = new Amount();
// orderInfo.getAmount() 元转分
amount.setTotal(orderInfo.getAmount().multiply(new BigDecimal(100)).intValue());
//amount.setTotal(orderInfo.getAmount().multiply(new BigDecimal(100)).intValue());
amount.setCurrency("CNY");
request.setAmount(amount);
// response包含了调起支付所需的所有参数可直接用于前端调起支付

View File

@@ -260,7 +260,11 @@
</update>
<update id="updateDeviceIdByPhone">
update shop_user set device_id = #{deviceId} where shop_user.phone = #{phone}
update shop_user set device_id = #{deviceId}
<if test="vip != null">
,vip = #{vip}
</if>
where shop_user.phone = #{phone}
</update>
<select id="selectDeviceIdShopUserByUserIds" resultType="java.lang.String">