diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/CuMemberBankParam.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/CuMemberBankParam.java index 5227641b..5d279b30 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/CuMemberBankParam.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/dto/CuMemberBankParam.java @@ -1,6 +1,5 @@ package com.hzs.member.account.dto; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -8,12 +7,7 @@ import lombok.NoArgsConstructor; import java.io.Serializable; /** - *

* 会员信息-银行卡信息 - *

- * - * @author hzs - * @since 2022-08-31 */ @Data @AllArgsConstructor diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IWithdrawalAutoServiceApi.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IWithdrawalAutoServiceApi.java deleted file mode 100644 index 5f37d4d4..00000000 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/IWithdrawalAutoServiceApi.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hzs.system.config; - -import com.hzs.common.core.domain.R; -import com.hzs.common.domain.system.config.BdWithdrawalAuto; - -import java.util.List; - -/** - * @description: 根据国家查询自动提现明细api - * @author: zhang jing - * @date: 2022/9/27 15:15 - * @param: - * @return: - **/ -public interface IWithdrawalAutoServiceApi { - - /** - * @description:根据国家查询自动提现明细列表 - * @author: zhang jing - * @date: 2022/9/27 15:20 - * @param: [pkCountry] - * @return: com.hzs.common.core.domain.R> - **/ - R> queryWithdrawalAuto(Integer pkCountry); -} diff --git a/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/IBankCardServiceApi.java b/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/IBankCardServiceApi.java index c7b4af3d..8fd94acc 100644 --- a/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/IBankCardServiceApi.java +++ b/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/IBankCardServiceApi.java @@ -5,20 +5,15 @@ import com.hzs.third.bankcard.dto.BankCardParam; /** * 银行卡四要素认证 - * - * @Description: - * @Author: ljc - * @Time: 2023/2/9 14:04 - * @Classname: BankCardService - * @Package_name: com.hzs.third.bankCard */ public interface IBankCardServiceApi { + /** * 银行卡四要素验证 * * @param bankCardParam 银行卡入参 * @return R */ - R verifyBankCard(BankCardParam bankCardParam); + R verifyBankCard(BankCardParam bankCardParam); } diff --git a/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/dto/BankCardParam.java b/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/dto/BankCardParam.java index f48d6f49..73d08e91 100644 --- a/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/dto/BankCardParam.java +++ b/bd-api/bd-api-third/src/main/java/com/hzs/third/bankcard/dto/BankCardParam.java @@ -9,12 +9,6 @@ import java.io.Serializable; /** * 银行卡校验参数 - * - * @Description: - * @Author: ljc - * @Time: 2022/11/24 18:19 - * @Classname: BankCardVO - * @Package_name: com.hz.bankCard.vo */ @Data @Builder @@ -38,6 +32,7 @@ public class BankCardParam implements Serializable { * 手机号 */ private String mobile; + /** * 银行卡号 */ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberBankController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberBankController.java index b1ef7107..8ea43881 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberBankController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberBankController.java @@ -2,21 +2,14 @@ package com.hzs.member.account.controller.api; import cn.hutool.core.collection.CollUtil; import com.hzs.common.core.annotation.RepeatSubmitSimple; -import com.hzs.common.core.constant.CountryConstants; -import com.hzs.common.core.constant.msg.FinanceMsgConstants; import com.hzs.common.core.domain.R; -import com.hzs.common.core.enums.EBusinessModule; -import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.member.account.CuMemberBank; -import com.hzs.common.domain.system.config.BdTradeWhiteConfig; import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.common.util.TransactionUtils; import com.hzs.member.account.dto.CuMemberBankParam; import com.hzs.member.account.service.ICuMemberBankService; -import com.hzs.member.account.service.ICuMemberBaseService; import com.hzs.member.account.service.ICuMemberWithdrawService; import com.hzs.member.account.vo.CuMemberBankVO; import com.hzs.member.sms.service.IApiAliSmsService; @@ -37,184 +30,144 @@ import java.util.List; public class ApiCuMemberBankController extends BaseController { @Autowired - private ICuMemberBankService cuMemberBankService; + private ICuMemberBankService iCuMemberBankService; @Autowired - private ICuMemberBaseService iCuMemberBaseService; - @Autowired - private ICuMemberWithdrawService cuMemberWithdrawService; + private ICuMemberWithdrawService iCuMemberWithdrawService; @Autowired private IApiAliSmsService iApiAliSmsService; @DubboReference - IBankCardServiceApi bankCardServiceApi; - + IBankCardServiceApi iBankCardServiceApi; /** - * 是否绑定银行卡 - * - * @return AjaxResult + * 银行卡列表 */ - @GetMapping("/is-bind") - public AjaxResult isBindBank() { + @GetMapping("/list") + public AjaxResult getBankCardList() { Long pkMember = SecurityUtils.getUserId(); Integer pkCountry = SecurityUtils.getPkCountry(); - CuMemberBankVO cuMemberBank = cuMemberBankService.isBindBank(pkMember, pkCountry); - String flag = null == cuMemberBank.getDefaultCard() ? EYesNo.NO.getValue() : EYesNo.YES.getValue(); - return AjaxResult.success().put("flag", flag); - } - - /** - * 解绑银行卡 - * - * @return AjaxResult - */ - @GetMapping("/unbind-bank") - public AjaxResult unbindBank(Long pkId) { - Assert.notNull(pkId, TransactionUtils.getContent(FinanceMsgConstants.BANK_CARD_CANNOT_EMPTY)); - Integer pkCountry = SecurityUtils.getPkCountry(); - Long pkMember = SecurityUtils.getUserId(); - //查询默认银行卡 - CuMemberBankVO cuMemberBankVO = cuMemberBankService.selectCuMemberBankById(pkId); - //解绑默认银行卡需校验是否有进行的提现 - if (null != cuMemberBankVO) { - List pkIds = cuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember); - if (CollUtil.isNotEmpty(pkIds)) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_APPROVAL)); - } - - } - return AjaxResult.success(cuMemberBankService.unbindBank(pkId, pkMember)); - } - - - /** - * 校验开户名 - * - * @param accountName 开户名 - * @return AjaxResult - */ - @GetMapping("/check-account-name") - public AjaxResult checkAccountName(String accountName) { - Assert.notNull(accountName, TransactionUtils.getContent(FinanceMsgConstants.ACCOUNT_NAME_CANNOT_EMPTY)); - String memberCode = SecurityUtils.getMemberCode(); - String flag = memberCode.equals(accountName) ? EYesNo.YES.getValue() : EYesNo.NO.getValue(); - return AjaxResult.success().put("flag", flag); + return AjaxResult.success(iCuMemberBankService.selectBankCardByPkMember(pkMember, pkCountry)); } /** * 银行卡四要素验证 - * - * @param memberBankParam 银行卡信息 - * @return AjaxResult */ @PostMapping("/verify-bank-card") public AjaxResult verifyBankCard(@RequestBody CuMemberBankParam memberBankParam) { - BankCardParam bankCard = BankCardParam.builder().name(memberBankParam.getAccountName()) - .idCard(memberBankParam.getIdCard()).mobile(memberBankParam.getPhone()) - .bankCard(StringUtils.deleteWhitespace(memberBankParam.getCardNumber())).build(); - R result = bankCardServiceApi.verifyBankCard(bankCard); + if (StringUtils.isEmpty(memberBankParam.getCardNumber())) { + return AjaxResult.error("银行卡号不能为空!"); + } + if (StringUtils.isEmpty(memberBankParam.getIdCard())) { + return AjaxResult.error("身份证号码不能为空!"); + } + if (StringUtils.isEmpty(memberBankParam.getAccountName())) { + return AjaxResult.error("开户姓名不能为空!"); + } + if (StringUtils.isEmpty(memberBankParam.getPhone())) { + return AjaxResult.error("手机号不能为空!"); + } + + BankCardParam bankCard = BankCardParam.builder() + .name(memberBankParam.getAccountName()) + .idCard(memberBankParam.getIdCard()) + .mobile(memberBankParam.getPhone()) + .bankCard(StringUtils.deleteWhitespace(memberBankParam.getCardNumber())) + .build(); + R result = iBankCardServiceApi.verifyBankCard(bankCard); return result.isSuccess() ? AjaxResult.success() : AjaxResult.error(result.getMsg()); - } - /** * 绑定银行卡 - * - * @param cuMemberBankParam 银行卡入参 - * @return AjaxResult */ @PostMapping("/add") @RepeatSubmitSimple public AjaxResult addBankInfo(@RequestBody CuMemberBankParam cuMemberBankParam) { Integer pkCountry = SecurityUtils.getPkCountry(); Long pkMember = SecurityUtils.getUserId(); - //是否配置提现白名单 - String configWhite = getConfigWhite(pkCountry, pkMember); - //海外不校验验证码、四要素 国内配置了提现白名单不校验 - if (pkCountry.equals(CountryConstants.CHINA_COUNTRY) && configWhite.equals(EYesNo.NO.getValue())) { - String verificationCode = cuMemberBankParam.getVerificationCode(); - if (StringUtils.isEmpty(verificationCode)) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.VERIFICATION_CODE_CANNOT_EMPTY)); - } - //支行名称 - String subBankName = cuMemberBankParam.getSubBankName(); - if (StringUtils.isEmpty(subBankName)) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.OPENING_BRANCH_CANNOT_EMPTY)); - } - //银行卡号去空格 - String cardNumber = cuMemberBankParam.getCardNumber(); - cuMemberBankParam.setCardNumber(StringUtils.deleteWhitespace(cardNumber)); - String message = iApiAliSmsService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null, pkMember); - if (null != message) { - return AjaxResult.error(message); - } + if (null == cuMemberBankParam.getPkBank()) { + return AjaxResult.error("银行名称不能为空"); } + if (StringUtils.isEmpty(cuMemberBankParam.getSubBankName())) { + return AjaxResult.error("开户支行不能为空"); + } + if (StringUtils.isEmpty(cuMemberBankParam.getCardNumber())) { + return AjaxResult.error("银行卡号不能为空!"); + } + if (StringUtils.isEmpty(cuMemberBankParam.getAccountName())) { + return AjaxResult.error("开户姓名不能为空!"); + } + if (StringUtils.isEmpty(cuMemberBankParam.getIdCard())) { + return AjaxResult.error("证件号码不能为空!"); + } + if (StringUtils.isEmpty(cuMemberBankParam.getPhone())) { + return AjaxResult.error("联系方式不能为空!"); + } + String verificationCode = cuMemberBankParam.getVerificationCode(); + if (StringUtils.isEmpty(verificationCode)) { + return AjaxResult.error("验证码不能为空!"); + } + String message = iApiAliSmsService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null, pkMember); + if (null != message) { + return AjaxResult.error(message); + } + + // 银行卡号去空格 + String cardNumber = cuMemberBankParam.getCardNumber(); + cuMemberBankParam.setCardNumber(StringUtils.deleteWhitespace(cardNumber)); cuMemberBankParam.setPkCountry(pkCountry); cuMemberBankParam.setPkMember(pkMember); - return toAjax(cuMemberBankService.saveMemberBank(cuMemberBankParam)); + return toAjax(iCuMemberBankService.saveMemberBank(cuMemberBankParam)); } - - @GetMapping("/list") - public AjaxResult getBankCardList() { - Long pkMember = SecurityUtils.getUserId(); + /** + * 解绑银行卡 + */ + @GetMapping("/unbind-bank") + public AjaxResult unbindBank(Long pkId) { + Assert.notNull(pkId, "银行卡号不能为空!"); Integer pkCountry = SecurityUtils.getPkCountry(); - return AjaxResult.success(cuMemberBankService.selectBankCardByPkMember(pkMember, pkCountry)); - } - - @GetMapping("/default-bank") - public AjaxResult getDefaultBankCard() { Long pkMember = SecurityUtils.getUserId(); - Integer pkCountry = SecurityUtils.getPkCountry(); - return AjaxResult.success(cuMemberBankService.isBindBank(pkMember, pkCountry)); + // 查询默认银行卡 + CuMemberBankVO cuMemberBankVO = iCuMemberBankService.selectCuMemberBankById(pkId); + // 解绑默认银行卡需校验是否有进行的提现 + if (null != cuMemberBankVO) { + List pkIds = iCuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember); + if (CollUtil.isNotEmpty(pkIds)) { + return AjaxResult.error("提现正在审批中,请稍后再试"); + } + } + return AjaxResult.success(iCuMemberBankService.unbindBank(pkId, pkMember)); } /** * 修改默认银行卡 - * - * @param pkId ID - * @return AjaxResult */ @GetMapping("/update-default") public AjaxResult updateDefault(Long pkId) { Long pkMember = SecurityUtils.getUserId(); Integer pkCountry = SecurityUtils.getPkCountry(); - //查询银行卡 - CuMemberBank cuMemberBank = cuMemberBankService.getById(pkId); - //解绑默认银行卡需校验是否有进行的提现 + // 查询银行卡 + CuMemberBank cuMemberBank = iCuMemberBankService.getById(pkId); + // 解绑默认银行卡需校验是否有进行的提现 if (null != cuMemberBank) { - List pkIds = cuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember); + List pkIds = iCuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember); if (CollUtil.isNotEmpty(pkIds)) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_APPROVAL)); + return AjaxResult.error("提现正在审批中,请稍后再试"); } } - return toAjax(cuMemberBankService.updateDefault(pkId, pkMember, pkCountry)); - } - - - /** - * 查询是否设置提现白名单 - * - * @return AjaxResult - */ - @GetMapping("/is-white-list") - public AjaxResult isWhiteList() { - String flag = getConfigWhite(SecurityUtils.getPkCountry(), SecurityUtils.getUserId()); - return AjaxResult.success().put("flag", flag); + return toAjax(iCuMemberBankService.updateDefault(pkId, pkMember, pkCountry)); } /** - * 查询提现白名单配置 - * - * @param pkCountry 国家ID - * @param pkMember 会员ID - * @return String + * 默认银行卡 */ - private String getConfigWhite(Integer pkCountry, Long pkMember) { - BdTradeWhiteConfig bdTradeWhiteConfig = iCuMemberBaseService.selectConfigWhite(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue()); - return null == bdTradeWhiteConfig ? EYesNo.NO.getValue() : EYesNo.YES.getValue(); + @GetMapping("/default-bank") + public AjaxResult getDefaultBankCard() { + Long pkMember = SecurityUtils.getUserId(); + Integer pkCountry = SecurityUtils.getPkCountry(); + return AjaxResult.success(iCuMemberBankService.isBindBank(pkMember, pkCountry)); } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberWithdrawController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberWithdrawController.java index 44b469c1..aa2f7c9e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberWithdrawController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberWithdrawController.java @@ -2,7 +2,6 @@ package com.hzs.member.account.controller.api; import cn.hutool.core.collection.CollUtil; import com.hzs.common.core.annotation.RepeatSubmitSimple; -import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.MemberFieldConstants; import com.hzs.common.core.constant.msg.FinanceMsgConstants; @@ -48,26 +47,20 @@ import java.util.List; public class ApiCuMemberWithdrawController extends BaseController { @Autowired - ICuMemberBankService cuMemberBankService; - + private ICuMemberBankService iCuMemberBankService; @Autowired - ICuMemberService cuMemberService; + private ICuMemberService iCuMemberService; + @Autowired + private ICuMemberBaseService iCuMemberBaseService; + @Autowired + private ICuMemberAccountService iCuMemberAccountService; + @Autowired + private ICuMemberWithdrawService iCuMemberWithdrawService; @DubboReference - IWithdrawalServiceApi withdrawalServiceApi; - - @Autowired - ICuMemberBaseService baseService; - - @Autowired - ICuMemberAccountService cuMemberAccountService; - - @Autowired - ICuMemberWithdrawService cuMemberWithdrawService; - - + IWithdrawalServiceApi iWithdrawalServiceApi; @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; /** * 提现时展示信息 @@ -85,18 +78,18 @@ public class ApiCuMemberWithdrawController extends BaseController { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_WITHDRAWAL_AMOUNT)); } //提现配置信息 - BdWithdrawal bdWithdrawal = withdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData(); + BdWithdrawal bdWithdrawal = iWithdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData(); if (null == bdWithdrawal) { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.CONFIGURE_WITHDRAWAL_INFO)); } - CuMemberAccount cuMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(pkMember); - Integer accountValue = baseService.getAccountValueById(pkAccount); + CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember); + Integer accountValue = iCuMemberBaseService.getAccountValueById(pkAccount); //余额 BigDecimal balance = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.ACCOUNT + accountValue); //可用金额 BigDecimal availableBalance = getAvailableBalance(accountValue, cuMemberAccount); //手续费金额 - BigDecimal serviceChargeAmount = accountValue.equals(EAccount.BONUS.getValue()) ? cuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount) : BigDecimal.ZERO; + BigDecimal serviceChargeAmount = accountValue.equals(EAccount.BONUS.getValue()) ? iCuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount) : BigDecimal.ZERO; CuMemberWithdrawalAddVO cuMemberWithdrawalAddVO = CuMemberWithdrawalAddVO.builder() .minAmount(bdWithdrawal.getMinAmount()).maxAmount(bdWithdrawal.getMaxAmount()) @@ -111,90 +104,88 @@ public class ApiCuMemberWithdrawController extends BaseController { * @param cuMemberWithdrawParam 提现入参 * @return AjaxResult */ - @PostMapping("/add") @RepeatSubmitSimple + @PostMapping("/add") public AjaxResult addWithdrawInfo(@RequestBody CuMemberWithdrawParam cuMemberWithdrawParam) { Integer pkCountry = SecurityUtils.getPkCountry(); Long pkMember = SecurityUtils.getUserId(); String memberCode = SecurityUtils.getMemberCode(); - CuMemberExt cuMemberLoginExt = cuMemberService.getMemberByCode(memberCode); + CuMemberExt cuMemberLoginExt = iCuMemberService.getMemberById(pkMember); if (null == cuMemberLoginExt) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.RECHAGER_USER_NOT_EXIST)); + return AjaxResult.error("会员不存在,请核对后再操作!"); } //获取银行卡信息 -// Long pkBank = cuMemberWithdrawParam.getPkBank(); -// CuMemberBankVO memberBank = cuMemberBankService.selectCuMemberBankById(pkBank); -// if (null == memberBank) { -// return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BIND_BANK_CARD)); -// } + Long pkBank = cuMemberWithdrawParam.getPkBank(); + CuMemberBankVO memberBank = iCuMemberBankService.selectCuMemberBankById(pkBank); + if (null == memberBank) { + return AjaxResult.error("请绑定银行卡"); + } //校验支付密码 String payPwd = cuMemberLoginExt.getPayPwd(); if (StringUtils.isEmpty(payPwd) || !SecurityUtils.matchesPassword(cuMemberWithdrawParam.getPayPwd(), payPwd)) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.PAYMENT_PASSWORD_ERROR)); + return AjaxResult.error("支付密码错误!"); } - //查询提现账户 Integer pkAccount = cuMemberWithdrawParam.getPkAccount(); if (null == pkAccount) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECT_WITHDRAWAL_ACCOUNT)); + return AjaxResult.error("请选择提现账户"); } - Integer accountsType = baseService.getAccountValueById(pkAccount); + Integer accountsType = iCuMemberBaseService.getAccountValueById(pkAccount); - if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) { - //结算等级为1 (目前是会员)不允许提现 - GradeDTO gradeDTO = gradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), pkCountry).getData(); - if (cuMemberLoginExt.getPkSettleGrade().equals(gradeDTO.getPkId())) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.NOT_WITHDRAWAL_UPGRADE)); - } - //校验是否实名 - Boolean existRealName = baseService.isExistRealName(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue()); - if (!existRealName) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.REAL_NAME_NOT_EXIST)); - } + // 结算等级为1 (目前是会员)不允许提现 + GradeDTO gradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), pkCountry).getData(); + if (cuMemberLoginExt.getPkSettleGrade().equals(gradeDTO.getPkId())) { + return AjaxResult.error("暂时不请允许提现,请先升级"); } + // 校验是否实名 + Boolean existRealName = iCuMemberBaseService.isExistRealName(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue()); + if (!existRealName) { + return AjaxResult.error("请先实名认证"); + } + //查询账户信息 - CuMemberAccount cuMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(pkMember); + CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember); //是否可提现 Integer isWithdraw = cuMemberAccount.getIsWithdraw(); //不允许提现 if (isWithdraw.equals(EYesNo.NO.getIntValue())) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.NOT_ALLOWED_WITHDRAWAL)); + return AjaxResult.error("不允许提现"); } //提现配置信息 - BdWithdrawal bdWithdrawal = withdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData(); + BdWithdrawal bdWithdrawal = iWithdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData(); //提现次数 Integer withdrawalNumber = bdWithdrawal.getWithdrawalNumber(); // 只能发起配置项次数待审核提现 必须通过或者驳回之后才能发起下一笔 - List memberWithdraws = cuMemberWithdrawService.getWithdrawTimes(pkMember); + List memberWithdraws = iCuMemberWithdrawService.getWithdrawTimes(pkMember); if (CollUtil.isNotEmpty(memberWithdraws) && memberWithdraws.size() >= withdrawalNumber) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.EXCEEDING_WITHDRAWALS_NUMBER)); + return AjaxResult.error("超过提现次数"); } //提现金额校验 BigDecimal minAmount = bdWithdrawal.getMinAmount(); BigDecimal maxAmount = bdWithdrawal.getMaxAmount(); if (null == minAmount || null == maxAmount) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.CONFIGURE_WITHDRAWAL_AMOUNT_LIMIT)); + return AjaxResult.error("请配置提现金额限制"); } BigDecimal cashAmount = cuMemberWithdrawParam.getCashAmount(); if (null == cashAmount) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_WITHDRAWAL_AMOUNT)); + return AjaxResult.error("请输入提现金额"); } //提现金额是否输入整数值 Integer isRounding = bdWithdrawal.getIsRounding(); if (isRounding.equals(EYesNo.YES.getIntValue()) && Boolean.TRUE.equals(!isIntegerValue(cashAmount))) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_INTEGER_VALUE)); + return AjaxResult.error("请输入整数值"); } - if (null != cashAmount && cashAmount.compareTo(minAmount) < 0) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_AMOUNT_GREATER_MINIMUM_AMOUNT)); + if (cashAmount.compareTo(minAmount) < 0) { + return AjaxResult.error("提现金额必须大于最低提现金额"); } - if (null != cashAmount && cashAmount.compareTo(maxAmount) > 0) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_AMOUNT_LESS_MAXIMUM_AMOUNT)); + if (cashAmount.compareTo(maxAmount) > 0) { + return AjaxResult.error("提现金额必须小于最高提现金额"); } //校验倍数 - if (pkCountry.equals(CountryConstants.CHINA_COUNTRY) && !remainder(cashAmount)) { - return AjaxResult.error(FinanceMsgConstants.WITHDRAW_AMOUNT_MULTIPLE); + if (!remainder(cashAmount)) { + return AjaxResult.error("提现金额必须为100的整数倍"); } //本次应缴个税 BigDecimal payIncomeTax = BigDecimal.ZERO; @@ -206,42 +197,48 @@ public class ApiCuMemberWithdrawController extends BaseController { //奖金账户余额(兼容奖金账户奖金余额小于可提现金额时) if (accountsType.equals(EAccount.BONUS.getValue())) { //账户余额 - BigDecimal accountBalance = cuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount); + BigDecimal accountBalance = iCuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount); //可提现余额 BigDecimal balance = getAvailableBalance(accountsType, cuMemberAccount); //余额不足 if (balance.compareTo(cashAmount) < 0 || accountBalance.compareTo(cashAmount) < 0) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BALANCE_NOT_ENOUGH)); + return AjaxResult.error("余额不足"); } //奖金账户个税、手续费根据配置、其它用户暂不收取 //本次应缴个税 - payIncomeTax = cuMemberWithdrawService.computeIncomeTaxValue(pkMember, cashAmount, pkCountry, minAmount); + payIncomeTax = iCuMemberWithdrawService.computeIncomeTaxValue(pkMember, cashAmount, pkCountry, minAmount); //手续费金额 - serviceChargeAmount = cuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount); + serviceChargeAmount = iCuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount); issuedAmount = cashAmount.subtract(payIncomeTax).subtract(serviceChargeAmount); } else { //其它用户的余额 BigDecimal balance = getAvailableBalance(accountsType, cuMemberAccount); //余额不足 if (balance.compareTo(cashAmount) < 0) { - return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BALANCE_NOT_ENOUGH)); + return AjaxResult.error("余额不足"); } } String code = CommonUtil.createSerialNumber(EOrderPrefix.WITHDRAWAL_CODE.getValue()); //汇率 - CurrencyDTO currencyDTO = baseService.getCurrency(pkCountry); + CurrencyDTO currencyDTO = iCuMemberBaseService.getCurrency(pkCountry); - CuMemberWithdraw cuMemberWithdraw = CuMemberWithdraw.builder().pkMember(pkMember) -// .pkAccount(pkAccount).pkBank(pkBank).remarks(cuMemberWithdrawParam.getRemarks()) - .pkAccount(pkAccount).pkBank(0L).remarks(cuMemberWithdrawParam.getRemarks()) - .pkRate(currencyDTO.getPkId()).cashAmount(cashAmount) - .serviceCharge(serviceChargeAmount).incomeTax(payIncomeTax) - .issuedAmount(issuedAmount).withdrawCode(code).build(); + CuMemberWithdraw cuMemberWithdraw = CuMemberWithdraw.builder() + .pkMember(pkMember) + .pkAccount(pkAccount) + .pkBank(pkBank) + .remarks(cuMemberWithdrawParam.getRemarks()) + .pkRate(currencyDTO.getPkId()) + .cashAmount(cashAmount) + .serviceCharge(serviceChargeAmount) + .incomeTax(payIncomeTax) + .issuedAmount(issuedAmount) + .withdrawCode(code) + .build(); cuMemberWithdraw.setApproveState(EApproveStatus.WAIT_SUBMIT.getValue()); cuMemberWithdraw.setDelFlag(EDelFlag.UN_DELETE.getValue()); cuMemberWithdraw.setPkCountry(pkCountry); cuMemberWithdraw.setPkCreator(pkMember); - return toAjax(cuMemberWithdrawService.saveMemberWithdrawInfo(cuMemberWithdraw)); + return toAjax(iCuMemberWithdrawService.saveMemberWithdrawInfo(cuMemberWithdraw)); } @@ -259,7 +256,6 @@ public class ApiCuMemberWithdrawController extends BaseController { return Boolean.FALSE; } - /** * 获取余额 * @@ -278,7 +274,7 @@ public class ApiCuMemberWithdrawController extends BaseController { } } else { //其它配置账户余额 - balance = cuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount); + balance = iCuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount); } return balance; } @@ -309,7 +305,7 @@ public class ApiCuMemberWithdrawController extends BaseController { @GetMapping("/list-detail") public TableDataInfo memberWithdrawDetail() { startPage(); - Object[] objects = cuMemberWithdrawService.selectMemberWithdrawListByPkMember(SecurityUtils.getUserId(), SecurityUtils.getPkCountry()); + Object[] objects = iCuMemberWithdrawService.selectMemberWithdrawListByPkMember(SecurityUtils.getUserId(), SecurityUtils.getPkCountry()); //处理分页 TableDataInfo tableDataInfo = getDataTable((List) objects[0]); tableDataInfo.setRows((List) objects[1]); @@ -318,13 +314,12 @@ public class ApiCuMemberWithdrawController extends BaseController { @GetMapping("/cancel") public AjaxResult cancelMemberWithdrawD(Long pkId) { - CuMemberWithdraw cuMemberWithdraw = cuMemberWithdrawService.getById(pkId); + CuMemberWithdraw cuMemberWithdraw = iCuMemberWithdrawService.getById(pkId); if (cuMemberWithdraw.getApproveState().equals(EApproveStatus.WAIT_SUBMIT.getValue()) && cuMemberWithdraw.getStatus().equals(EWithdrawStatus.NORMAL.getValue())) { - return toAjax(cuMemberWithdrawService.updateWithdrawStatusByPkId(pkId, SecurityUtils.getUserId())); + return toAjax(iCuMemberWithdrawService.updateWithdrawStatusByPkId(pkId, SecurityUtils.getUserId())); } else { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_NOT_CANCEL)); } } - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java index f2936c8c..62a47e47 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java @@ -117,7 +117,7 @@ public class CuMemberWithdrawController extends BaseController { } /** - * 充值明细列表导出 + * 明细列表导出 * * @param response 入参 * @param cuMemberWithdrawVO 查询入参 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/dto/CuMemberWithdrawParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/dto/CuMemberWithdrawParam.java index 4a48ef7c..fa9c2a95 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/dto/CuMemberWithdrawParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/dto/CuMemberWithdrawParam.java @@ -8,13 +8,8 @@ import java.io.Serializable; import java.math.BigDecimal; /** - * @Description: 提现参数类 - * @Author: ljc - * @Time: 2022/9/27 15:32 - * @Classname: CuMemberWithdrawParam - * @Package_name: com.hzs.member.account.param + * 提现参数类 */ - @Data @AllArgsConstructor @NoArgsConstructor diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberBankMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberBankMapper.java index abc10cb1..01179f2d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberBankMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberBankMapper.java @@ -8,14 +8,10 @@ import org.apache.ibatis.annotations.Param; import java.util.List; /** - *

* 会员信息-银行卡信息 Mapper 接口 - *

- * - * @author hzs - * @since 2022-08-31 */ public interface CuMemberBankMapper extends BaseMapper { + /** * 根据会员批量重置银行卡 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberBankServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberBankServiceImpl.java index b7ffdf00..5dbb16d5 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberBankServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberBankServiceImpl.java @@ -1,8 +1,8 @@ package com.hzs.member.account.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.enums.EBankCardStatus; import com.hzs.common.core.enums.EDefault; @@ -20,56 +20,44 @@ import java.util.Date; import java.util.List; /** - *

* 会员信息-银行卡信息 服务实现类 - *

- * - * @author hzs - * @since 2022-08-31 */ @Service public class CuMemberBankServiceImpl extends ServiceImpl implements ICuMemberBankService { - @Override public CuMemberBankVO selectCuMemberBankById(Long pkId) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_ID", pkId); - queryWrapper.eq("DEFAULT_CARD", EDefault.YES.getValue()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberBank::getPkId, pkId); + queryWrapper.eq(CuMemberBank::getDefaultCard, EDefault.YES.getValue()); CuMemberBank cuMemberBank = this.getOne(queryWrapper); return cuMemberBank == null ? null : BeanUtil.copyProperties(cuMemberBank, CuMemberBankVO.class); } - @Override public CuMemberBankVO isBindBank(Long pkMember, Integer pkCountry) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", pkCountry); - queryWrapper.eq("PK_MEMBER", pkMember); - queryWrapper.eq("DEFAULT_CARD", EDefault.YES.getValue()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberBank::getPkCountry, pkCountry); + queryWrapper.eq(CuMemberBank::getPkMember, pkMember); + queryWrapper.eq(CuMemberBank::getDefaultCard, EDefault.YES.getValue()); return BeanUtil.copyProperties(this.getOne(queryWrapper), CuMemberBankVO.class); } - @Override public Boolean unbindBank(Long pkId, Long pkMember) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()) - .set("MODIFIED_TIME", new Date()) - .set("PK_MODIFIED", pkMember) - .eq("PK_ID", pkId); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMemberBank::getDelFlag, EDelFlag.DELETE.getValue()) + .set(CuMemberBank::getModifiedTime, new Date()) + .set(CuMemberBank::getPkModified, pkMember) + .eq(CuMemberBank::getPkId, pkId); return update(updateWrapper); } @Override public Integer saveMemberBank(CuMemberBankParam cuMemberBankParam) { - CuMemberBank cuMemberBank = new CuMemberBank(); - BeanUtil.copyProperties(cuMemberBankParam, cuMemberBank); - //是否绑定银行卡 - Long pkMember = cuMemberBankParam.getPkMember(); - Integer pkCountry = cuMemberBankParam.getPkCountry(); - CuMemberBankVO bindCard = isBindBank(pkMember, pkCountry); + CuMemberBankVO bindCard = isBindBank(cuMemberBankParam.getPkMember(), cuMemberBankParam.getPkCountry()); int isDefault = null != bindCard.getDefaultCard() ? EBankCardStatus.NO.getValue() : EBankCardStatus.YES.getValue(); + CuMemberBank cuMemberBank = BeanUtil.copyProperties(cuMemberBankParam, CuMemberBank.class); cuMemberBank.setDefaultCard(isDefault); cuMemberBank.setPkCreator(cuMemberBankParam.getPkMember()); return baseMapper.insert(cuMemberBank); @@ -80,29 +68,19 @@ public class CuMemberBankServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("DEFAULT_CARD", EBankCardStatus.YES.getValue()).eq("PK_ID", pkId); - return update(updateWrapper); - } + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMemberBank::getDefaultCard, EBankCardStatus.NO.getValue()) + .eq(CuMemberBank::getDefaultCard, EBankCardStatus.YES.getValue()) + .eq(CuMemberBank::getPkMember, pkMember) + .eq(CuMemberBank::getPkCountry, pkCountry); - /** - * 绑定的银行卡更新为非默认 - * - * @param pkMember 会员ID - * @param pkCountry 国家ID - * @return Boolean - */ - public Boolean updateMemberBankCardToDefault(Long pkMember, Integer pkCountry) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("DEFAULT_CARD", EBankCardStatus.NO.getValue()) - .eq("DEFAULT_CARD", EBankCardStatus.YES.getValue()) - .eq("PK_MEMBER", pkMember) - .eq("PK_COUNTRY", pkCountry); - return update(updateWrapper); + LambdaUpdateWrapper newUpdateWrapper = new LambdaUpdateWrapper<>(); + newUpdateWrapper.set(CuMemberBank::getDefaultCard, EBankCardStatus.YES.getValue()) + .eq(CuMemberBank::getPkId, pkId); + return update(newUpdateWrapper); } @Override diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java index e07972bc..ea11c7b0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java @@ -8,7 +8,6 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.MemberFieldConstants; import com.hzs.common.core.domain.R; @@ -20,8 +19,6 @@ import com.hzs.common.domain.member.account.CuMemberAccount; import com.hzs.common.domain.member.account.CuMemberTrade; import com.hzs.common.domain.member.account.CuMemberWithdraw; import com.hzs.common.domain.member.account.CuMemberWithdrawExt; -import com.hzs.common.domain.member.base.CuMember; -import com.hzs.common.domain.member.ext.CuMemberAccountExt; import com.hzs.common.domain.system.config.*; import com.hzs.common.domain.system.config.ext.BdWithdrawalTaxExt; import com.hzs.common.security.utils.SecurityUtils; @@ -31,15 +28,11 @@ import com.hzs.member.account.dto.MemberAccountAudit; import com.hzs.member.account.mapper.CuMemberWithdrawMapper; import com.hzs.member.account.param.CuMemberWithdrawRejectParam; import com.hzs.member.account.service.*; -import com.hzs.member.account.vo.CuMemberBankVO; import com.hzs.member.account.vo.CuMemberPetitionVO; import com.hzs.member.account.vo.CuMemberTradeVO; import com.hzs.member.account.vo.CuMemberWithdrawVO; -import com.hzs.member.base.service.ICuMemberService; import com.hzs.system.base.dto.CurrencyDTO; -import com.hzs.system.config.IWithdrawalAutoServiceApi; import com.hzs.system.config.IWithdrawalProcessServiceApi; -import com.hzs.system.config.IWithdrawalServiceApi; import com.hzs.system.config.IWithdrawalTaxServiceApi; import com.hzs.system.sys.IApprovalServiceApi; import com.hzs.system.sys.dto.ApprovalSubmitDTO; @@ -53,8 +46,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.time.DayOfWeek; -import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -71,16 +62,10 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl selectWithdrawByBatch(String batchNO) { //根据单号查询充值信息 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("BATCH", batchNO); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CuMemberWithdraw::getBatch, batchNO); return baseMapper.selectList(queryWrapper); } @@ -126,8 +111,10 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl cuMemberAccountExts, List bdAccounts, Integer accountsType, Integer pkCountry) { - //会员ID 银行卡ID - Long pkMember; - Long pkBank; - //余额 锁定金额 - BigDecimal balance; - //最高自动提现金额 - BigDecimal upperBound = withdrawal.getUpperBound(); - //最低自动提现金额 - BigDecimal lowerBound = withdrawal.getLowerBound(); - //配置文件中的提现次数 - Integer withdrawalNumber = withdrawal.getWithdrawalNumber(); - if (CollUtil.isNotEmpty(cuMemberAccountExts)) { - //查询每个会员正在参与审核的次数 - List withdrawTimesByPkCountry = baseMapper.getWithdrawTimesByPkCountry(pkCountry); - Map withdrawTimes = withdrawTimesByPkCountry.stream().collect(Collectors.toMap(CuMemberWithdrawExt::getPkMember, CuMemberWithdrawExt::getTimes)); - //汇率 - CurrencyDTO currencyDTO = iCuMemberBaseService.getCurrency(pkCountry); - for (CuMemberAccountExt cuMemberAccountExt : cuMemberAccountExts) { - pkBank = cuMemberAccountExt.getPkBank(); - //是否绑定银行卡 - CuMemberBankVO memberBank = iCuMemberBankService.selectCuMemberBankById(pkBank); - log.info("----------是否绑定银行卡"); - if (null != memberBank) { - log.info("----------绑定银行卡"); - pkMember = cuMemberAccountExt.getPkMember(); - //获取余额 - balance = getAvailableBalance(accountsType, cuMemberAccountExt); - //是否取整 - balance = computeRounding(withdrawal, balance); - // 提现金额在配置金额之间 - if (balance.compareTo(lowerBound) > 0 && balance.compareTo(upperBound) < 0) { - log.info("----------提现开始"); - int times = withdrawTimes.get(pkMember) == null ? 0 : withdrawTimes.get(pkMember); - //比较正在提现次数与配置的最大提现次数 - if (times <= withdrawalNumber) { - //本次应缴个税 - BigDecimal payIncomeTax = computeIncomeTaxValue(pkMember, balance, pkCountry, lowerBound); - //手续费金额 - BigDecimal serviceChargeAmount = computeServiceCharge(pkCountry, balance); - BigDecimal issuedAmount = balance.subtract(payIncomeTax).subtract(serviceChargeAmount); - String code = CommonUtil.createSerialNumber(EOrderPrefix.WITHDRAWAL_CODE.getValue()); - CuMember member = iCuMemberService.getMember(pkMember); - String remarks = member.getMemberCode() + "自动申请提现" + balance.toString(); - CuMemberWithdraw cuMemberWithdraw = CuMemberWithdraw.builder().pkMember(pkMember) - .pkAccount(bdAccounts.get(0).getPkId()).pkBank(pkBank) - .pkRate(currencyDTO.getPkId()).cashAmount(balance) - .serviceCharge(serviceChargeAmount).incomeTax(payIncomeTax) - .issuedAmount(issuedAmount).withdrawCode(code).remarks(remarks).build(); - cuMemberWithdraw.setApproveState(EApproveStatus.WAIT_SUBMIT.getValue()); - cuMemberWithdraw.setDelFlag(EDelFlag.UN_DELETE.getValue()); - cuMemberWithdraw.setPkCountry(pkCountry); - cuMemberWithdraw.setPkCreator(pkMember); - //保存提现、交易流水、余额信息 - baseMapper.insert(cuMemberWithdraw); - this.updateTradeAndBalancd(cuMemberWithdraw, EOperationMethod.INSERT); - } - } - } - } - } - } - - /** - * 获取余额 - * - * @param accountsType 账户值 - * @param cuMemberAccount 账户信息 - * @return BigDecimal - */ - private BigDecimal getAvailableBalance(Integer accountsType, CuMemberAccount cuMemberAccount) { - //账户余额 - BigDecimal accountBalance = getAccountBalance(accountsType, cuMemberAccount); - //可提现账户余额 - BigDecimal withdrawBalance = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.WITHDRAW_ACCOUNT + accountsType); - withdrawBalance = withdrawBalance == null ? BigDecimal.ZERO : withdrawBalance; - BigDecimal lockAccount = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.LOCK_WITHDRAW_ACCOUNT + accountsType); - if (null != lockAccount && lockAccount.compareTo(BigDecimal.ZERO) > 0) { - withdrawBalance = withdrawBalance.subtract(lockAccount); - } - //取最小余额 - return accountBalance.compareTo(withdrawBalance) < 0 ? accountBalance : withdrawBalance; - } - /** * 获取账户余额 * @@ -431,28 +325,6 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl listR = iWithdrawalAutoServiceApi.queryWithdrawalAuto(pkCountry).getData(); - for (BdWithdrawalAuto withdrawalAuto : listR) { - Integer withdrawalCycle = withdrawalAuto.getWithdrawalCycle(); - if (dayOfWeekNum.equals(withdrawalCycle)) { - return true; - } - } - return false; - } - @Override public BigDecimal computeIncomeTaxValue(Long pkMember, BigDecimal cashAmount, Integer pkCountry, BigDecimal minAmount) { //获取个税配置 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberBankVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberBankVO.java index afcaece0..3c091dd1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberBankVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberBankVO.java @@ -1,28 +1,21 @@ package com.hzs.member.account.vo; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.hzs.common.core.annotation.Transaction; import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + import java.io.Serializable; /** * 会员银行卡VO - * @Description: - * @Author: ljc - * @Time: 2023/2/9 15:31 - * @Classname: CuMemberBankVO - * @Package_name: com.hzs.member.account.vo */ @Data @AllArgsConstructor @NoArgsConstructor public class CuMemberBankVO implements Serializable { - /** * 银行主键 */ @@ -66,5 +59,5 @@ public class CuMemberBankVO implements Serializable { /** * logo图片 */ - private String logo; + private String logo; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberWithdrawVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberWithdrawVO.java index a44b50df..5b2b6a35 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberWithdrawVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/vo/CuMemberWithdrawVO.java @@ -114,7 +114,6 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO { /** * 汇率 */ - @Excel(name = "汇率", scale = 4) @BigDecimalFormat("#0.0000") private BigDecimal exchangeRate; @@ -153,13 +152,11 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO { /** * 开户支行省 */ - @Excel(name = "开户支行省") private String accountProvince; /** * 开户支行市 */ - @Excel(name = "开户支行市") private String accountCity; /** @@ -178,12 +175,10 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO { * 有效期起始日期 */ @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "有效期起始日期", width = 30, dateFormat = "yyyy-MM-dd") private Date validStartDate; /** * 有效期截止日期 */ - @Excel(name = "有效期截止日期") private String validEndDate; /** diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberBankMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberBankMapper.xml index be1f6585..cc24ffcd 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberBankMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberBankMapper.xml @@ -4,27 +4,27 @@ - - - - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -37,22 +37,22 @@ diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml index 51b418c5..6a3fce4f 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml @@ -385,9 +385,7 @@ AND cmw.status != 3 AND cmw.pk_country = #{pkCountry} AND cmw.pk_member = #{pkMember} - AND cmw.approve_state IN (1 - , 2 - , 3) + AND cmw.approve_state IN (1, 2, 3) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java index 775d54e6..a4d53051 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java @@ -4,21 +4,16 @@ import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.system.sys.dto.LoginUser; /** - * @Description: 撤单的service - * @Author: sui q - * @Time: 2022/10/27 10:49 - * @Classname: ISaOrderRevokeService - * @PackageName: com.hzs.sale.order.service + * 撤单的service */ public interface ISaOrderRevokeService { /** * 撤销订单 - * @param saOrder 需要销售的订单信息 + * + * @param saOrder 需要销售的订单信息 * @param loginUser 登录用户 - * @return: void - * @Author: sui q - * @Date: 2022/10/27 10:51 - */ + */ void revokeSaOrder(SaOrder saOrder, LoginUser loginUser); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java index b3b219ed..1c4c8623 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java @@ -1,10 +1,8 @@ package com.hzs.sale.order.service.impl; import cn.hutool.json.JSONUtil; -import com.google.gson.JsonObject; import com.hzs.common.core.enums.EApprovalBusiness; import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.security.utils.SecurityUtils; import com.hzs.sale.order.service.ISaOrderRevokeService; import com.hzs.system.sys.IApprovalServiceApi; import com.hzs.system.sys.dto.ApprovalSubmitDTO; @@ -13,17 +11,13 @@ import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; /** - * @Description: 撤单逻辑类 - * @Author: sui q - * @Time: 2022/10/27 10:50 - * @Classname: SaOrderRevokeServiceImpl - * @PackageName: com.hzs.sale.order.service.impl + * 撤单逻辑类 */ @Service public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService { @DubboReference - private IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; @Override public void revokeSaOrder(SaOrder saOrder, LoginUser loginUser) { @@ -32,6 +26,6 @@ public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService { .businessCode(saOrder.getOrderCode()) .businessData(JSONUtil.toJsonStr(saOrder)) .build(); - approvalServiceApi.submit(approvalSubmitDTO, loginUser); + iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java index cfa78b6c..bb27ce5d 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.config.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.config.BdWithdrawalAuto; /** - *

* 自动提现明细表 Mapper 接口 - *

- * - * @author zhangjing - * @since 2022-08-31 */ public interface BdWithdrawalAutoMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java deleted file mode 100644 index c418d8bb..00000000 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hzs.system.config.provider; - -import com.hzs.common.core.domain.R; -import com.hzs.common.domain.system.config.BdWithdrawalAuto; -import com.hzs.system.config.IWithdrawalAutoServiceApi; -import com.hzs.system.config.service.IBdWithdrawalAutoService; -import org.apache.dubbo.config.annotation.DubboService; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * @Description: 提现配置的dubbo服务类 - * @Author: zhang jing - * @Time: 2022/9/9 14:11 - * @Classname: GradeServiceProvider - * @PackageName: com.hzs.system.config.provider - */ -@DubboService -public class WithdrawalAutoServiceProvider implements IWithdrawalAutoServiceApi { - - @Autowired - private IBdWithdrawalAutoService withdrawalAutoService; - - /** - * @description: 根据国家查询自动提现明细列表 - * @author: zhang jing - * @date: 2022/9/27 15:20 - * @param: [pkCountry] - * @return: com.hzs.common.core.domain.R> - **/ - @Override - public R> queryWithdrawalAuto(Integer pkCountry) { - return R.ok(withdrawalAutoService.queryWithdrawalAuto(pkCountry)); - } -} diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java index be845d0b..71db90d2 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java @@ -3,12 +3,9 @@ package com.hzs.system.config.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.system.config.BdWithdrawalAuto; -import java.util.List; - /** * 自动提现明细表 服务类 */ public interface IBdWithdrawalAutoService extends IService { - List queryWithdrawalAuto(Integer pkCountry); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java index 3380313e..500ef592 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java @@ -1,25 +1,15 @@ package com.hzs.system.config.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.domain.system.config.BdWithdrawalAuto; import com.hzs.system.config.mapper.BdWithdrawalAutoMapper; import com.hzs.system.config.service.IBdWithdrawalAutoService; import org.springframework.stereotype.Service; -import java.util.List; - /** * 自动提现明细表 服务实现类 */ @Service public class BdWithdrawalAutoServiceImpl extends ServiceImpl implements IBdWithdrawalAutoService { - @Override - public List queryWithdrawalAuto(Integer pkCountry) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BdWithdrawalAuto::getPkCountry, pkCountry); - return baseMapper.selectList(queryWrapper); - } - } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java index d5f146cc..34d27964 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java @@ -13,19 +13,13 @@ import java.util.List; /** * 交易配置 - * - * @Description: - * @Author: ljc - * @Time: 2023/8/18 11:14 - * @Classname: BdTradeConfigVO - * @Package_name: com.hzs.system.config.vo */ @Data @AllArgsConstructor @NoArgsConstructor public class BdTradeConfigVO implements Serializable { - private static final long serialVersionUID = 3674157609077134529L; + private static final long serialVersionUID = 3674157609077134529L; private Integer pkId; @@ -42,7 +36,6 @@ public class BdTradeConfigVO implements Serializable { /** * 1:提现 2:转账 (来源枚举EBusinessModule) */ - @Transaction(transactionKey = EnumsPrefixConstants.BUSINESS_MODULE) private Integer businessModule; private String businessModuleVal; diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index 8b64b4a7..638170ef 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -346,6 +346,7 @@ public class EnumsController extends BaseController { } return AjaxResult.success(enumEntityList); } + /** * 单个批量枚举 * @@ -2343,15 +2344,6 @@ public class EnumsController extends BaseController { return AjaxResult.success(enumEntityList); } - @GetMapping("/get-grant-way") - public AjaxResult getGrantWay() { - List enumEntityList = new ArrayList<>(); - for (EGrantWay value : EGrantWay.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.GRANT_WAY_TYPE)); - } - return AjaxResult.success(enumEntityList); - } - /** * 数据类型(安置) @@ -2448,7 +2440,7 @@ public class EnumsController extends BaseController { public AjaxResult businessModule() { List enumEntityList = new ArrayList<>(); for (EBusinessModule value : EBusinessModule.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BUSINESS_MODULE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java index a48b5deb..b3d97581 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java @@ -90,7 +90,7 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - // 等级枚举枚举 + // 等级枚举枚举 for (EGrade value : EGrade.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); } @@ -587,11 +587,6 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - // 交易配置 业务类型 - for (EBusinessModule value : EBusinessModule.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } - // 点位状态 for (EPointStatus value : EPointStatus.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml index 4f67ce1b..9404d999 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml @@ -2,27 +2,4 @@ - - - - - - - - - - - - - - - DEL_FLAG, - PK_COUNTRY, - PK_CREATOR, - CREATION_TIME, - PK_MODIFIED, - MODIFIED_TIME, - PK_ID, PK_WITHDRAWAL, LOWER_BOUND, UPPER_BOUND - - diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index d3adcd4f..e69d7990 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -816,11 +816,6 @@ public class EnumsPrefixConstants { */ public static final String RATIO_TYPE = "ENU_R_T_"; - /** - * 抽奖奖品发放方式 - */ - public static final String GRANT_WAY_TYPE = "GRANT_WAY_TYPE_"; - /** * 数据类型(业绩查询) */ @@ -831,11 +826,6 @@ public class EnumsPrefixConstants { */ public static final String RECOMMEND_DADA_TYPE = "ENU_R_D_T_"; - /** - * 交易配置 业务类型 - */ - public static final String BUSINESS_MODULE = "ENU_B_M_"; - /** * 点位状态 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java index 27824c19..c12444c0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java @@ -125,11 +125,6 @@ public class FinanceMsgConstants { */ public static final String RECHAGER_IMPOR_CODE_ERROR = "编号导入有误,请核对!"; - /** - * 导入的编号未支付,请核对! -- 导入的编号未支付,请核对! - */ - public static final String RECHAGER_NO_PAY = "导入的编号未支付,请核对!"; - /** * 钱包明细导出 -- 钱包明细导出 */ @@ -198,56 +193,16 @@ public class FinanceMsgConstants { */ public static final String CONFIGURE_WITHDRAWAL_INFO = "请配置提现信息"; - /** - * 请绑定银行卡 -- 请绑定银行卡 - */ - public static final String BIND_BANK_CARD = "请绑定银行卡"; - - /** - * 暂时不请允许提现,请先升级 -- 暂时不请允许提现,请先升级 - */ - public static final String NOT_WITHDRAWAL_UPGRADE = "暂时不请允许提现,请先升级"; - /** * 请选择提现账户 -- 请选择提现账户 */ public static final String SELECT_WITHDRAWAL_ACCOUNT = "请选择提现账户"; - /** - * 不允许提现 -- 不允许提现 - */ - public static final String NOT_ALLOWED_WITHDRAWAL = "不允许提现"; - - /** - * 超过提现次数 -- 超过提现次数 - */ - public static final String EXCEEDING_WITHDRAWALS_NUMBER = "超过提现次数"; - - /** - * 请配置提现金额限制 -- 请配置提现金额限制 - */ - public static final String CONFIGURE_WITHDRAWAL_AMOUNT_LIMIT = "请配置提现金额限制"; - /** * 请输入提现金额 -- 请输入提现金额 */ public static final String ENTER_WITHDRAWAL_AMOUNT = "请输入提现金额"; - /** - * 请输入整数值 -- 请输入整数值 - */ - public static final String ENTER_INTEGER_VALUE = "请输入整数值"; - - /** - * 提现金额必须大于最低提现金额 -- 提现金额必须大于最低提现金额 - */ - public static final String WITHDRAWAL_AMOUNT_GREATER_MINIMUM_AMOUNT = "提现金额必须大于最低提现金额"; - - /** - * 提现金额必须小于最高提现金额 -- 提现金额必须小于最高提现金额 - */ - public static final String WITHDRAWAL_AMOUNT_LESS_MAXIMUM_AMOUNT = "提现金额必须小于最高提现金额"; - /** * 余额不足 -- 余额不足 */ @@ -263,18 +218,11 @@ public class FinanceMsgConstants { */ public static final String TRANSFER_OUT_ACCOUNT_NOT_EMPTY = "请选择要转出的账户"; - /** - * 转账金额有误 -- 转账金额有误 - */ - public static final String INCORRECT_TRANSFER_AMOUNT = "转账金额有误"; - - /** * 转账金额不能低于0且小数位数最多只能有2位 */ public static final String INCORRECT_TRANSFER_AMOUNT_SCALE = "转账金额不能低于0且小数位数最多只能有2位"; - /** * 请配置转账配置 -- 请配置转账配置 */ @@ -293,11 +241,6 @@ public class FinanceMsgConstants { */ public static final String NOT_ALLOWED_TRANSFER = "该账号不允许转账"; - /** - * 请先实名认证 -- 请先实名认证 - */ - public static final String REAL_NAME_NOT_EXIST = "请先实名认证"; - /** * 实名认证的真实姓名与营业执照的法人姓名是不一致 -- 法人姓名与实名认证的真实姓名不一致 */ @@ -331,26 +274,11 @@ public class FinanceMsgConstants { */ public static final String RECHARGE_DETAILS_EXPORT = "充值明细导出"; - /** - * 银行卡号不能为空 -- 银行卡号不能为空! - */ - public static final String BANK_CARD_CANNOT_EMPTY = "银行卡号不能为空!"; - - /** - * 开户名不能为空 -- 开户名不能为空! - */ - public static final String ACCOUNT_NAME_CANNOT_EMPTY = "开户名不能为空!"; - /** * 验证码不能为空 -- 验证码不能为空! */ public static final String VERIFICATION_CODE_CANNOT_EMPTY = "验证码不能为空!"; - /** - * 开户支行不能为空 -- 开户支行不能为空! - */ - public static final String OPENING_BRANCH_CANNOT_EMPTY = "开户支行不能为空!"; - /** * 开户支行不能为空 -- 真实姓名不能为空! */ @@ -444,16 +372,6 @@ public class FinanceMsgConstants { */ public static final String BUSINESS_LICENSE_REFUSE_RESET = "营业执照审核未通过,请勿操作重置"; - /** - * 提现正在审批中,请稍后再试 -- 提现正在审批中,请稍后再试 - */ - public static final String WITHDRAWAL_APPROVAL = "提现正在审批中,请稍后再试"; - - /** - * 提现金额必须为100的整数倍 - */ - public static final String WITHDRAW_AMOUNT_MULTIPLE = "提现金额必须为100的整数倍"; - /** * 身份证的图片地址不能为空 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBankCardStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBankCardStatus.java index 61c190f4..410f9701 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBankCardStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBankCardStatus.java @@ -5,12 +5,6 @@ import lombok.Getter; /** * 银行卡默认状态 - * - * @Description: - * @Author: ljc - * @Time: 2023/2/9 15:14 - * @Classname: EBankCardStatus - * @Package_name: com.hzs.common.core.enums */ @Getter @AllArgsConstructor diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBusinessModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBusinessModule.java index 91130611..801297d0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBusinessModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EBusinessModule.java @@ -1,17 +1,10 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; /** * 交易配置 业务类型 - * - * @Description: - * @Author: ljc - * @Time: 2023/8/18 10:01 - * @Classname: EBusinessModule - * @Package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter @@ -20,11 +13,11 @@ public enum EBusinessModule { /** * 1=提现 */ - WITHDRAWAL(1, "提现", 0, EnumsPrefixConstants.BUSINESS_MODULE + "1"), + WITHDRAWAL(1, "提现", 0), /** * 2=转账 */ - TRANSFER_ACCOUNTS(2, "转账", 0, EnumsPrefixConstants.BUSINESS_MODULE + "2"), + TRANSFER_ACCOUNTS(2, "转账", 0), ; @@ -40,9 +33,5 @@ public enum EBusinessModule { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrantWay.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrantWay.java deleted file mode 100644 index afc00e92..00000000 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrantWay.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hzs.common.core.enums; - -import com.hzs.common.core.constant.EnumsPrefixConstants; -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * @Description: - * @Author: yuhui - * @Time: 2023/5/15 10:57 - * @Classname: EGrantWay - * @PackageName: com.hzs.common.core.enums - */ -@AllArgsConstructor -@Getter -public enum EGrantWay { - /** - * 商品展示 - */ - TYPE_0(0, "实物", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "0"), - - TYPE_1(1, "消费账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "1"), - - TYPE_2(2, "现金账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "2"), - - TYPE_6(6, "积分账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "6"), - - TYPE_8(8, "复购券", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "8"), - - TYPE_11(11, "直播代金券", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "11"); - - - /** - * 实际值 - */ - private final int value; - /** - * 显示标签 - */ - private final String label; - /** - * 是否启用(0=是,1=否) -- 来源EYesNo - */ - private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; -} diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java index eb961803..4b3bf74e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java @@ -11,12 +11,7 @@ import lombok.experimental.Accessors; import java.util.Date; /** - *

* 会员信息-银行卡信息 - *

- * - * @author hzs - * @since 2022-08-31 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java index a7d2b632..063b2071 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java @@ -12,12 +12,7 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; /** - *

* 自动提现明细表 - *

- * - * @author zhangjing - * @since 2022-08-31 */ @Data @EqualsAndHashCode(callSuper = true) @@ -47,5 +42,4 @@ public class BdWithdrawalAuto extends BaseEntity { private Integer withdrawalCycle; - } diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java b/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java deleted file mode 100644 index 01228656..00000000 --- a/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hzs.third.bankcard.common; - -import lombok.Data; - -/** - * 银行卡验证返回状态 - * - * @Description: - * @Author: ljc - * @Time: 2022/11/25 10:42 - * @Classname: HttpConstant - * @Package_name: com.hz.bankCard.common - */ -@Data -public class HttpConstant { - /** - * 一致 - */ - public static final String BANK_CARD_SAME = "1200"; - /** - * 不一致 - */ - public static final String BANK_CARD_DIFFERENT = "1201"; - - - /** - * 银行卡状态错误 - */ - public static final String BANK_CARD_STATUS_EEOR = "1203"; - - /** - * 验证失败 - */ - public static final String BANK_CARD_FAIL = "1206"; - - - /** - * 验证错误 - */ - public static final String BANK_CARD_EEOR = "1206"; - -} diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java b/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java index 6fa5497c..6ea29dfe 100644 --- a/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java +++ b/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java @@ -4,29 +4,21 @@ import com.hzs.common.core.domain.R; import com.hzs.common.core.utils.StringUtils; import com.hzs.third.bankcard.IBankCardServiceApi; import com.hzs.third.bankcard.dto.BankCardParam; -import com.hzs.third.bankcard.service.BankCardService; +import com.hzs.third.bankcard.service.IBankCardService; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; /** * 银行卡四要素验证服务 - * - * @Description: - * @Author: ljc - * @Time: 2023/2/9 9:05 - * @Classname: BankCardValidateProvider - * @Package_name: com.hzs.third.bankCard.provider */ - @DubboService public class BankCardValidateProvider implements IBankCardServiceApi { @Autowired - BankCardService bankCardService; + private IBankCardService IBankCardService; @Override - public R verifyBankCard(BankCardParam bankCardParam) { - + public R verifyBankCard(BankCardParam bankCardParam) { if (StringUtils.isEmpty(bankCardParam.getIdCard())) { return R.fail("身份证号码不能为空!"); } @@ -36,12 +28,10 @@ public class BankCardValidateProvider implements IBankCardServiceApi { if (StringUtils.isEmpty(bankCardParam.getMobile())) { return R.fail("手机号不能为空!"); } - if (StringUtils.isEmpty(bankCardParam.getBankCard())) { return R.fail("银行卡号不能为空!"); } - return bankCardService.verifyBankCard(bankCardParam); + return IBankCardService.verifyBankCard(bankCardParam); } - } diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java b/bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java similarity index 55% rename from bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java rename to bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java index d799a331..bf98d7a7 100644 --- a/bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java +++ b/bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java @@ -5,14 +5,8 @@ import com.hzs.third.bankcard.dto.BankCardParam; /** * 银行卡验证接口 - * - * @Description: - * @Author: ljc - * @Time: 2022/11/24 18:03 - * @Classname: BankCardService - * @Package_name: com.hz.bankCard.service.impl */ -public interface BankCardService { +public interface IBankCardService { /** * 银行卡四要素校验 @@ -20,5 +14,6 @@ public interface BankCardService { * @param bankCardParam 入参 * @return BankCardVO */ - R verifyBankCard(BankCardParam bankCardParam); + R verifyBankCard(BankCardParam bankCardParam); + } diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java b/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java deleted file mode 100644 index e046de5e..00000000 --- a/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.hzs.third.bankcard.service.impl; - - -import cn.hutool.http.Header; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.hzs.common.core.constant.HttpStatus; -import com.hzs.common.core.domain.R; -import com.hzs.third.bankcard.common.HttpConstant; -import com.hzs.third.bankcard.dto.BankCardParam; -import com.hzs.third.bankcard.service.BankCardService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import java.util.HashMap; -import java.util.Map; - -/** - * 银行卡验证接口 - * - * @Description: - * @Author: ljc - * @Time: 2022/11/24 18:14 - * @Classname: BankCardServiceImpl - * @Package_name: com.hz.bankCard.service.impl - */ -@Slf4j -@Service -public class BankCardServiceImpl implements BankCardService { - - @Value("${bankCard.url}") - private String url; - @Value("${bankCard.appKey}") - private String appKey; - @Value("${bankCard.appCode}") - private String appCode; - - @Override - public R verifyBankCard(BankCardParam bankCardParam) { - String authorization = "APPCODE " + appCode; - HttpResponse response = HttpRequest.post(url) - .header(Header.AUTHORIZATION, authorization) - .header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8") - .form(getInParam(bankCardParam)) - .timeout(20000) - .execute(); - return parseResult(response, bankCardParam); - } - - - /** - * 解析返回的结果集 - *

- * 1200 银行卡验证一致 收费 - * 1201 银行卡验证不一致 收费 - * 1203 银行卡状态错误 收费 - * 1206 验证失败 免费 - * - * @param response 响应信息 - * @return bankCardVO - */ - private R parseResult(HttpResponse response, BankCardParam bankCardParam) { - String result = response.body(); - log.info("调用接口返回信息: " + result); - if (response.getStatus() == HttpStatus.SUCCESS) { - JsonObject resultJson = JsonParser.parseString(result).getAsJsonObject(); - //状态码 - String code = resultJson.get("code").getAsString(); - //返回信息 - String message = resultJson.get("message").getAsString(); - if (code.equals(HttpConstant.BANK_CARD_SAME)) { - return R.ok(); - } else { - log.info("银行卡四要素校验接口正常返回状态值: {},信息为: {}", code, message); - return R.fail(message); - } - } else { - String message = "认证失败"; - log.info("银行卡四要素校验接口异常返回状态值: {},信息为: {}", response.getStatus(), message); - return R.fail(message); - } - } - - /** - * 获取入参 - * - * @param bankCardParam 银行卡入参 - * @return String - */ - private Map getInParam(BankCardParam bankCardParam) { - JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("name", bankCardParam.getName()); - jsonObject.addProperty("mobile", bankCardParam.getMobile()); - jsonObject.addProperty("bankcard", bankCardParam.getBankCard()); - jsonObject.addProperty("idcard", bankCardParam.getIdCard()); - Map param = new HashMap<>(); - param.put("biz_content", jsonObject.toString()); - return param; - } -} diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/IBankCardServiceImpl.java b/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/IBankCardServiceImpl.java new file mode 100644 index 00000000..d48f3dd2 --- /dev/null +++ b/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/IBankCardServiceImpl.java @@ -0,0 +1,83 @@ +package com.hzs.third.bankcard.service.impl; + +import cn.hutool.http.Header; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.hzs.common.core.constant.HttpStatus; +import com.hzs.common.core.domain.R; +import com.hzs.third.bankcard.dto.BankCardParam; +import com.hzs.third.bankcard.service.IBankCardService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * 银行卡验证接口 + */ +@Slf4j +@Service +public class IBankCardServiceImpl implements IBankCardService { + + @Value("${bankCard.url}") + private String url; + @Value("${bankCard.appKey}") + private String appKey; + @Value("${bankCard.appCode}") + private String appCode; + + @Override + public R verifyBankCard(BankCardParam bankCardParam) { + Map param = new HashMap<>(); + param.put("bankcard", bankCardParam.getBankCard()); + param.put("idcard", bankCardParam.getIdCard()); + param.put("name", bankCardParam.getName()); + param.put("mobile", bankCardParam.getMobile()); + + HttpResponse response = HttpRequest.post(url) + .header(Header.AUTHORIZATION, "APPCODE " + appCode) + .header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8") + .form(param) + .timeout(10000) + .execute(); + return parseResult(response); + } + + /** + * 解析返回的结果集 + */ + private R parseResult(HttpResponse response) { + String result = response.body(); + log.info("调用银行卡认证接口返回信息: " + result); + + if (HttpStatus.SUCCESS == response.getStatus()) { + JSONObject resultObj = JSONUtil.parseObj(result); + if ("200".equals(resultObj.getStr("code"))) { + // 返回成功 + JSONObject dataObj = resultObj.getJSONObject("data"); + int resultInt = dataObj.getInt("result"); + if (resultInt == 0) { + // 一致 + return R.ok(); + } else if (resultInt == 1) { + // 不一致 + return R.fail("银行卡预留信息不一致,请确认后重试"); + } else { + // 查不到卡信息 + return R.fail("银行卡信息不存在,请确认银行卡是否有效"); + } + } else { + // 返回失败 + return R.fail(resultObj.getStr("msg")); + } + } else { + log.error("调用银行卡认证接口失败"); + return R.fail("银行卡认证失败,请重试"); + } + } + +} diff --git a/bd-third/src/main/java/com/hzs/third/express/service/impl/ExpressServiceImpl.java b/bd-third/src/main/java/com/hzs/third/express/service/impl/ExpressServiceImpl.java index c194b376..88def8ca 100644 --- a/bd-third/src/main/java/com/hzs/third/express/service/impl/ExpressServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/express/service/impl/ExpressServiceImpl.java @@ -20,12 +20,8 @@ import java.util.List; import java.util.Map; /** - * @Description: 快递100 - * @Author: ljc - * @Date: 2022/8/24 14:38 - * @Version:1.0 + * 快递100 */ - @Service @Slf4j public class ExpressServiceImpl implements IExpressService { @@ -33,7 +29,6 @@ public class ExpressServiceImpl implements IExpressService { @Autowired private ExpressConfig expressConfig; - @Override public R expressTrackInfo(String trackingNumber, String mobile) { String customer = expressConfig.getCustomer(); @@ -41,7 +36,6 @@ public class ExpressServiceImpl implements IExpressService { String url = expressConfig.getUrl(); QueryTrackParam queryTrackParam = new QueryTrackParam(); - // queryTrackParam.setCom("JD"); queryTrackParam.setNum(trackingNumber); queryTrackParam.setPhone(mobile); String param = new Gson().toJson(queryTrackParam); @@ -119,10 +113,9 @@ public class ExpressServiceImpl implements IExpressService { * @return String */ private String querySign(String param, String key, String customer) { - StringBuilder sb = new StringBuilder(); - sb.append(param); - sb.append(key); - sb.append(customer); - return sign(sb.toString()); + String sb = param + + key + + customer; + return sign(sb); } }