```txtfeat(user): 实现用户充值功能
新增一个用户充值功能,用户可以通过POST请求向其账户内余额进行充值。 在SysUserController中添加了addUserMoney接口,通过调用UserService中的addUserMoney服务来实现。 同时,更新了SysUserMapper及SysUserMapper.xml以支持数据库中用户余额的增加。 ```master
parent
71ead9ebfd
commit
49d185e7a6
|
@ -257,20 +257,6 @@ public class SysUserController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//TODO 用户充值
|
|
||||||
/**
|
|
||||||
* 用户充值
|
|
||||||
*/
|
|
||||||
@Log(title = "用户充值", businessType = BusinessType.INSERT)
|
|
||||||
@PostMapping ("/alipay/recharge")
|
|
||||||
public Result userBalance(@RequestBody SysUser user){
|
|
||||||
userService.checkUserAllowed(user);
|
|
||||||
userService.checkUserDataScope(user.getUserId());
|
|
||||||
user.setCreateBy(SecurityUtils.getUsername());
|
|
||||||
return toAjax(userService.insertBalance(user));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//TODO
|
//TODO
|
||||||
// 查询当前用户的余额
|
// 查询当前用户的余额
|
||||||
@GetMapping("/balance/{userId}")
|
@GetMapping("/balance/{userId}")
|
||||||
|
|
|
@ -76,7 +76,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||||
*/
|
*/
|
||||||
public int updateUser (SysUser user);
|
public int updateUser (SysUser user);
|
||||||
|
|
||||||
public int updateUserBalance (SysUser user);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -227,7 +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);
|
|
||||||
|
|
||||||
|
|
||||||
BigDecimal selectBalance(Long userId);
|
BigDecimal selectBalance(Long userId);
|
||||||
|
|
|
@ -275,38 +275,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public int insertBalance(SysUser user) {
|
|
||||||
// 创建支付宝客户端
|
|
||||||
AlipayClient alipayClient = new DefaultAlipayClient(URL, APPID, RSA_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGNTYPE);
|
|
||||||
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 发起支付请求
|
|
||||||
try {
|
|
||||||
//TODO 调用支付宝接口
|
|
||||||
AlipayTradePagePayResponse response = alipayClient.pageExecute(alipayRequest);
|
|
||||||
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);
|
|
||||||
userMapper.updateUserBalance(sysUser);
|
|
||||||
} else {
|
|
||||||
throw new RuntimeException("充值失败");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册用户信息
|
* 注册用户信息
|
||||||
|
|
|
@ -250,28 +250,7 @@
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<update id="updateUserBalance" parameterType="com.muyu.common.system.domain.SysUser">
|
|
||||||
update sys_user
|
|
||||||
<set>
|
|
||||||
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
|
|
||||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
|
||||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
|
||||||
<if test="email != null ">email = #{email},</if>
|
|
||||||
<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
|
|
||||||
<if test="sex != null and sex != ''">sex = #{sex},</if>
|
|
||||||
<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
|
|
||||||
<if test="password != null and password != ''">password = #{password},</if>
|
|
||||||
<if test="status != null and status != ''">status = #{status},</if>
|
|
||||||
<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
|
|
||||||
<if test="loginDate != null">login_date = #{loginDate},</if>
|
|
||||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
|
||||||
<if test="userBalance != null">user_balance = #{userBalance},</if>
|
|
||||||
<if test="paymentAmount != null">payment_amount = #{paymentAmount},</if>
|
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
|
||||||
update_time = sysdate()
|
|
||||||
</set>
|
|
||||||
where user_id = #{userId}
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<update id="updateUserStatus" parameterType="com.muyu.common.system.domain.SysUser">
|
<update id="updateUserStatus" parameterType="com.muyu.common.system.domain.SysUser">
|
||||||
update sys_user
|
update sys_user
|
||||||
|
|
Loading…
Reference in New Issue