コード例 #1
0
 /**
  * 根据商户key获取已生效的支付配置
  *
  * @param payKey
  * @return
  */
 public RpUserPayConfig getByPayKey(String payKey) {
   Map<String, Object> paramMap = new HashMap<String, Object>();
   paramMap.put("payKey", payKey);
   paramMap.put("status", PublicStatusEnum.ACTIVE.name());
   paramMap.put("auditStatus", PublicEnum.YES.name());
   return rpUserPayConfigDao.getBy(paramMap);
 }
コード例 #2
0
 /** 根据支付产品获取已生效数据 */
 @Override
 public List<RpUserPayConfig> listByProductCode(String productCode) {
   Map<String, Object> paramMap = new HashMap<String, Object>();
   paramMap.put("productCode", productCode);
   paramMap.put("status", PublicStatusEnum.ACTIVE.name());
   paramMap.put("auditStatus", PublicEnum.YES.name());
   return rpUserPayConfigDao.listBy(paramMap);
 }
コード例 #3
0
  /**
   * 审核
   *
   * @param userNo
   * @param auditStatus
   */
  @Override
  public void audit(String userNo, String auditStatus) {
    RpUserPayConfig rpUserPayConfig = getByUserNo(userNo, null);
    if (rpUserPayConfig == null) {
      throw new PayBizException(PayBizException.USER_PAY_CONFIG_IS_NOT_EXIST, "支付配置不存在!");
    }

    if (auditStatus.equals(PublicEnum.YES.name())) {
      // 检查是否已关联生效的支付产品
      RpPayProduct rpPayProduct =
          rpPayProductService.getByProductCode(
              rpUserPayConfig.getProductCode(), PublicEnum.YES.name());
      if (rpPayProduct == null) {
        throw new PayBizException(PayBizException.PAY_PRODUCT_IS_NOT_EXIST, "未关联已生效的支付产品,无法操作!");
      }

      // 检查是否已设置第三方支付信息
    }
    rpUserPayConfig.setAuditStatus(auditStatus);
    rpUserPayConfig.setEditTime(new Date());
    updateData(rpUserPayConfig);
  }
コード例 #4
0
 /**
  * 根据商户编号获取已生效的支付配置
  *
  * @param userNo
  * @return
  */
 @Override
 public RpUserPayConfig getByUserNo(String userNo) {
   return rpUserPayConfigDao.getByUserNo(userNo, PublicEnum.YES.name());
 }
