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 bf8e8c031..a89e63a6e 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,7 +5,6 @@ import com.huifu.adapay.core.exception.BaseAdaPayException; import com.jsowell.adapay.dto.AdapayMemberInfoDTO; import com.jsowell.adapay.service.AdapayMemberService; import com.jsowell.adapay.vo.AdapayAccountBalanceVO; -import com.jsowell.adapay.vo.AdapayMemberVO; import com.jsowell.adapay.vo.AdapaySettleAccountVO; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.domain.AjaxResult; @@ -16,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + @RestController @RequestMapping("/adapay/member") public class AdapayMemberController extends BaseController { @@ -52,8 +53,8 @@ public class AdapayMemberController extends BaseController { public AjaxResult selectAdapayMember(@RequestBody AdapayMemberInfoDTO dto) { AjaxResult result; try { - AdapayMemberVO vo = adapayMemberService.selectAdapayMember(dto.getMerchantId()); - result = AjaxResult.success(vo); + Map map = adapayMemberService.selectAdapayMember(dto.getMerchantId()); + result = AjaxResult.success(map); } catch (Exception e) { logger.error("查询汇付会员接口异常", e); result = AjaxResult.error("查询汇付会员接口异常"); 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 21b8c2a04..ba778ff67 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 @@ -1,6 +1,7 @@ package com.jsowell.adapay.service; import com.alibaba.fastjson.JSON; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.model.Member; @@ -8,7 +9,7 @@ import com.huifu.adapay.model.SettleAccount; import com.jsowell.adapay.dto.AdapayMemberInfoDTO; import com.jsowell.adapay.response.QueryMemberResponse; import com.jsowell.adapay.vo.AdapayAccountBalanceVO; -import com.jsowell.adapay.vo.AdapayMemberVO; +import com.jsowell.adapay.vo.AdapayMemberInfoVO; import com.jsowell.adapay.vo.AdapaySettleAccountVO; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.StringUtils; @@ -114,38 +115,97 @@ public class AdapayMemberService { * @param merchantId * @return */ - public AdapayMemberVO selectAdapayMember(String merchantId) { - AdapayMemberVO resultVO = new AdapayMemberVO(); + public Map selectAdapayMember(String merchantId) throws BaseAdaPayException { + Map map = Maps.newHashMap(); + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(merchantId); + if (adapayMemberAccount == null) { + return null; + } - return resultVO; + String adapayMemberId = adapayMemberAccount.getAdapayMemberId(); + String settleAccountId = adapayMemberAccount.getSettleAccountId(); + + AdapayMemberInfoVO adapayMemberInfoVO = queryAdapayMemberInfo(adapayMemberId); + if (adapayMemberInfoVO != null) { + adapayMemberInfoVO.setMerchantId(merchantId); + } + AdapaySettleAccountVO adapaySettleAccountVO = queryAdapaySettleAccount(adapayMemberId, settleAccountId); + if (adapaySettleAccountVO != null) { + adapaySettleAccountVO.setMerchantId(merchantId); + } + map.put("adapayMember", adapayMemberInfoVO); + map.put("settleAccountList", Lists.newArrayList(adapaySettleAccountVO)); + return map; } /** * 查询汇付会员信息 */ - public void queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException { + public AdapayMemberInfoVO queryAdapayMemberInfo(String adapayMemberId) throws BaseAdaPayException { + if (StringUtils.isBlank(adapayMemberId)) { + return null; + } Map memberParams = Maps.newHashMap(); memberParams.put("member_id", adapayMemberId); memberParams.put("app_id", ADAPAY_APP_ID); log.info("查询用户,请求参数:{}", JSON.toJSONString(memberParams)); Map member = Member.query(memberParams); + log.info("查询用户,返回参数:{}", JSON.toJSONString(member)); + + if (member == null || member.isEmpty() || !"succeeded".equals(member.get("status"))) { + return null; + } + QueryMemberResponse queryMemberResponse = JSON.parseObject(JSON.toJSONString(member), QueryMemberResponse.class); - log.info("查询用户,返回参数:{}", JSON.toJSONString(queryMemberResponse)); + AdapayMemberInfoVO resultVO = AdapayMemberInfoVO.builder() + .nickname(queryMemberResponse.getNickname()) + .gender(queryMemberResponse.getGender()) + .email(queryMemberResponse.getEmail()) + .location(queryMemberResponse.getLocation()) + .build(); + return resultVO; } /** * 查询汇付结算账户信息 */ - public void queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException { + public AdapaySettleAccountVO queryAdapaySettleAccount(String adapayMemberId, String settleAccountId) throws BaseAdaPayException { + if (StringUtils.isBlank(adapayMemberId) || StringUtils.isBlank(settleAccountId)) { + return null; + } + Map settleCountParams = Maps.newHashMap(); settleCountParams.put("settle_account_id", settleAccountId); settleCountParams.put("member_id", adapayMemberId); settleCountParams.put("app_id", ADAPAY_APP_ID); + log.info("查询汇付结算账户信息param:{}", JSON.toJSONString(settleCountParams)); - Map settleCount = SettleAccount.query(settleCountParams); - QueryMemberResponse.SettleAccount settleAccount = JSON.parseObject(JSON.toJSONString(settleCount), QueryMemberResponse.SettleAccount.class); + Map settleAccount = SettleAccount.query(settleCountParams); log.info("查询汇付结算账户信息result:{}", JSON.toJSONString(settleAccount)); + + if (settleAccount == null || settleAccount.isEmpty() || !"succeeded".equals(settleAccount.get("status"))) { + return null; + } + + QueryMemberResponse.SettleAccount settleAccountInfo = JSON.parseObject(JSON.toJSONString(settleAccount), QueryMemberResponse.SettleAccount.class); + QueryMemberResponse.AccountInfo accountInfo = settleAccountInfo.getAccount_info(); + + AdapaySettleAccountVO resultVO = AdapaySettleAccountVO.builder() + .adapayMemberId(settleAccountInfo.getMember_id()) + .settleAccountId(settleAccountInfo.getId()) + .cardId(accountInfo.getCard_id()) + .cardName(accountInfo.getCard_name()) + .certId(accountInfo.getCert_id()) + .certType(accountInfo.getCert_type()) + .telNo(accountInfo.getTel_no()) + .bankName(accountInfo.getBank_name()) + .bankCode(accountInfo.getBank_code()) + .bankAcctType(accountInfo.getBank_acct_type()) + .provCode(accountInfo.getProv_code()) + .areaCode(accountInfo.getArea_code()) + .build(); + return resultVO; } /** @@ -165,7 +225,7 @@ public class AdapayMemberService { queryParams.put("member_id", member_id); queryParams.put("app_id", ADAPAY_APP_ID); Map settleCount = SettleAccount.balance(queryParams); - if (settleCount == null || settleCount.isEmpty() || "succeeded".equals(settleCount.get("status"))) { + if (settleCount == null || settleCount.isEmpty() || !"succeeded".equals(settleCount.get("status"))) { return vo; } vo.setFrzBalance(new BigDecimal((String) settleCount.get("frz_balance"))); diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberInfoVO.java new file mode 100644 index 000000000..6fda095b0 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberInfoVO.java @@ -0,0 +1,21 @@ +package com.jsowell.adapay.vo; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AdapayMemberInfoVO { + // 运营商id + private String merchantId; + // 地址 + private String location; + // 电子邮箱 + private String email; + // 性别 + private String gender; + // 昵称 + private String nickname; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberVO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberVO.java deleted file mode 100644 index 3cc8d9cb5..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/vo/AdapayMemberVO.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.jsowell.adapay.vo; - -import lombok.*; - -@Getter -@Setter -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class AdapayMemberVO { - // 运营商id - private String merchantId; - // 地址 - private String location; - // 电子邮箱 - private String email; - // 性别 - private String gender; - // 昵称 - private String nickname; - - /** - * 汇付会员id - */ - private String adapayMemberId; - - /** - * 结算账户对象 id - */ - private String settleAccountId; - - /** - * 银行卡号 - */ - private String cardId; - - /** - * 银行卡对应的户名 - */ - private String cardName; - - /** - * 证件号,银行账户类型为对私时,必填 - */ - private String certId; - - /** - * 证件类型,仅支持:00-身份证,银行账户类型为对私时,必填 - */ - private String certType; - - /** - * 手机号 - */ - private String telNo; - - /** - * 银行编码,详见附录 银行代码,银行账户类型对公时,必填 - */ - private String bankCode; - - /** - * 开户银行名称 - */ - private String bankName; - - /** - * 银行账户类型:1-对公;2-对私 - */ - private String bankAcctType; - - /** - * 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填 - */ - private String provCode; - - /** - * 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填 - */ - private String areaCode; -} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayMemberInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayMemberInfo.java deleted file mode 100644 index 91af27a94..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayMemberInfo.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.jsowell.pile.domain; - -import lombok.*; - -import java.util.Date; - -/** - * 汇付会员表 - */ -@Getter -@Setter -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AdapayMemberInfo { - /** - * 主键 - */ - private Integer id; - - private String merchantId; - - /** - * 汇付会员id - */ - private String memberId; - - /** - * MALE:男,FEMALE:女,为空时表示未填写 - */ - private String gender; - - /** - * 是否已实名认证,Y:是,N:否, - */ - private String identified; - - /** - * 用户手机号,使用 收银台对象 功能必填 若创建用户对象用于分账功能,则手机号字段一定不要上送 - */ - private Integer telNo; - - /** - * 是否 prod模式,true 是 prod模式,false 是 mock模式 - */ - private String prodMode; - - /** - * 用户昵称 - */ - private String nickname; - - /** - * 是否禁用该用户,Y:是,N:否, - */ - private String disabled; - - /** - * 用户地址 - */ - private String location; - - private String appId; - - /** - * 用户邮箱 - */ - private String email; - - private String object; - - /** - * 当前交易状态 - */ - private String status; - - /** - * 汇付返回的创建时间 - */ - private String createdTime; - - private Date createTime; - - /** - * 删除标识(0-正常;1-删除) - */ - private String delFlag; -} \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapaySettleAccount.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapaySettleAccount.java deleted file mode 100644 index d7759ac23..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapaySettleAccount.java +++ /dev/null @@ -1,244 +0,0 @@ -package com.jsowell.pile.domain; - -import com.jsowell.common.annotation.Excel; -import com.jsowell.common.core.domain.BaseEntity; -import lombok.Getter; -import lombok.Setter; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 汇付结算账户对象 adapay_settle_account - * - * @author jsowell - * @date 2023-06-12 - */ -@Getter -@Setter -public class AdapaySettleAccount extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private Long id; - - /** - * 运营商id - */ - @Excel(name = "运营商id") - private String merchantId; - - /** - * 汇付会员id - */ - @Excel(name = "汇付会员id") - private String adapayMemberId; - - /** - * 结算账户对象 id - */ - @Excel(name = "结算账户对象id") - private String settleAccountId; - - /** - * 银行卡号 - */ - @Excel(name = "银行卡号") - private String cardId; - - /** - * 银行卡对应的户名 - */ - @Excel(name = "银行卡对应的户名") - private String cardName; - - /** - * 证件号,银行账户类型为对私时,必填 - */ - @Excel(name = "证件号,银行账户类型为对私时,必填") - private String certId; - - /** - * 证件类型,仅支持:00-身份证,银行账户类型为对私时,必填 - */ - @Excel(name = "证件类型,仅支持:00-身份证,银行账户类型为对私时,必填") - private String certType; - - /** - * 手机号 - */ - @Excel(name = "手机号") - private String telNo; - - /** - * 银行编码,详见附录 银行代码,银行账户类型对公时,必填 - */ - @Excel(name = "银行编码,详见附录 银行代码,银行账户类型对公时,必填") - private String bankCode; - - /** - * 开户银行名称 - */ - @Excel(name = "开户银行名称") - private String bankName; - - /** - * 银行账户类型:1-对公;2-对私 - */ - @Excel(name = "银行账户类型:1-对公;2-对私") - private String bankAcctType; - - /** - * 银行账户开户银行所在省份编码 (省市编码),银行账户类型为对公时,必填 - */ - @Excel(name = "银行账户开户银行所在省份编码 ", readConverterExp = "省=市编码") - private String provCode; - - /** - * 银行账户开户银行所在地区编码(省市编码),银行账户类型为对公时,必填 - */ - @Excel(name = "银行账户开户银行所在地区编码", readConverterExp = "省=市编码") - private String areaCode; - - /** - * 删除标识(0-正常;1-删除) - */ - private String delFlag; - - public void setId(Long id) { - this.id = id; - } - - public Long getId() { - return id; - } - - public void setMerchantId(String merchantId) { - this.merchantId = merchantId; - } - - public String getMerchantId() { - return merchantId; - } - - public void setAdapayMemberId(String adapayMemberId) { - this.adapayMemberId = adapayMemberId; - } - - public String getAdapayMemberId() { - return adapayMemberId; - } - - public void setCardId(String cardId) { - this.cardId = cardId; - } - - public String getCardId() { - return cardId; - } - - public void setCardName(String cardName) { - this.cardName = cardName; - } - - public String getCardName() { - return cardName; - } - - public void setCertId(String certId) { - this.certId = certId; - } - - public String getCertId() { - return certId; - } - - public void setCertType(String certType) { - this.certType = certType; - } - - public String getCertType() { - return certType; - } - - public void setTelNo(String telNo) { - this.telNo = telNo; - } - - public String getTelNo() { - return telNo; - } - - public void setBankCode(String bankCode) { - this.bankCode = bankCode; - } - - public String getBankCode() { - return bankCode; - } - - public void setBankName(String bankName) { - this.bankName = bankName; - } - - public String getBankName() { - return bankName; - } - - public void setBankAcctType(String bankAcctType) { - this.bankAcctType = bankAcctType; - } - - public String getBankAcctType() { - return bankAcctType; - } - - public void setProvCode(String provCode) { - this.provCode = provCode; - } - - public String getProvCode() { - return provCode; - } - - public void setAreaCode(String areaCode) { - this.areaCode = areaCode; - } - - public String getAreaCode() { - return areaCode; - } - - public void setDelFlag(String delFlag) { - this.delFlag = delFlag; - } - - public String getDelFlag() { - return delFlag; - } - - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.JSON_STYLE) - .append("id", getId()) - .append("merchantId", getMerchantId()) - .append("adapayMemberId", getAdapayMemberId()) - .append("cardId", getCardId()) - .append("cardName", getCardName()) - .append("certId", getCertId()) - .append("certType", getCertType()) - .append("telNo", getTelNo()) - .append("bankCode", getBankCode()) - .append("bankName", getBankName()) - .append("bankAcctType", getBankAcctType()) - .append("provCode", getProvCode()) - .append("areaCode", getAreaCode()) - .append("createTime", getCreateTime()) - .append("createBy", getCreateBy()) - .append("updateTime", getUpdateTime()) - .append("updateBy", getUpdateBy()) - .append("delFlag", getDelFlag()) - .toString(); - } -} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberInfoMapper.java deleted file mode 100644 index 6666b41c1..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberInfoMapper.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.jsowell.pile.mapper; - -import com.jsowell.pile.domain.AdapayMemberInfo; - -public interface AdapayMemberInfoMapper { - /** - * delete by primary key - * @param id primaryKey - * @return deleteCount - */ - int deleteByPrimaryKey(Integer id); - - /** - * insert record to table - * @param record the record - * @return insert count - */ - int insert(AdapayMemberInfo record); - - /** - * insert record to table selective - * @param record the record - * @return insert count - */ - int insertSelective(AdapayMemberInfo record); - - /** - * select by primary key - * @param id primary key - * @return object by primary key - */ - AdapayMemberInfo selectByPrimaryKey(Integer id); - - /** - * update record selective - * @param record the updated record - * @return update count - */ - int updateByPrimaryKeySelective(AdapayMemberInfo record); - - /** - * update record - * @param record the updated record - * @return update count - */ - int updateByPrimaryKey(AdapayMemberInfo record); - - AdapayMemberInfo selectByMerchantId(String merchantId); -} \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapaySettleAccountMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapaySettleAccountMapper.java deleted file mode 100644 index 2286adb7c..000000000 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapaySettleAccountMapper.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.jsowell.pile.mapper; - -import com.jsowell.pile.domain.AdapaySettleAccount; -import org.springframework.stereotype.Repository; - -import java.util.List; - -/** - * 汇付结算账户Mapper接口 - * - * @author jsowell - * @date 2023-06-12 - */ -@Repository -public interface AdapaySettleAccountMapper { - /** - * 查询汇付结算账户 - * - * @param id 汇付结算账户主键 - * @return 汇付结算账户 - */ - public AdapaySettleAccount selectAdapaySettleAccountById(Long id); - - /** - * 查询汇付结算账户列表 - * - * @param adapaySettleAccount 汇付结算账户 - * @return 汇付结算账户集合 - */ - public List selectAdapaySettleAccountList(AdapaySettleAccount adapaySettleAccount); - - /** - * 新增汇付结算账户 - * - * @param adapaySettleAccount 汇付结算账户 - * @return 结果 - */ - public int insertAdapaySettleAccount(AdapaySettleAccount adapaySettleAccount); - - /** - * 修改汇付结算账户 - * - * @param adapaySettleAccount 汇付结算账户 - * @return 结果 - */ - public int updateAdapaySettleAccount(AdapaySettleAccount adapaySettleAccount); - - /** - * 删除汇付结算账户 - * - * @param id 汇付结算账户主键 - * @return 结果 - */ - public int deleteAdapaySettleAccountById(Long id); - - /** - * 批量删除汇付结算账户 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteAdapaySettleAccountByIds(Long[] ids); - - AdapaySettleAccount selectByMerchantId(String merchantId); -} diff --git a/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml index 8061f9888..7ffa13f6f 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml @@ -90,7 +90,7 @@ - select from adapay_member_account