From 18b7a1d9e30c615aec867cafef4f18fe379363bd Mon Sep 17 00:00:00 2001 From: bai <173792339@qq.com> Date: Fri, 30 Aug 2024 09:06:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=BA=932?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/controller/SysUserController.java | 21 ++++++-------- .../service/Impl/SysUserServiceImpl.java | 28 ++++++++++++++++--- .../market/server/service/SysUserService.java | 7 +++++ 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/cloud-market2-server/src/main/java/com/muyu/market/server/controller/SysUserController.java b/cloud-market2-server/src/main/java/com/muyu/market/server/controller/SysUserController.java index 44f404d..e80a6c1 100644 --- a/cloud-market2-server/src/main/java/com/muyu/market/server/controller/SysUserController.java +++ b/cloud-market2-server/src/main/java/com/muyu/market/server/controller/SysUserController.java @@ -10,9 +10,7 @@ import com.muyu.market.admain.SysUser; import com.muyu.market.server.service.SysUserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -22,13 +20,6 @@ import org.springframework.web.bind.annotation.*; public class SysUserController { @Autowired private SysUserService sysUserService; - @Autowired - private HttpServletRequest request; - @Autowired - private StringRedisTemplate redisTemplate; - - - @PostMapping("/findById") @@ -39,7 +30,7 @@ public class SysUserController { SysUser byId = sysUserService.getById(loginUser.getUserid() ); return Result.success(byId); } - //报错是MQ 不用管那个 + //充值 @PostMapping("/updSysUserMoney") @Operation(summary = "充值",description = "通过修改余额达到充值效果") @@ -47,8 +38,12 @@ public class SysUserController { Integer i = sysUserService.updSysUserMoney( sysUser ); return i>0?Result.success():Result.error(500,"充值失败 请联系管理员"); } - - - + //充值 + @PostMapping("/paySysUserMoney") + @Operation(summary = "支付",description = "通过修改余额达到支付效果") + public Result paySysUserMoney(@Validated @RequestBody SysUser sysUser){ + Integer i = sysUserService.paySysUserMoney( sysUser ); + return i>0?Result.success():Result.error(500,"充值失败 请联系管理员"); + } // 在哪写 } diff --git a/cloud-market2-server/src/main/java/com/muyu/market/server/service/Impl/SysUserServiceImpl.java b/cloud-market2-server/src/main/java/com/muyu/market/server/service/Impl/SysUserServiceImpl.java index 28a88f0..e6e0831 100644 --- a/cloud-market2-server/src/main/java/com/muyu/market/server/service/Impl/SysUserServiceImpl.java +++ b/cloud-market2-server/src/main/java/com/muyu/market/server/service/Impl/SysUserServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.JwtUtils; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.LoginUser; @@ -19,12 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import java.math.BigDecimal; + @Service public class SysUserServiceImpl extends ServiceImpl implements SysUserService { - @Autowired - private HttpServletRequest request; - @Autowired - private StringRedisTemplate redisTemplate; + @Autowired private SysUserMapper sysUserMapper; @@ -37,6 +37,26 @@ public class SysUserServiceImpl extends ServiceImpl impl eq( "user_id",loginUser.getUserid() ); return sysUserMapper.update( money ); } + //充值余额 + @Override + public Integer paySysUserMoney(SysUser sysUser) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + UpdateWrapper sysUserUpdateWrapper = new UpdateWrapper<>(); + //价钱 + BigDecimal moneyReq = sysUser.getMoney(); + //用户 + SysUser user = selectByUserId( Math.toIntExact( sysUser.getUserId() ) ); + //用户余额 + BigDecimal userMoney = user.getMoney(); + int i = userMoney.compareTo( moneyReq ); + if (i < 0) { + throw new RuntimeException("余额不足 请充值"); + } + + UpdateWrapper money = sysUserUpdateWrapper.setSql("money=money-"+sysUser.getMoney()). + eq( "user_id",loginUser.getUserid() ); + return sysUserMapper.update( money ); + } //回显用户信息 @Override public SysUser selectByUserId(Integer userId) { diff --git a/cloud-market2-server/src/main/java/com/muyu/market/server/service/SysUserService.java b/cloud-market2-server/src/main/java/com/muyu/market/server/service/SysUserService.java index 0a35485..9f025ae 100644 --- a/cloud-market2-server/src/main/java/com/muyu/market/server/service/SysUserService.java +++ b/cloud-market2-server/src/main/java/com/muyu/market/server/service/SysUserService.java @@ -12,6 +12,13 @@ public interface SysUserService extends IService { * @return void */ Integer updSysUserMoney(SysUser sysUser); + /** + * 充值用户余额 + * + * @param sysUser + * @return void + */ + Integer paySysUserMoney(SysUser sysUser); /** * 回显用户余额