用户提现-第三方支付提现,功能完善

This commit is contained in:
pikachu1995@126.com
2023-03-01 10:59:27 +08:00
parent 17734e7a3d
commit 5ee07ec34d
20 changed files with 276 additions and 188 deletions

View File

@@ -9,12 +9,18 @@ import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.system.entity.dos.Setting;
import cn.lili.modules.system.entity.dto.WithdrawalSetting;
import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.entity.vo.WithdrawalSettingVO;
import cn.lili.modules.system.service.SettingService;
import cn.lili.modules.verification.entity.enums.VerificationEnums;
import cn.lili.modules.verification.service.VerificationService;
import cn.lili.modules.wallet.entity.dos.MemberWallet;
import cn.lili.modules.wallet.entity.vo.MemberWalletVO;
import cn.lili.modules.wallet.service.MemberWalletService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.gson.Gson;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -24,7 +30,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;
/**
@@ -54,6 +59,9 @@ public class MemberWalletBuyerController {
@Autowired
private VerificationService verificationService;
@Autowired
private SettingService settingService;
@GetMapping
@ApiOperation(value = "查询会员预存款余额")
public ResultMessage<MemberWalletVO> get() {
@@ -64,6 +72,31 @@ public class MemberWalletBuyerController {
throw new ServiceException(ResultCode.USER_NOT_LOGIN);
}
@GetMapping(value = "/withdrawalSettingVO")
@ApiOperation(value = "获取提现设置VO")
public ResultMessage<Object> minPrice() {
Setting setting = settingService.get(SettingEnum.WITHDRAWAL_SETTING.name());
WithdrawalSetting withdrawalSetting = new Gson().fromJson(setting.getSettingValue(), WithdrawalSetting.class);
WithdrawalSettingVO withdrawalSettingVO = new WithdrawalSettingVO();
withdrawalSettingVO.setMinPrice(withdrawalSetting.getMinPrice());
withdrawalSettingVO.setFee(withdrawalSetting.getFee());
withdrawalSettingVO.setType(withdrawalSetting.getType());
return ResultUtil.data(withdrawalSettingVO);
}
@PreventDuplicateSubmissions
@PostMapping(value = "/withdrawal")
@ApiOperation(value = "会员中心余额提现")
@ApiImplicitParams({
@ApiImplicitParam(name = "price", value = "提现金额", required = true, dataType = "double", paramType = "query"),
@ApiImplicitParam(name = "realName", value = "真实姓名", required = true, dataType = "String", paramType = "query"),
@ApiImplicitParam(name = "connectNumber", value = "第三方登录账号", required = true, dataType = "String", paramType = "query")
})
public ResultMessage<Boolean> withdrawal(@Max(value = 9999, message = "充值金额单次最多允许提现9999元") Double price, @RequestParam String realName, @RequestParam String connectNumber) {
return ResultUtil.data(memberWalletService.applyWithdrawal(price, realName, connectNumber));
}
@PostMapping(value = "/set-password")
@ApiOperation(value = "设置支付密码")
@ApiImplicitParams({
@@ -120,15 +153,4 @@ public class MemberWalletBuyerController {
return memberWalletService.checkPassword();
}
@PreventDuplicateSubmissions
@PostMapping(value = "/withdrawal")
@ApiOperation(value = "会员中心余额提现")
@ApiImplicitParams({
@ApiImplicitParam(name = "price", value = "提现金额", required = true, dataType = "double", paramType = "query")
})
public ResultMessage<Boolean> withdrawal(@Max(value = 9999, message = "充值金额单次最多允许提现9999元") @Min(value = 1, message = "充值金额单次最少提现金额为1元") Double price) {
return ResultUtil.data(memberWalletService.applyWithdrawal(price));
}
}