From cf321e6808c036bdd70279534d158f21e36c819b Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Wed, 28 Jun 2023 10:33:50 +0800 Subject: [PATCH] update --- .../pile/AdapayMemberController.java | 17 ++++++++++- .../com/jsowell/adapay/dto/WithdrawDTO.java | 18 ++++++++++++ .../adapay/service/AdapayMemberService.java | 28 +++++++++++++++++++ .../impl/AdapayMemberAccountServiceImpl.java | 3 ++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/adapay/dto/WithdrawDTO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java index 695033c9c..977a37b02 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java @@ -5,6 +5,7 @@ import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.adapay.dto.AdapayMemberInfoDTO; import com.jsowell.adapay.dto.CreateSettleAccountDTO; import com.jsowell.adapay.dto.UpdateAccountConfigDTO; +import com.jsowell.adapay.dto.WithdrawDTO; import com.jsowell.adapay.service.AdapayMemberService; import com.jsowell.adapay.vo.AdapayAccountBalanceVO; import com.jsowell.common.core.controller.BaseController; @@ -117,5 +118,19 @@ public class AdapayMemberController extends BaseController { return result; } - + /** + * 提现接口 + */ + @PostMapping("/withdraw") + public AjaxResult withdraw(@RequestBody WithdrawDTO dto) { + AjaxResult result; + try { + adapayMemberService.withdraw(dto); + result = AjaxResult.success(); + } catch (BaseAdaPayException e) { + logger.error("提现接口 error", e); + result = AjaxResult.error(); + } + return result; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/dto/WithdrawDTO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/WithdrawDTO.java new file mode 100644 index 000000000..4bc6a1c99 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/WithdrawDTO.java @@ -0,0 +1,18 @@ +package com.jsowell.adapay.dto; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class WithdrawDTO { + // 运营商id + private String merchantId; + + // 提现金额 + private String cashAmt; + + +} diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java index 81957d19a..25ac56753 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java @@ -5,16 +5,19 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.model.CorpMember; +import com.huifu.adapay.model.Drawcash; import com.huifu.adapay.model.Member; import com.huifu.adapay.model.SettleAccount; import com.jsowell.adapay.dto.CreateSettleAccountDTO; import com.jsowell.adapay.dto.UpdateAccountConfigDTO; +import com.jsowell.adapay.dto.WithdrawDTO; import com.jsowell.adapay.response.QueryMemberResponse; import com.jsowell.adapay.vo.AdapayAccountBalanceVO; import com.jsowell.adapay.vo.AdapayMemberInfoVO; import com.jsowell.adapay.vo.AdapaySettleAccountVO; import com.jsowell.common.constant.Constants; import com.jsowell.common.exception.BusinessException; +import com.jsowell.common.util.AdapayUtil; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.AdapayMemberAccount; @@ -60,6 +63,7 @@ public class AdapayMemberService { public void createMember(CreateSettleAccountDTO dto) throws Exception { AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(dto.getMerchantId()); if (adapayMemberAccount != null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", dto.getMerchantId()); return; } log.info("=======execute CreateMember begin======="); @@ -144,6 +148,7 @@ public class AdapayMemberService { Map map = Maps.newHashMap(); AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId); if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", merchantId); return null; } @@ -241,6 +246,7 @@ public class AdapayMemberService { // 通过merchantId 查询出汇付会员id 和 结算账户id,用来查询余额 AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId); if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", merchantId); return vo; } String settle_account_id = adapayMemberAccount.getSettleAccountId(); @@ -270,6 +276,7 @@ public class AdapayMemberService { // 通过merchantId 查询出汇付会员id 和 结算账户id,用来查询余额 AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(dto.getMerchantId()); if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", dto.getMerchantId()); return; } // 修改账户配置 @@ -329,4 +336,25 @@ public class AdapayMemberService { } + public void withdraw(WithdrawDTO dto) throws BaseAdaPayException { + // 通过merchantId 查询出汇付会员id 和 结算账户id,用来查询余额 + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(dto.getMerchantId()); + if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", dto.getMerchantId()); + return; + } + Map settleCountParams = Maps.newHashMap(); + + settleCountParams.put("order_no", "jsdk_payment_" + System.currentTimeMillis()); + settleCountParams.put("cash_amt", AdapayUtil.formatAmount(dto.getCashAmt())); + settleCountParams.put("member_id", adapayMemberAccount.getAdapayMemberId()); + settleCountParams.put("app_id", ADAPAY_APP_ID); + settleCountParams.put("settle_account_id", adapayMemberAccount.getSettleAccountId()); + settleCountParams.put("cash_type", "T1"); + settleCountParams.put("notify_url", ""); + + log.info("取现接口,请求参数:" + JSON.toJSONString(settleCountParams)); + Map settleCount = Drawcash.create(settleCountParams); + log.info("取现接口返回参数" + JSON.toJSONString(settleCount)); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index e4c13f8b5..d5135dbbf 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -8,6 +8,7 @@ import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.mapper.AdapayMemberAccountMapper; import com.jsowell.pile.service.IAdapayMemberAccountService; import com.jsowell.pile.service.IPileStationInfoService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import java.util.List; * @author jsowell * @date 2023-06-15 */ +@Slf4j @Service public class AdapayMemberAccountServiceImpl implements IAdapayMemberAccountService { @Autowired @@ -119,6 +121,7 @@ public class AdapayMemberAccountServiceImpl implements IAdapayMemberAccountServi } AdapayMemberAccount adapayMemberAccount = selectByMerchantId(pileStationInfo.getMerchantId() + ""); if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", pileStationInfo.getMerchantId()); return null; } return adapayMemberAccount.getAdapayMemberId();