```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));
}
//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 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);
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);
}
@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()) {
// 支付成功,更新用户余额
SysUser sysUser = userMapper.selectUserById(user.getUserId());
// sysUser.setUserBalance(user.getUserBalance());
double currentBalance = sysUser.getUserBalance();
double newPaymentAmount = user.getPaymentAmount();
double newBalance = currentBalance + newPaymentAmount;
sysUser.setUserBalance(newBalance);
sysUser.setUserBalance(user.getUserBalance());
// double currentBalance = sysUser.getUserBalance();
// double newPaymentAmount = user.getPaymentAmount();
// double newBalance = currentBalance + newPaymentAmount;
// sysUser.setUserBalance(newBalance);
userMapper.updateUserBalance(sysUser);
} else {
throw new RuntimeException("充值失败");
@ -290,6 +296,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return 0;
}
/**
*
*

View File

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

View File

@ -184,6 +184,9 @@
and del_flag = '0'
limit 1
</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 into sys_user(