diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java index ddcc1a0cc..d3280c972 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java @@ -571,8 +571,26 @@ public class AdapayService { throw new BusinessException(ReturnCodeEnum.CODE_ADAPAY_CONFIG_IS_NULL_ERROR); } + // 逻辑删除原来审核不通过的记录 + List accountList = adapayMemberAccountService.selectAdapayMemberAccountList(dto.getMerchantId()); + if (CollectionUtils.isNotEmpty(accountList)) { + Long[] ids = accountList.stream() + .map(AdapayMemberAccount::getId) + .toArray(Long[]::new); + adapayMemberAccountService.deleteAdapayMemberAccountByIds(ids); + } + + // 创建企业用户参数 Map memberParams = Maps.newHashMap(); String adapayMemberId = Constants.ADAPAY_CORP_MEMBER_PREFIX + IdUtils.getMemberId(); + + // 先保存一条记录 + AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount(); + adapayMemberAccount.setMerchantId(dto.getMerchantId()); + adapayMemberAccount.setAdapayMemberId(adapayMemberId); + adapayMemberAccount.setStatus(Constants.ZERO); + adapayMemberAccountService.insertAdapayMemberAccount(adapayMemberAccount); + memberParams.put("member_id", adapayMemberId); memberParams.put("app_id", config.getAdapayAppId()); memberParams.put("order_no", "jsdk_order" + System.currentTimeMillis()); @@ -602,15 +620,6 @@ public class AdapayService { throw new BusinessException("", (String) member.get("error_msg")); } - // 逻辑删除原来审核不通过的记录 - List accountList = adapayMemberAccountService.selectAdapayMemberAccountList(dto.getMerchantId()); - if (CollectionUtils.isNotEmpty(accountList)) { - Long[] ids = accountList.stream() - .map(AdapayMemberAccount::getId) - .toArray(Long[]::new); - adapayMemberAccountService.deleteAdapayMemberAccountByIds(ids); - } - // 取消自动创建结算账户,手动创建结算账户 Map settleCount = createSettleAccountRequest(dto, adapayMemberId, dto.getWechatAppId()); @@ -619,13 +628,9 @@ public class AdapayService { throw new BusinessException("00500001", errorMsg); } String settleAccountId = (String) settleCount.get("id"); - // 保存到数据库 - AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount(); - adapayMemberAccount.setMerchantId(dto.getMerchantId()); - adapayMemberAccount.setAdapayMemberId(adapayMemberId); + // 更新数据库 adapayMemberAccount.setSettleAccountId(settleAccountId); - adapayMemberAccount.setStatus(Constants.ZERO); - adapayMemberAccountService.insertAdapayMemberAccount(adapayMemberAccount); + adapayMemberAccountService.updateAdapayMemberAccount(adapayMemberAccount); } /**