src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -1,6 +1,7 @@ package cc.mrbird.febs.mall.controller; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.mall.dto.ForgetPwdDto; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.vo.MallMemberVo; import io.swagger.annotations.Api; @@ -9,10 +10,7 @@ import io.swagger.annotations.ApiResponses; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * @author wzy @@ -47,4 +45,10 @@ public FebsResponse findMarkCnt() { return memberService.findMemberMarkCnt(); } @ApiOperation(value = "设置支付密码") @PostMapping(value = "/setTradePwd") public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) { return memberService.setTradePwd(forgetPwdDto); } } src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -19,4 +19,6 @@ FebsResponse findMemberInfo(); FebsResponse findMemberMarkCnt(); FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto); } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAddressInfoServiceImpl.java
@@ -41,7 +41,7 @@ MallMember member = LoginUserUtil.getLoginUser(); Long memberId = member.getId(); List<MallAddressInfo> existAddress = this.baseMapper.selectList(null); List<MallAddressInfo> existAddress = this.baseMapper.selectAddressInfoListByMemberId(memberId); if (CollUtil.isEmpty(existAddress)) { addressInfo.setIsDefault(MallAddressInfo.IS_DEFAULT_Y); } else { src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -206,6 +206,9 @@ MallMember mallMember = this.baseMapper.selectById(id); MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember); MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); mallMemberVo.setBalance(wallet.getBalance()); return new FebsResponse().success().data(mallMemberVo); } @@ -227,4 +230,21 @@ result.put("carts", carts.size()); return new FebsResponse().success().data(result); } @Override public FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto) { MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount()); if (mallMember == null) { throw new FebsException("账号不存在"); } boolean b = commonService.verifyCode(forgetPwdDto.getAccount(), forgetPwdDto.getCode()); if (!b) { throw new FebsException("验证码错误"); } mallMember.setTradePassword(SecureUtil.md5(forgetPwdDto.getPassword())); this.baseMapper.updateById(mallMember); return new FebsResponse().success().message("设置成功"); } } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
@@ -34,7 +34,7 @@ while (flag) { i++; MallMemberWallet wallet = this.baseMapper.selectWalletByMemberId(memberId); if (amount.compareTo(wallet.getBalance()) < 0) { if (amount.compareTo(wallet.getBalance()) > 0) { throw new FebsException("余额不足"); } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -181,11 +181,23 @@ } MallMember mallMember = memberMapper.selectById(orderInfo.getMemberId()); if (!mallMember.getTradePassword().equals(SecureUtil.md5(tradePwd))) { if (StrUtil.isBlank(mallMember.getTradePassword())) { throw new FebsException("未设置支付密码"); } if (!SecureUtil.md5(tradePwd).equals(mallMember.getTradePassword())) { throw new FebsException("支付密码错误"); } memberWalletService.reduceBalance(orderInfo.getAmount(), mallMember.getId()); orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayTime(new Date()); orderInfo.setPayMethod("积分支付"); orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayResult("1"); this.baseMapper.updateById(orderInfo); return orderInfo.getOrderNo(); } src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data @@ -33,7 +34,7 @@ private String avatar; @ApiModelProperty(value = "余额") private String balance; private BigDecimal balance; @ApiModelProperty(value = "代理等级") private String levelName; src/main/resources/mapper/modules/MallMemberWalletMapper.xml
@@ -8,8 +8,8 @@ <update id="updateBalanceWithVersion"> update mall_member_wallet set REVISION = REVISION + 1, set revision = revision + 1, balance = #{record.balance} where id=#{record.id} and REVISION=#{record.REVISION} where id=#{record.id} and revision=#{record.revision} </update> </mapper>