This commit is contained in:
2023-06-13 11:28:15 +08:00
parent 0ba0b55cd7
commit b99d5f075e
19 changed files with 121 additions and 31 deletions

View File

@@ -110,7 +110,7 @@ public class SwaggerConfig {
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题:举视后台管理系统_接口文档")
.title("标题:有电充后台管理系统_接口文档")
// 描述
// .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息

View File

@@ -35,7 +35,7 @@ public class SMSUtil {
private static final int APP_ID = 1400536771;
// 签名使用的是签名内容而不是签名ID
private static final String SMS_SIGN = "举视新能源";
private static final String SMS_SIGN = "有电充新能源";
// 国家码 如 86 为中国
private static final String NATION_CODE = "86";

View File

@@ -9,6 +9,7 @@ import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.huifu.adapay.model.Member;
import com.huifu.adapay.model.SettleAccount;
import com.jsowell.adapay.dto.AdapayMemberInfoDTO;
import com.jsowell.adapay.vo.AdapayAccountBalanceVO;
import com.jsowell.adapay.vo.AdapayMemberInfoVO;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -23,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Map;
@Slf4j
@@ -126,25 +128,48 @@ public class AdapayMemberService {
Map<String, Object> settleCount = SettleAccount.create(settleCountParams);
log.info("创建汇付结算账户result:{}", settleCount);
AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount();
adapaySettleAccount.setMerchantId(dto.getMerchantId());
adapaySettleAccount.setAdapayMemberId(dto.getAdapayMemberId());
adapaySettleAccount.setCardId(dto.getCardId());
adapaySettleAccount.setCardName(dto.getCardName());
adapaySettleAccount.setCertId(dto.getCertId());
adapaySettleAccount.setCertType("00");
adapaySettleAccount.setTelNo(dto.getTelNo());
adapaySettleAccount.setBankCode(dto.getBankCode());
adapaySettleAccount.setBankAcctType(dto.getBankAcctType());
adapaySettleAccount.setProvCode(dto.getProvCode());
adapaySettleAccount.setAreaCode(dto.getAreaCode());
adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount);
if (settleCount != null && StringUtils.equals((String) settleCount.get("status"), "succeeded")) {
AdapaySettleAccount adapaySettleAccount = new AdapaySettleAccount();
adapaySettleAccount.setSettleAccountId((String) settleCount.get("id"));
adapaySettleAccount.setMerchantId(dto.getMerchantId());
adapaySettleAccount.setAdapayMemberId(dto.getAdapayMemberId());
adapaySettleAccount.setCardId(dto.getCardId());
adapaySettleAccount.setCardName(dto.getCardName());
adapaySettleAccount.setCertId(dto.getCertId());
adapaySettleAccount.setCertType("00");
adapaySettleAccount.setTelNo(dto.getTelNo());
adapaySettleAccount.setBankCode(dto.getBankCode());
adapaySettleAccount.setBankAcctType(dto.getBankAcctType());
adapaySettleAccount.setProvCode(dto.getProvCode());
adapaySettleAccount.setAreaCode(dto.getAreaCode());
adapaySettleAccountService.insertAdapaySettleAccount(adapaySettleAccount);
}
}
/**
* 查询汇付会员账户余额
*/
public void queryAdapayAccountBalance() {
public AdapayAccountBalanceVO queryAdapayAccountBalance(String merchantId) throws BaseAdaPayException {
AdapayAccountBalanceVO vo = AdapayAccountBalanceVO.builder().build();
// 通过merchantId 查询出汇付会员id 和 结算账户id用来查询余额
AdapaySettleAccount adapaySettleAccount = adapaySettleAccountService.selectByMerchantId(merchantId);
if (adapaySettleAccount == null) {
return vo;
}
String settle_account_id = adapaySettleAccount.getAdapayMemberId();
String member_id = adapaySettleAccount.getAdapayMemberId();
Map<String, Object> queryParams = Maps.newHashMap();
queryParams.put("settle_account_id", settle_account_id);
queryParams.put("member_id", member_id);
queryParams.put("app_id", ADAPAY_APP_ID);
Map<String, Object> settleCount = SettleAccount.balance(queryParams);
if (settleCount == null || settleCount.isEmpty() || StringUtils.equals((String)settleCount.get("status"), "succeeded")) {
return vo;
}
vo.setFrzBalance(new BigDecimal((String) settleCount.get("frz_balance")));
vo.setAcctBalance(new BigDecimal((String) settleCount.get("acct_balance")));
vo.setAvlBalance(new BigDecimal((String) settleCount.get("avl_balance")));
vo.setLastAvlBalance(new BigDecimal((String) settleCount.get("last_avl_balance")));
return vo;
}
}

View File

@@ -0,0 +1,25 @@
package com.jsowell.adapay.vo;
import lombok.*;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AdapayAccountBalanceVO {
// 账户余额,账户余额 = 可用余额 + 冻结余额
private BigDecimal acctBalance;
// 可用余额该余额大于0时才可发起取现。
private BigDecimal avlBalance;
// 冻结余额,当配置了自动结算功能,在每日发起结算时会将可用余额转为冻结金额。该部分金额不允许取现。
private BigDecimal frzBalance;
// 昨日日终余额。
private BigDecimal lastAvlBalance;
}

View File

@@ -2,6 +2,8 @@ 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;
@@ -11,6 +13,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author jsowell
* @date 2023-06-12
*/
@Getter
@Setter
public class AdapaySettleAccount extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -31,6 +35,12 @@ public class AdapaySettleAccount extends BaseEntity {
@Excel(name = "汇付会员id")
private String adapayMemberId;
/**
* 结算账户对象 id
*/
@Excel(name = "结算账户对象id")
private String settleAccountId;
/**
* 银行卡号
*/

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.AdapaySettleAccount;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -10,6 +11,7 @@ import java.util.List;
* @author jsowell
* @date 2023-06-12
*/
@Repository
public interface AdapaySettleAccountMapper {
/**
* 查询汇付结算账户
@@ -58,4 +60,6 @@ public interface AdapaySettleAccountMapper {
* @return 结果
*/
public int deleteAdapaySettleAccountByIds(Long[] ids);
AdapaySettleAccount selectByMerchantId(String merchantId);
}

View File

@@ -58,4 +58,6 @@ public interface IAdapaySettleAccountService {
* @return 结果
*/
public int deleteAdapaySettleAccountById(Long id);
AdapaySettleAccount selectByMerchantId(String merchantId);
}

View File

@@ -87,4 +87,9 @@ public class AdapaySettleAccountServiceImpl implements IAdapaySettleAccountServi
public int deleteAdapaySettleAccountById(Long id) {
return adapaySettleAccountMapper.deleteAdapaySettleAccountById(id);
}
@Override
public AdapaySettleAccount selectByMerchantId(String merchantId) {
return adapaySettleAccountMapper.selectByMerchantId(merchantId);
}
}

View File

@@ -8,6 +8,7 @@
<result property="id" column="id" />
<result property="merchantId" column="merchant_id" />
<result property="adapayMemberId" column="adapay_member_id" />
<result property="settleAccountId" column="settle_account_id" />
<result property="cardId" column="card_id" />
<result property="cardName" column="card_name" />
<result property="certId" column="cert_id" />
@@ -25,8 +26,14 @@
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="Base_Column_List">
id, merchant_id, adapay_member_id, settle_account_id, card_id, card_name, cert_id, cert_type, tel_no, bank_code, bank_name, bank_acct_type, prov_code, area_code, create_time, create_by, update_time, update_by, del_flag
</sql>
<sql id="selectAdapaySettleAccountVo">
select id, merchant_id, adapay_member_id, card_id, card_name, cert_id, cert_type, tel_no, bank_code, bank_name, bank_acct_type, prov_code, area_code, create_time, create_by, update_time, update_by, del_flag from adapay_settle_account
select
<include refid="Base_Column_List"/>
from adapay_settle_account
</sql>
<select id="selectAdapaySettleAccountList" parameterType="com.jsowell.pile.domain.AdapaySettleAccount" resultMap="AdapaySettleAccountResult">
@@ -34,6 +41,7 @@
<where>
<if test="merchantId != null and merchantId != ''"> and merchant_id = #{merchantId}</if>
<if test="adapayMemberId != null and adapayMemberId != ''"> and adapay_member_id = #{adapayMemberId}</if>
<if test="settleAccountId != null and settleAccountId != ''"> and settle_account_id = #{settleAccountId}</if>
<if test="cardId != null and cardId != ''"> and card_id = #{cardId}</if>
<if test="cardName != null and cardName != ''"> and card_name like concat('%', #{cardName}, '%')</if>
<if test="certId != null and certId != ''"> and cert_id = #{certId}</if>
@@ -58,6 +66,7 @@
<if test="id != null">id,</if>
<if test="merchantId != null">merchant_id,</if>
<if test="adapayMemberId != null">adapay_member_id,</if>
<if test="settleAccountId != null">settle_account_id,</if>
<if test="cardId != null">card_id,</if>
<if test="cardName != null">card_name,</if>
<if test="certId != null">cert_id,</if>
@@ -78,6 +87,7 @@
<if test="id != null">#{id},</if>
<if test="merchantId != null">#{merchantId},</if>
<if test="adapayMemberId != null">#{adapayMemberId},</if>
<if test="settleAccountId != null">#{settleAccountId},</if>
<if test="cardId != null">#{cardId},</if>
<if test="cardName != null">#{cardName},</if>
<if test="certId != null">#{certId},</if>
@@ -101,6 +111,7 @@
<trim prefix="SET" suffixOverrides=",">
<if test="merchantId != null">merchant_id = #{merchantId},</if>
<if test="adapayMemberId != null">adapay_member_id = #{adapayMemberId},</if>
<if test="settleAccountId != null">settle_account_id = #{settleAccountId},</if>
<if test="cardId != null">card_id = #{cardId},</if>
<if test="cardName != null">card_name = #{cardName},</if>
<if test="certId != null">cert_id = #{certId},</if>
@@ -130,4 +141,12 @@
#{id}
</foreach>
</delete>
<select id="selectByMerchantId" resultMap="AdapaySettleAccountResult">
select
<include refid="Base_Column_List"/>
from adapay_settle_account
where del_flag = '0'
and merchant_id = #{merchantId,jdbcType=VARCHAR}
</select>
</mapper>

View File

@@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 举视后台管理系统
VUE_APP_TITLE = 有电充后台管理系统
# 开发环境配置
ENV = 'development'
# 举视后台管理系统/开发环境
# 有电充后台管理系统/开发环境
VUE_APP_BASE_API = '/dev-api'
# 路由懒加载

View File

@@ -1,8 +1,8 @@
# 页面标题
VUE_APP_TITLE = 举视后台管理系统
VUE_APP_TITLE = 有电充后台管理系统
# 生产环境配置
ENV = 'production'
# 举视后台管理系统/生产环境
# 有电充后台管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'

View File

@@ -1,10 +1,10 @@
# 页面标题
VUE_APP_TITLE = 举视后台管理系统
VUE_APP_TITLE = 有电充后台管理系统
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 举视后台管理系统/测试环境
# 有电充后台管理系统/测试环境
VUE_APP_BASE_API = '/stage-api'

View File

@@ -1,7 +1,7 @@
{
"name": "jsowell",
"version": "1.0.0",
"description": "举视管理系统",
"description": "有电充管理系统",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",

View File

@@ -35,7 +35,7 @@ export default {
},
data() {
return {
title: '举视后台管理系统',
title: '有电充后台管理系统',
logo: logoImg
}
}

View File

@@ -152,7 +152,7 @@ export default {
orderInfo: [],
tableData: [{
pileSn:'9527',
stationName:'举视充电桩',
stationName:'有电充充电桩',
stationAddress:'昆山市黄埔江南路',
type:'直流',
power:'2131',

View File

@@ -1,7 +1,7 @@
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">举视后台管理系统</h3>
<h3 class="title">有电充后台管理系统</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"

View File

@@ -1,7 +1,7 @@
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">举视后台管理系统</h3>
<h3 class="title">有电充后台管理系统</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

View File

@@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require("compression-webpack-plugin");
const name = process.env.VUE_APP_TITLE || "举视后台管理系统"; // 网页标题
const name = process.env.VUE_APP_TITLE || "有电充后台管理系统"; // 网页标题
const port = process.env.port || process.env.npm_config_port || 8081; // 端口

View File

@@ -9,7 +9,7 @@
<version>1.0.0</version>
<name>jsowell</name>
<description>举视后台管理系统</description>
<description>有电充后台管理系统</description>
<properties>
<jsowell.version>1.0.0</jsowell.version>