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 081cc6db3..1778bfca7 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 @@ -3,7 +3,7 @@ package com.jsowell.web.controller.pile; import com.alibaba.fastjson2.JSON; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.adapay.dto.AdapayMemberInfoDTO; -import com.jsowell.adapay.dto.CreateSettleAccountDTO; +import com.jsowell.adapay.dto.SettleAccountDTO; import com.jsowell.adapay.dto.UpdateAccountConfigDTO; import com.jsowell.adapay.dto.WithdrawDTO; import com.jsowell.adapay.service.AdapayMemberService; @@ -35,7 +35,7 @@ public class AdapayMemberController extends BaseController { * @return */ @PostMapping("/createSettleAccount") - public AjaxResult createSettleAccount(@RequestBody CreateSettleAccountDTO dto) { + public AjaxResult createSettleAccount(@RequestBody SettleAccountDTO dto) { logger.info("创建结算账户接口 param:{}", JSON.toJSONString(dto)); AjaxResult result; try { @@ -76,6 +76,29 @@ public class AdapayMemberController extends BaseController { return result; } + /** + * 更新结算账户接口 + * http://localhost:8080/adapay/member/updateAdapayMember + */ + @PostMapping("/updateAdapayMember") + public AjaxResult updateAdapayMember(@RequestBody SettleAccountDTO dto) { + AjaxResult result; + try { + if (StringUtils.isBlank(dto.getMerchantId())) { + throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR); + } + Map map = adapayMemberService.updateAdapayMember(dto); + result = AjaxResult.success(map); + } catch (BusinessException e) { + logger.warn("查询汇付会员接口异常warn", e); + result = AjaxResult.error(e.getMessage()); + } catch (Exception e) { + logger.error("查询汇付会员接口异常error", e); + result = AjaxResult.error("查询汇付会员接口异常"); + } + return result; + } + /** * 查询汇付账户余额 * http://localhost:8080/adapay/member/queryAdapayAccountBalance diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/dto/CreateSettleAccountDTO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/SettleAccountDTO.java similarity index 98% rename from jsowell-pile/src/main/java/com/jsowell/adapay/dto/CreateSettleAccountDTO.java rename to jsowell-pile/src/main/java/com/jsowell/adapay/dto/SettleAccountDTO.java index eb9e205b6..ac94040ac 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/dto/CreateSettleAccountDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/SettleAccountDTO.java @@ -13,7 +13,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @Builder -public class CreateSettleAccountDTO { +public class SettleAccountDTO { // 运营商id private String merchantId; diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/response/QueryCorpMemberResponse.java b/jsowell-pile/src/main/java/com/jsowell/adapay/response/QueryCorpMemberResponse.java index 321083777..e0678a6fd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/response/QueryCorpMemberResponse.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/response/QueryCorpMemberResponse.java @@ -68,4 +68,13 @@ public class QueryCorpMemberResponse { // 当前交易状态,参见 状态 说明 private String status; + // 银行代码 + private String bank_code; + + // 银行卡号 + private String card_no; + + // 银行卡对应的户名 + private String card_name; + } 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 31ea69fa1..57b3e16f9 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,11 +5,8 @@ import com.alibaba.fastjson2.JSONObject; 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.huifu.adapay.model.*; +import com.jsowell.adapay.dto.SettleAccountDTO; import com.jsowell.adapay.dto.UpdateAccountConfigDTO; import com.jsowell.adapay.dto.WithdrawDTO; import com.jsowell.adapay.response.QueryCorpMemberResponse; @@ -51,7 +48,7 @@ public class AdapayMemberService { @Autowired private IAdapayMemberAccountService adapayMemberAccountService; - public void createSettleAccount(CreateSettleAccountDTO dto) throws Exception { + public void createSettleAccount(SettleAccountDTO dto) throws Exception { String bankAcctType = dto.getBankAcctType(); if (StringUtils.equals(bankAcctType, Constants.ONE)) { createCorpMember(dto); @@ -67,7 +64,7 @@ public class AdapayMemberService { * @throws Exception */ @Transactional(readOnly = false, propagation = Propagation.REQUIRED) - public void createMember(CreateSettleAccountDTO dto) throws Exception { + public void createMember(SettleAccountDTO dto) throws Exception { AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(dto.getMerchantId()); if (adapayMemberAccount != null) { log.error("通过merchantId:{}, 没有查询到结算账户配置", dto.getMerchantId()); @@ -166,7 +163,7 @@ public class AdapayMemberService { List list = null; AdapayCorpMemberVO adapayCorpMemberVO = null; if (StringUtils.startsWith(adapayMemberId, Constants.ADAPAY_MEMBER_PREFIX)) { - bankAcctType = Constants.ONE; + bankAcctType = Constants.TWO; // 查询个人用户 adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId); if (adapayMemberInfoVO != null) { @@ -181,7 +178,7 @@ public class AdapayMemberService { map.put("settleAccountList", list); } else { - bankAcctType = Constants.TWO; + bankAcctType = Constants.ONE; // 查询企业用户 adapayCorpMemberVO = queryCorpAdapayMemberInfo(adapayMemberId); } @@ -253,6 +250,11 @@ public class AdapayMemberService { .telphone(response.getTelphone()) .zipCode(response.getZip_code()) .email(response.getEmail()) + .socialCreditCode(response.getSocial_credit_code()) + .socialCreditCodeExpires(response.getSocial_credit_code_expires()) + .bankCode(response.getBank_code()) + .cardName(response.getCard_name()) + .cardNo(response.getCard_no()) .build(); return corpMemberVO; } @@ -359,7 +361,7 @@ public class AdapayMemberService { /** * 创建企业用户 */ - public void createCorpMember(CreateSettleAccountDTO dto) throws BaseAdaPayException, IOException { + public void createCorpMember(SettleAccountDTO dto) throws BaseAdaPayException, IOException { Map memberParams = Maps.newHashMap(); String adapayMemberId = Constants.ADAPAY_CORP_MEMBER_PREFIX + IdUtils.getMemberId(); memberParams.put("member_id", adapayMemberId); @@ -421,4 +423,36 @@ public class AdapayMemberService { Map settleCount = Drawcash.create(settleCountParams); log.info("取现接口返回参数" + JSON.toJSONString(settleCount)); } + + public Map updateAdapayMember(SettleAccountDTO dto) throws BaseAdaPayException { + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(dto.getMerchantId()); + if (adapayMemberAccount == null) { + log.error("通过merchantId:{}, 没有查询到结算账户配置", dto.getMerchantId()); + return null; + } + + Map memberParams = Maps.newHashMap(); + memberParams.put("adapay_func_code", "corp_members.update"); + memberParams.put("member_id", adapayMemberAccount.getAdapayMemberId()); + memberParams.put("app_id", ADAPAY_APP_ID); + memberParams.put("order_no", "jsdk_order_" + System.currentTimeMillis()); + memberParams.put("social_credit_code_expires", dto.getSocialCreditCodeExpires()); + memberParams.put("business_scope", dto.getBusinessScope()); + memberParams.put("name", dto.getNickname()); + memberParams.put("prov_code", dto.getProvCode()); + memberParams.put("area_code", dto.getAreaCode()); + memberParams.put("legal_person", dto.getLegalPerson()); + memberParams.put("legal_cert_id", dto.getLegalCertId()); + memberParams.put("legal_cert_id_expires", dto.getLegalCertIdExpires()); + memberParams.put("legal_mp", dto.getLegalMp()); + memberParams.put("address", dto.getAddress()); + memberParams.put("zip_code", dto.getZipCode()); + memberParams.put("telphone", dto.getTelphone()); + memberParams.put("email", dto.getEmail()); + File file = ZipUtil.createZipFileFromImages(dto.getImgList()); + log.info("更新企业账户param:{}", memberParams); + Map member = AdapayCommon.requestAdapayFile(memberParams, file); + log.info("更新企业账户result:{}", JSON.toJSONString(member)); + return null; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayCorpMemberVO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayCorpMemberVO.java index 74363a0e4..520afbf58 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayCorpMemberVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayCorpMemberVO.java @@ -59,4 +59,13 @@ public class AdapayCorpMemberVO { // 统一社会信用证有效期(格式:YYYYMMDD,例如:20190909) private String socialCreditCodeExpires; + // 银行代码 + private String bankCode; + + // 银行卡号 + private String cardNo; + + // 银行卡对应的户名 + private String cardName; + }