diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java index 09a5b7e22..6de13cf77 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java @@ -37,6 +37,8 @@ import org.springframework.transaction.support.TransactionTemplate; import org.springframework.util.Assert; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -333,15 +335,17 @@ public class OrderPayServiceImpl implements OrderPayService { WxPayService wxPayService = wxPayOneAutoConfiguration.wxPayOneService(); Assert.notNull(wxPayService, "获取微信支付配置失败!"); WxPayUnifiedOrderV3Request wxPayRequest = new WxPayUnifiedOrderV3Request(); - int sum = storeOrder.getPayPrice().multiply(new BigDecimal("100")).intValue(); +// int sum = storeOrder.getPayPrice().multiply(new BigDecimal("100")).intValue(); + int sum = 1; wxPayRequest.setAmount(new WxPayUnifiedOrderV3Request.Amount().setTotal(sum)); - wxPayRequest.setDescription("会员充值"); + wxPayRequest.setDescription("商城消费"); wxPayRequest.setOutTradeNo(storeOrder.getOrderId()); wxPayRequest.setNotifyUrl(payProperties.getNotifyUrl()); wxPayRequest.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(openid)); wxPayRequest.setSceneInfo(new WxPayUnifiedOrderV3Request.SceneInfo().setPayerClientIp(ip)); wxPayRequest.setAppid(payProperties.getAppId()); wxPayRequest.setMchid(payProperties.getMchId()); + wxPayRequest.setTimeExpire(formatLocalDateTime(LocalDateTime.now().plusMinutes(30), "yyyyMMddHHmmss")); try { WxPayUnifiedOrderV3Result wxPayUnifiedOrderV3Result = wxPayService.unifiedOrderV3(TradeTypeEnum.JSAPI, wxPayRequest); map.put("mweb_url",wxPayUnifiedOrderV3Result.getH5Url()); @@ -350,4 +354,8 @@ public class OrderPayServiceImpl implements OrderPayService { } return map; } + public static String formatLocalDateTime(LocalDateTime localDateTime, String pattern) { + return localDateTime.format(DateTimeFormatter.ofPattern(pattern)); + } + } diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/recharge/RechargeOrderServiceImpl.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/recharge/RechargeOrderServiceImpl.java index dc0ab8d08..0169f12e2 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/recharge/RechargeOrderServiceImpl.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/recharge/RechargeOrderServiceImpl.java @@ -62,14 +62,16 @@ public class RechargeOrderServiceImpl implements RechargeOrderService { RechargeOrderDO updateObj = RechargeOrderConvert.INSTANCE.convert(updateReqVO); rechargeOrderMapper.updateById(updateObj); } + @Override public void updateRechargeOrderStatus(RechargeOrderUpdateReqVO updateReqVO) { // 校验存在 validateRechargeOrderExists(updateReqVO.getId()); // 更新 - RechargeOrderDO updateObj = RechargeOrderConvert.INSTANCE.convert(updateReqVO); + RechargeOrderDO updateObj = RechargeOrderConvert.INSTANCE.convert(updateReqVO); rechargeOrderMapper.updateById(updateObj); } + @Override public void deleteRechargeOrder(Long id) { // 校验存在 @@ -97,7 +99,7 @@ public class RechargeOrderServiceImpl implements RechargeOrderService { @Override public PageResult getRechargeOrderPage(RechargeOrderPageReqVO pageReqVO) { Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - rechargeOrderMapper.findListPage(page,pageReqVO); + rechargeOrderMapper.findListPage(page, pageReqVO); return new PageResult<>(page.getRecords(), page.getTotal()); } @@ -149,7 +151,7 @@ public class RechargeOrderServiceImpl implements RechargeOrderService { MemberHeadResponse response = new MemberHeadResponse(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); Assert.notNull(loginUser, "登录失效,请重新登录!"); - List orderDOS = rechargeOrderMapper.selectList(Wrappers.lambdaQuery().eq(RechargeOrderDO::getUid, loginUser.getId())); + List orderDOS = rechargeOrderMapper.selectList(Wrappers.lambdaQuery().eq(RechargeOrderDO::getUid, loginUser.getId()).eq(RechargeOrderDO::getPaid, 1)); if (!CollectionUtils.isEmpty(orderDOS)) { BigDecimal amount = new BigDecimal("0"); for (RechargeOrderDO orderDO : orderDOS) { @@ -158,7 +160,7 @@ public class RechargeOrderServiceImpl implements RechargeOrderService { if (amount.compareTo(new BigDecimal("640")) < 0) { response.setGrade("普通会员"); response.setIntegral(amount.stripTrailingZeros().toPlainString() + "/" + "640"); - } else if (amount.compareTo(new BigDecimal("640")) >= 0) { + } else if (amount.compareTo(new BigDecimal("1040")) >= 0) { response.setGrade("高级会员"); response.setIntegral(amount.stripTrailingZeros().toPlainString() + "/" + "1040"); } else {