コード例 #5
0
  /** 创建用户支付配置 */
  @Override
  public void createUserPayConfig(
      String userNo,
      String userName,
      String productCode,
      String productName,
      Integer riskDay,
      String fundIntoType,
      String isAutoSett,
      String appId,
      String merchantId,
      String partnerKey,
      String ali_partner,
      String ali_sellerId,
      String ali_key,
      String ali_appid,
      String ali_rsaPrivateKey,
      String ali_rsaPublicKey)
      throws PayBizException {

    RpUserPayConfig payConfig = rpUserPayConfigDao.getByUserNo(userNo, null);
    if (payConfig != null) {
      throw new PayBizException(PayBizException.USER_PAY_CONFIG_IS_EXIST, "用户支付配置已存在");
    }

    RpUserPayConfig rpUserPayConfig = new RpUserPayConfig();
    rpUserPayConfig.setUserNo(userNo);
    rpUserPayConfig.setUserName(userName);
    rpUserPayConfig.setProductCode(productCode);
    rpUserPayConfig.setProductName(productName);
    rpUserPayConfig.setStatus(PublicStatusEnum.ACTIVE.name());
    rpUserPayConfig.setAuditStatus(PublicEnum.YES.name());
    rpUserPayConfig.setRiskDay(riskDay);
    rpUserPayConfig.setFundIntoType(fundIntoType);
    rpUserPayConfig.setIsAutoSett(isAutoSett);
    rpUserPayConfig.setPayKey(StringUtil.get32UUID());
    rpUserPayConfig.setPaySecret(StringUtil.get32UUID());
    rpUserPayConfig.setId(StringUtil.get32UUID());
    saveData(rpUserPayConfig);

    // 查询支付产品下有哪些支付方式
    List<RpPayWay> payWayList = rpPayWayService.listByProductCode(productCode);
    Map<String, String> map = new HashMap<String, String>();
    // 过滤重复数据
    for (RpPayWay payWay : payWayList) {
      map.put(payWay.getPayWayCode(), payWay.getPayWayName());
    }

    for (String key : map.keySet()) {
      if (key.equals(PayWayEnum.WEIXIN.name())) {
        // 创建用户第三方支付信息
        RpUserPayInfo rpUserPayInfo =
            rpUserPayInfoService.getByUserNo(userNo, PayWayEnum.WEIXIN.name());
        if (rpUserPayInfo == null) {
          rpUserPayInfo = new RpUserPayInfo();
          rpUserPayInfo.setId(StringUtil.get32UUID());
          rpUserPayInfo.setCreateTime(new Date());
          rpUserPayInfo.setAppId(appId);
          rpUserPayInfo.setMerchantId(merchantId);
          rpUserPayInfo.setPartnerKey(partnerKey);
          rpUserPayInfo.setPayWayCode(PayWayEnum.WEIXIN.name());
          rpUserPayInfo.setPayWayName(PayWayEnum.WEIXIN.getDesc());
          rpUserPayInfo.setUserNo(userNo);
          rpUserPayInfo.setUserName(userName);
          rpUserPayInfo.setStatus(PublicStatusEnum.ACTIVE.name());
          rpUserPayInfoService.saveData(rpUserPayInfo);
        } else {
          rpUserPayInfo.setEditTime(new Date());
          rpUserPayInfo.setAppId(appId);
          rpUserPayInfo.setMerchantId(merchantId);
          rpUserPayInfo.setPartnerKey(partnerKey);
          rpUserPayInfo.setPayWayCode(PayWayEnum.WEIXIN.name());
          rpUserPayInfo.setPayWayName(PayWayEnum.WEIXIN.getDesc());
          rpUserPayInfoService.updateData(rpUserPayInfo);
        }

      } else if (key.equals(PayWayEnum.ALIPAY.name())) {
        // 创建用户第三方支付信息
        RpUserPayInfo rpUserPayInfo =
            rpUserPayInfoService.getByUserNo(userNo, PayWayEnum.ALIPAY.name());
        if (rpUserPayInfo == null) {
          rpUserPayInfo = new RpUserPayInfo();
          rpUserPayInfo.setId(StringUtil.get32UUID());
          rpUserPayInfo.setCreateTime(new Date());
          rpUserPayInfo.setAppId(ali_partner);
          rpUserPayInfo.setMerchantId(ali_sellerId);
          rpUserPayInfo.setPartnerKey(ali_key);
          rpUserPayInfo.setPayWayCode(PayWayEnum.ALIPAY.name());
          rpUserPayInfo.setPayWayName(PayWayEnum.ALIPAY.getDesc());
          rpUserPayInfo.setUserNo(userNo);
          rpUserPayInfo.setUserName(userName);
          rpUserPayInfo.setStatus(PublicStatusEnum.ACTIVE.name());
          rpUserPayInfo.setOfflineAppId(ali_appid);
          rpUserPayInfo.setRsaPrivateKey(ali_rsaPrivateKey);
          rpUserPayInfo.setRsaPublicKey(ali_rsaPublicKey);
          rpUserPayInfoService.saveData(rpUserPayInfo);
        } else {
          rpUserPayInfo.setEditTime(new Date());
          rpUserPayInfo.setAppId(ali_partner);
          rpUserPayInfo.setMerchantId(ali_sellerId);
          rpUserPayInfo.setPartnerKey(ali_key);
          rpUserPayInfo.setPayWayCode(PayWayEnum.ALIPAY.name());
          rpUserPayInfo.setPayWayName(PayWayEnum.ALIPAY.getDesc());
          rpUserPayInfo.setOfflineAppId(ali_appid);
          rpUserPayInfo.setRsaPrivateKey(ali_rsaPrivateKey);
          rpUserPayInfo.setRsaPublicKey(ali_rsaPublicKey);
          rpUserPayInfoService.updateData(rpUserPayInfo);
        }
      }
    }
  }