From 3b1d972a716f128d1679c95a665721611df5f38f Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 25 Aug 2023 10:16:35 +0800 Subject: [PATCH 1/4] =?UTF-8?q?update=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index a5ad6403b..68f73bced 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2847,6 +2847,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * 余额支付订单分账工具 */ public void splitTheBillForOrderTemp(AdapayMemberAccount adapayMemberAccount, OrderBasicInfo orderBasicInfo, String wechatAppId) throws BaseAdaPayException { + logger.info(""); // 查询会员余额支付记录 List recordList = memberAdapayRecordService.selectAdapayRecordList(orderBasicInfo.getMemberId(), ScenarioEnum.BALANCE.getValue()); if (CollectionUtils.isEmpty(recordList)) { From e2f1afc0fda59738106bc1247c5d87f7b2f3a61b Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 25 Aug 2023 11:53:53 +0800 Subject: [PATCH 2/4] =?UTF-8?q?updateupdate=20=E6=89=93=E5=8D=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/adapay/service/AdapayService.java | 49 ++++--------------- 1 file changed, 10 insertions(+), 39 deletions(-) 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 41d09e573..ddcc1a0cc 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 @@ -160,6 +160,15 @@ public class AdapayService { String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(dto.getMerchantId()); dto.setWechatAppId(wechatAppId); + String cardId = dto.getCardId(); + String cardNo = dto.getCardNo(); + if (StringUtils.isBlank(cardId) && StringUtils.isNotBlank(cardNo)) { + dto.setCardId(cardNo); + } + if (StringUtils.isBlank(cardNo) && StringUtils.isNotBlank(cardId)) { + dto.setCardNo(cardId); + } + if (StringUtils.equals(bankAcctType, Constants.ONE)) { createCorpMember(dto); } else if (StringUtils.equals(bankAcctType, Constants.TWO)) { @@ -205,45 +214,6 @@ public class AdapayService { throw new BusinessException("00500001", errorMsg); } - /*// 创建结算账户 - Map accountInfo = Maps.newHashMap(); - // 银行卡号 - accountInfo.put("card_id", dto.getCardId()); - // 银行卡对应的户名 - accountInfo.put("card_name", dto.getCardName()); - // 证件号,银行账户类型为对私时,必填 - if (StringUtils.isNotBlank(dto.getCertId())) { - accountInfo.put("cert_id", dto.getCertId()); - } - // 证件类型,仅支持:00-身份证,银行账户类型为对私时,必填 - accountInfo.put("cert_type", "00"); - // 手机号 - accountInfo.put("tel_no", dto.getTelNo()); - // 银行编码,详见附录 银行代码,银行账户类型对公时,必填 - if (StringUtils.isNotBlank(dto.getBankCode())) { - accountInfo.put("bank_code", dto.getBankCode()); - } - // 银行账户类型:1-对公;2-对私 - accountInfo.put("bank_acct_type", dto.getBankAcctType()); - // 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填 - if (StringUtils.isNotBlank(dto.getProvCode())) { - accountInfo.put("prov_code", dto.getProvCode()); - } - // 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填 - if (StringUtils.isNotBlank(dto.getAreaCode())) { - accountInfo.put("area_code", dto.getAreaCode()); - } - - Map settleCountParams = Maps.newHashMap(); - settleCountParams.put("member_id", adapayMemberId); - settleCountParams.put("app_id", config.getAdapayAppId()); - // channel String Y 目前仅支持:bank_account(银行卡) - settleCountParams.put("channel", "bank_account"); - settleCountParams.put("account_info", accountInfo); - log.info("创建汇付结算账户param:{}", settleCountParams); - Map settleCount = SettleAccount.create(settleCountParams, config.getWechatAppId()); - log.info("创建汇付结算账户result:{}", settleCount);*/ - Map settleCount = createSettleAccountRequest(dto, adapayMemberId, dto.getWechatAppId()); if (settleCount == null || StringUtils.equals((String) settleCount.get("status"), "failed")) { @@ -418,6 +388,7 @@ public class AdapayService { Map accountInfo = Maps.newHashMap(); // 银行卡号 accountInfo.put("card_id", dto.getCardId()); + accountInfo.put("card_no", dto.getCardNo()); // 银行卡对应的户名 accountInfo.put("card_name", dto.getCardName()); // 证件号,银行账户类型为对私时,必填 From 0fc859c5e6b6e51f231644509ff1a9b30d90dee4 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 25 Aug 2023 13:23:36 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=B4=A6=E5=8F=B7=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/adapay/service/AdapayService.java | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) 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); } /** From a066a0d4fed9429c7b307bd4e771d00287e37672 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 25 Aug 2023 13:58:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=BF=90=E8=90=A5=E5=95=86=E8=A1=A8?= =?UTF-8?q?=E5=8A=A0=E5=AD=97=E6=AE=B5=20delayMode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/pile/domain/PileMerchantInfo.java | 5 +++++ .../mapper/pile/PileMerchantInfoMapper.xml | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileMerchantInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileMerchantInfo.java index 377b4eeed..df039163c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileMerchantInfo.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileMerchantInfo.java @@ -32,6 +32,11 @@ public class PileMerchantInfo extends BaseEntity { */ private String merchantLevel; + /** + * 延时分账模式(0-不延时;1-延时分账) + */ + private String delayMode; + /** * 父级运营商id */ diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml index c3daf91f5..f944f90e1 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileMerchantInfoMapper.xml @@ -10,6 +10,7 @@ + @@ -31,6 +32,7 @@ parent_id, address, status, + delay_mode, organization_code, manager_name, manager_phone, @@ -64,6 +66,9 @@ and status = #{status} + + and delay_mode = #{delayMode} + and organization_code = #{organizationCode} @@ -115,6 +120,9 @@ status, + + delay_mode, + organization_code, @@ -171,6 +179,9 @@ #{status}, + + #{delayMode}, + #{organizationCode}, @@ -228,6 +239,9 @@ status = #{status}, + + delay_mode = #{delayMode}, + organization_code = #{organizationCode},