Commit 8cbaffa1 by renyizhao

获取apiKey充值流程完成

parent 691af29b
...@@ -15,4 +15,5 @@ public class AiTokenRespVO { ...@@ -15,4 +15,5 @@ public class AiTokenRespVO {
private String apiKey; private String apiKey;
private String message; private String message;
private String balance; private String balance;
private String baseUrl;
} }
\ No newline at end of file
package com.luhu.computility.module.apihub.controller.app; package com.luhu.computility.module.apihub.controller.app;
import com.luhu.computility.framework.security.core.util.SecurityFrameworkUtils; import com.luhu.computility.framework.security.core.util.SecurityFrameworkUtils;
import com.luhu.computility.module.apihub.config.NewApiProperties;
import com.luhu.computility.module.apihub.controller.admin.newapi.AiTokenRespVO; import com.luhu.computility.module.apihub.controller.admin.newapi.AiTokenRespVO;
import com.luhu.computility.module.apihub.controller.admin.newapi.NewApiResponse; import com.luhu.computility.module.apihub.controller.admin.newapi.NewApiResponse;
import com.luhu.computility.module.apihub.service.newapi.AiTokenService; import com.luhu.computility.module.apihub.service.newapi.AiTokenService;
...@@ -27,6 +28,9 @@ public class AppAiTokenController { ...@@ -27,6 +28,9 @@ public class AppAiTokenController {
@Resource @Resource
private NewApiClient newApiClient; private NewApiClient newApiClient;
@Resource
private NewApiProperties newApiProperties;
@PostMapping("/get") @PostMapping("/get")
public AiTokenRespVO getToken() { public AiTokenRespVO getToken() {
Long userId = SecurityFrameworkUtils.getLoginUserId(); Long userId = SecurityFrameworkUtils.getLoginUserId();
...@@ -120,7 +124,8 @@ public class AppAiTokenController { ...@@ -120,7 +124,8 @@ public class AppAiTokenController {
.success(true) .success(true)
.hasToken(hasToken) .hasToken(hasToken)
.apiKey(user.getNewapiKey()) .apiKey(user.getNewapiKey())
.balance(balance); .balance(balance)
.baseUrl(newApiProperties.getBaseUrl());
return builder.build(); return builder.build();
} }
......
...@@ -68,8 +68,8 @@ public class MemberRechargeWpgjPayController { ...@@ -68,8 +68,8 @@ public class MemberRechargeWpgjPayController {
// 2. 根据订单状态更新充值记录 // 2. 根据订单状态更新充值记录
if (WpgjOrderStatusEnum.isSuccess(orderStatus)) { if (WpgjOrderStatusEnum.isSuccess(orderStatus)) {
// 支付成功:更新充值状态为已支付 // 支付成功:更新充值状态为已支付,回调状态为已处理
memberRechargeService.updateRechargeStatus(Long.parseLong(merOrderId), 1); memberRechargeService.updateRechargeStatus(Long.parseLong(merOrderId), 1, 1);
// 3. 执行充值兑换(调用 new API 增加额度) // 3. 执行充值兑换(调用 new API 增加额度)
try { try {
...@@ -81,8 +81,8 @@ public class MemberRechargeWpgjPayController { ...@@ -81,8 +81,8 @@ public class MemberRechargeWpgjPayController {
log.info("[notifyWpgjPay][Member] 支付成功处理完成,商户订单号: {}", merOrderId); log.info("[notifyWpgjPay][Member] 支付成功处理完成,商户订单号: {}", merOrderId);
} else if (WpgjOrderStatusEnum.isFailedOrClosed(orderStatus)) { } else if (WpgjOrderStatusEnum.isFailedOrClosed(orderStatus)) {
// 支付失败/关闭:更新充值状态为支付失败 // 支付失败/关闭:更新充值状态为支付失败,回调状态为已处理
memberRechargeService.updateRechargeStatus(Long.parseLong(merOrderId), -1); memberRechargeService.updateRechargeStatus(Long.parseLong(merOrderId), -1, 1);
log.info("[notifyWpgjPay][Member] 支付失败/关闭处理完成,商户订单号: {}", merOrderId); log.info("[notifyWpgjPay][Member] 支付失败/关闭处理完成,商户订单号: {}", merOrderId);
} else { } else {
log.info("[notifyWpgjPay][Member] 订单状态无需处理,商户订单号: {}, 状态: {}", merOrderId, orderStatus); log.info("[notifyWpgjPay][Member] 订单状态无需处理,商户订单号: {}, 状态: {}", merOrderId, orderStatus);
......
...@@ -16,6 +16,11 @@ public class MemberRechargeRespVO { ...@@ -16,6 +16,11 @@ public class MemberRechargeRespVO {
@Schema(description = "用户ID", example = "1") @Schema(description = "用户ID", example = "1")
private Long userId; private Long userId;
/**
* 用户名/手机号
*/
private String userMobile;
@Schema(description = "充值金额(元)") @Schema(description = "充值金额(元)")
private java.math.BigDecimal amount; private java.math.BigDecimal amount;
...@@ -43,6 +48,9 @@ public class MemberRechargeRespVO { ...@@ -43,6 +48,9 @@ public class MemberRechargeRespVO {
@Schema(description = "回调状态", example = "1") @Schema(description = "回调状态", example = "1")
private Integer callbackStatus; private Integer callbackStatus;
@Schema(description = "回调状态名称")
private String callbackStatusName;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
......
...@@ -21,7 +21,7 @@ public interface MemberRechargeService { ...@@ -21,7 +21,7 @@ public interface MemberRechargeService {
/** /**
* 更新充值记录状态 * 更新充值记录状态
*/ */
void updateRechargeStatus(Long id, Integer payStatus); void updateRechargeStatus(Long id, Integer payStatus, Integer callbackStatus);
/** /**
* 更新支付回调状态 * 更新支付回调状态
......
...@@ -43,6 +43,11 @@ public class MemberRechargeServiceImpl implements MemberRechargeService { ...@@ -43,6 +43,11 @@ public class MemberRechargeServiceImpl implements MemberRechargeService {
2, "已退款" 2, "已退款"
); );
private static final Map<Integer, String> CALLBACK_STATUS_NAMES = Map.of(
0, "未处理",
1, "已处理"
);
private static final Map<Integer, String> REDEEM_STATUS_NAMES = Map.of( private static final Map<Integer, String> REDEEM_STATUS_NAMES = Map.of(
-1, "兑换失败", -1, "兑换失败",
0, "未兑换", 0, "未兑换",
...@@ -78,15 +83,18 @@ public class MemberRechargeServiceImpl implements MemberRechargeService { ...@@ -78,15 +83,18 @@ public class MemberRechargeServiceImpl implements MemberRechargeService {
} }
@Override @Override
public void updateRechargeStatus(Long id, Integer payStatus) { public void updateRechargeStatus(Long id, Integer payStatus, Integer callbackStatus) {
MemberRechargeDO updateDO = MemberRechargeDO.builder().build(); MemberRechargeDO updateDO = MemberRechargeDO.builder().build();
updateDO.setId(id); updateDO.setId(id);
updateDO.setPayStatus(payStatus); updateDO.setPayStatus(payStatus);
if (payStatus == 1) { if (payStatus == 1) {
updateDO.setPayTime(LocalDateTime.now()); updateDO.setPayTime(LocalDateTime.now());
} }
if (callbackStatus != null) {
updateDO.setCallbackStatus(callbackStatus);
}
rechargeMapper.updateById(updateDO); rechargeMapper.updateById(updateDO);
log.info("[更新充值状态] id={}, payStatus={}", id, payStatus); log.info("[更新充值状态] id={}, payStatus={}, callbackStatus={}", id, payStatus, callbackStatus);
} }
@Override @Override
...@@ -113,8 +121,25 @@ public class MemberRechargeServiceImpl implements MemberRechargeService { ...@@ -113,8 +121,25 @@ public class MemberRechargeServiceImpl implements MemberRechargeService {
@Override @Override
public PageResult<MemberRechargeRespVO> getRechargePage(MemberRechargePageReqVO reqVO) { public PageResult<MemberRechargeRespVO> getRechargePage(MemberRechargePageReqVO reqVO) {
PageResult<MemberRechargeDO> pageResult = rechargeMapper.selectPage(reqVO); PageResult<MemberRechargeDO> pageResult = rechargeMapper.selectPage(reqVO);
// 批量获取所有用户信息
List<Long> userIds = pageResult.getList().stream()
.map(MemberRechargeDO::getUserId)
.distinct()
.collect(Collectors.toList());
java.util.Map<Long, MemberUserDO> userMap = new java.util.HashMap<>();
for (Long uid : userIds) {
if (uid != null) {
MemberUserDO user = memberUserService.getUser(uid);
if (user != null) {
userMap.put(uid, user);
}
}
}
final java.util.Map<Long, MemberUserDO> finalUserMap = userMap;
List<MemberRechargeRespVO> voList = pageResult.getList().stream() List<MemberRechargeRespVO> voList = pageResult.getList().stream()
.map(this::convertToRespVO) .map(recharge -> convertToRespVO(recharge, finalUserMap.get(recharge.getUserId())))
.collect(Collectors.toList()); .collect(Collectors.toList());
return new PageResult<>(voList, pageResult.getTotal()); return new PageResult<>(voList, pageResult.getTotal());
} }
...@@ -234,10 +259,10 @@ public class MemberRechargeServiceImpl implements MemberRechargeService { ...@@ -234,10 +259,10 @@ public class MemberRechargeServiceImpl implements MemberRechargeService {
rechargeMapper.updateById(updateDO); rechargeMapper.updateById(updateDO);
} }
private MemberRechargeRespVO convertToRespVO(MemberRechargeDO recharge) { private MemberRechargeRespVO convertToRespVO(MemberRechargeDO recharge, MemberUserDO user) {
MemberRechargeRespVO vo = new MemberRechargeRespVO(); MemberRechargeRespVO vo = new MemberRechargeRespVO();
vo.setId(recharge.getId());
vo.setUserId(recharge.getUserId()); vo.setUserId(recharge.getUserId());
vo.setUserMobile(user != null ? user.getMobile() : null);
vo.setAmount(recharge.getAmount()); vo.setAmount(recharge.getAmount());
vo.setQuota(recharge.getQuota()); vo.setQuota(recharge.getQuota());
vo.setPayChannel(recharge.getPayChannel()); vo.setPayChannel(recharge.getPayChannel());
...@@ -246,7 +271,9 @@ public class MemberRechargeServiceImpl implements MemberRechargeService { ...@@ -246,7 +271,9 @@ public class MemberRechargeServiceImpl implements MemberRechargeService {
vo.setPayStatusName(PAY_STATUS_NAMES.getOrDefault(recharge.getPayStatus(), "未知")); vo.setPayStatusName(PAY_STATUS_NAMES.getOrDefault(recharge.getPayStatus(), "未知"));
vo.setPayTime(recharge.getPayTime()); vo.setPayTime(recharge.getPayTime());
vo.setTransactionId(recharge.getTransactionId()); vo.setTransactionId(recharge.getTransactionId());
vo.setCallbackStatus(recharge.getCallbackStatus()); vo.setCallbackStatus(recharge.getPayStatus() == 1 ? 1 : (recharge.getCallbackStatus() != null ? recharge.getCallbackStatus() : 0));
vo.setCallbackStatusName(CALLBACK_STATUS_NAMES.getOrDefault(
recharge.getPayStatus() == 1 ? 1 : (recharge.getCallbackStatus() != null ? recharge.getCallbackStatus() : 0), "未知"));
vo.setRemark(recharge.getRemark()); vo.setRemark(recharge.getRemark());
vo.setCreateTime(recharge.getCreateTime()); vo.setCreateTime(recharge.getCreateTime());
vo.setUpdateTime(recharge.getUpdateTime()); vo.setUpdateTime(recharge.getUpdateTime());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment