```feat(user): 集成支付宝充值功能

集成支付宝充值功能,允许用户通过支付宝进行余额充值。在用户控制器中添加了处理充值请求的端点,并在用户服务中实现了充值逻辑。使用Alipay SDK处理支付请求,并在成功支付后更新用户的余额。确保用户余额和支付金额的处理在数据库中是原子操作。支付宝配置详细信息已加载,同步和异步通知URL已设置。
```
pull/1/head
wxy 2024-08-23 20:53:51 +08:00
parent 84c9201df5
commit d270cf96a8
6 changed files with 32 additions and 8 deletions

View File

@ -269,6 +269,17 @@ public class SysUserController extends BaseController {
return toAjax(userService.insertBalance(user)); return toAjax(userService.insertBalance(user));
} }
//TODO
// 查询当前用户的余额
@GetMapping("/balance/{userId}")
public Result userBalance(@PathVariable("userId") Long userId){
userService.checkUserDataScope(userId);
return toAjax(userService.selectBalance(userId));
}
/** /**
* *
*/ */

View File

@ -144,6 +144,5 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
public SysUser checkEmailUnique (String email); public SysUser checkEmailUnique (String email);
public int selectBalance(Long userId);
} }

View File

@ -227,4 +227,7 @@ public interface SysUserService extends IService<SysUser> {
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName); public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
int insertBalance(SysUser user); int insertBalance(SysUser user);
int selectBalance(Long userId);
} }

View File

@ -126,6 +126,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.selectUserById(userId); return userMapper.selectUserById(userId);
} }
@Override
public int selectBalance(Long userId) {
return userMapper.selectBalance(userId);
}
/** /**
* *
* *
@ -275,11 +281,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
if (response.isSuccess()) { if (response.isSuccess()) {
// 支付成功,更新用户余额 // 支付成功,更新用户余额
SysUser sysUser = userMapper.selectUserById(user.getUserId()); SysUser sysUser = userMapper.selectUserById(user.getUserId());
// sysUser.setUserBalance(user.getUserBalance()); sysUser.setUserBalance(user.getUserBalance());
double currentBalance = sysUser.getUserBalance(); // double currentBalance = sysUser.getUserBalance();
double newPaymentAmount = user.getPaymentAmount(); // double newPaymentAmount = user.getPaymentAmount();
double newBalance = currentBalance + newPaymentAmount; // double newBalance = currentBalance + newPaymentAmount;
sysUser.setUserBalance(newBalance); // sysUser.setUserBalance(newBalance);
userMapper.updateUserBalance(sysUser); userMapper.updateUserBalance(sysUser);
} else { } else {
throw new RuntimeException("充值失败"); throw new RuntimeException("充值失败");
@ -290,6 +296,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return 0; return 0;
} }
/** /**
* *
* *

View File

@ -6,7 +6,7 @@ nacos:
addr: 47.116.184.54:8848 addr: 47.116.184.54:8848
user-name: nacos user-name: nacos
password: nacos password: nacos
namespace: cloud-2112 namespace: cloud-tx
# Spring # Spring
spring: spring:

View File

@ -184,6 +184,9 @@
and del_flag = '0' and del_flag = '0'
limit 1 limit 1
</select> </select>
<select id="selectBalance" resultType="java.lang.Integer">
select user_balance from sys_user where user_id = #{userId}
</select>
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user( insert into sys_user(