update 汇付支付回调记录表 加字段

This commit is contained in:
2023-05-27 15:24:56 +08:00
parent eca9ec8d2a
commit 35413920d3
5 changed files with 89 additions and 21 deletions

View File

@@ -42,8 +42,10 @@ import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.PileInfoVO;
import com.jsowell.pile.vo.base.StationInfoVO; import com.jsowell.pile.vo.base.StationInfoVO;
import com.jsowell.pile.vo.uniapp.*; import com.jsowell.pile.vo.uniapp.*;
import com.jsowell.pile.vo.uniapp.InvoiceRecordVO; import com.jsowell.pile.vo.web.BillingTemplateVO;
import com.jsowell.pile.vo.web.*; import com.jsowell.pile.vo.web.OrderDetailInfoVO;
import com.jsowell.pile.vo.web.PileStationVO;
import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO;
import com.jsowell.wxpay.dto.WeChatRefundDTO; import com.jsowell.wxpay.dto.WeChatRefundDTO;
import com.jsowell.wxpay.response.WechatPayNotifyParameter; import com.jsowell.wxpay.response.WechatPayNotifyParameter;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -260,7 +262,6 @@ public class OrderService {
// 封装对象 // 封装对象
CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam(); CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam();
createAdaPaymentParam.setOrder_no(orderInfo.getOrderCode()); createAdaPaymentParam.setOrder_no(orderInfo.getOrderCode());
// createAdaPaymentParam.setPay_amt(new DecimalFormat("#.00").format(dto.getPayAmount()));
createAdaPaymentParam.setPay_amt(AdapayUtil.formatAmount(dto.getPayAmount())); createAdaPaymentParam.setPay_amt(AdapayUtil.formatAmount(dto.getPayAmount()));
createAdaPaymentParam.setApp_id(ADAPAY_APP_ID); // todo 后面移动到配置文件中 createAdaPaymentParam.setApp_id(ADAPAY_APP_ID); // todo 后面移动到配置文件中
createAdaPaymentParam.setPay_channel("wx_lite"); // todo 如果以后有支付宝等别的渠道,这里需要做修改,判断是什么渠道的请求 createAdaPaymentParam.setPay_channel("wx_lite"); // todo 如果以后有支付宝等别的渠道,这里需要做修改,判断是什么渠道的请求
@@ -759,7 +760,15 @@ public class OrderService {
public void adapayRefund(WeChatRefundDTO dto) { public void adapayRefund(WeChatRefundDTO dto) {
log.info("汇付退款 param:{}", JSON.toJSONString(dto)); log.info("汇付退款 param:{}", JSON.toJSONString(dto));
orderBasicInfoService.adapayRefund(dto); // 退款有两种情况 1-订单结算退款 2-用户余额退款
String refundType = dto.getRefundType();
if (StringUtils.equals(refundType, "1")) {
orderBasicInfoService.refundForOrderWithAdapay(dto);
} else if (StringUtils.equals(refundType, "2")) {
orderBasicInfoService.refundForBalanceWithAdapay(dto);
} else {
log.warn("没有找到退款处理逻辑");
}
} }
/** /**

View File

@@ -24,6 +24,21 @@ public class AdapayCallbackRecord implements Serializable {
*/ */
private Integer id; private Integer id;
/**
* 会员id
*/
private String memberId;
/**
* 充电订单号
*/
private String orderCode;
/**
* 支付类型1-支付订单2-充值余额)
*/
private String payScenario;
private String paymentId; private String paymentId;
/** /**

View File

@@ -257,5 +257,15 @@ public interface IOrderBasicInfoService {
String tempUpdateVirtualAmount(QueryOrderDTO dto); String tempUpdateVirtualAmount(QueryOrderDTO dto);
void adapayRefund(WeChatRefundDTO dto); /**
* 汇付支付 订单退款
* @param dto
*/
void refundForOrderWithAdapay(WeChatRefundDTO dto);
/**
* 汇付支付 余额退款
* @param dto
*/
void refundForBalanceWithAdapay(WeChatRefundDTO dto);
} }

View File

@@ -1729,17 +1729,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
} }
@Override @Override
public void adapayRefund(WeChatRefundDTO dto) { public void refundForOrderWithAdapay(WeChatRefundDTO dto) {
// 退款有两种情况 1-订单结算退款 2-用户余额退款 // 查出来原来的支付信息
String refundType = dto.getRefundType();
if (StringUtils.equals(refundType, "1")) { // 判断支付金额和退款金额
WechatPayRefundResponse response = refundForOrder(dto);
logger.info("订单结算退款 result:{}", JSONObject.toJSONString(response)); // 创建汇付退款对象
} else if (StringUtils.equals(refundType, "2")) {
WechatPayRefundResponse response = refundForBalance(dto); }
logger.info("用户余额退款 result:{}", JSONObject.toJSONString(response));
} else { @Override
logger.warn("没有找到退款处理逻辑"); public void refundForBalanceWithAdapay(WeChatRefundDTO dto) {
}
} }
} }

View File

@@ -3,6 +3,9 @@
<mapper namespace="com.jsowell.pile.mapper.AdapayCallbackRecordMapper"> <mapper namespace="com.jsowell.pile.mapper.AdapayCallbackRecordMapper">
<resultMap id="BaseResultMap" type="com.jsowell.pile.domain.AdapayCallbackRecord"> <resultMap id="BaseResultMap" type="com.jsowell.pile.domain.AdapayCallbackRecord">
<id column="id" property="id" /> <id column="id" property="id" />
<result column="member_id" jdbcType="VARCHAR" property="memberId" />
<result column="order_code" jdbcType="VARCHAR" property="orderCode" />
<result column="pay_scenario" jdbcType="VARCHAR" property="payScenario" />
<result column="payment_id" jdbcType="VARCHAR" property="paymentId" /> <result column="payment_id" jdbcType="VARCHAR" property="paymentId" />
<result column="app_id" jdbcType="VARCHAR" property="appId" /> <result column="app_id" jdbcType="VARCHAR" property="appId" />
<result column="description" jdbcType="VARCHAR" property="description" /> <result column="description" jdbcType="VARCHAR" property="description" />
@@ -23,7 +26,7 @@
<result column="del_flag" jdbcType="VARCHAR" property="delFlag" /> <result column="del_flag" jdbcType="VARCHAR" property="delFlag" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, payment_id, app_id, description, created_time, end_time, expend, fee_amt, order_no, out_trans_id, id, member_id, order_code, pay_scenario, payment_id, app_id, description, created_time, end_time, expend, fee_amt, order_no, out_trans_id,
party_order_id, pay_amt, pay_channel, real_amt, share_eq, `status`, wx_user_id, create_time, party_order_id, pay_amt, pay_channel, real_amt, share_eq, `status`, wx_user_id, create_time,
del_flag del_flag
</sql> </sql>
@@ -38,12 +41,13 @@
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</delete> </delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord" useGeneratedKeys="true"> <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord" useGeneratedKeys="true">
insert into adapay_callback_record (payment_id, app_id, description, created_time, insert into adapay_callback_record (member_id, order_code, pay_scenario, payment_id, app_id, description, created_time,
end_time, expend, fee_amt, end_time, expend, fee_amt,
order_no, out_trans_id, party_order_id, order_no, out_trans_id, party_order_id,
pay_amt, pay_channel, real_amt, pay_amt, pay_channel, real_amt,
share_eq, `status`, wx_user_id) share_eq, `status`, wx_user_id)
values (#{paymentId,jdbcType=VARCHAR},#{appId,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{createdTime,jdbcType=VARCHAR}, values (#{memberId,jdbcType=VARCHAR}, #{orderCode,jdbcType=VARCHAR}, #{payScenario,jdbcType=VARCHAR},
#{paymentId,jdbcType=VARCHAR},#{appId,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{createdTime,jdbcType=VARCHAR},
#{endTime,jdbcType=VARCHAR}, #{expend,jdbcType=OTHER}, #{feeAmt,jdbcType=DECIMAL}, #{endTime,jdbcType=VARCHAR}, #{expend,jdbcType=OTHER}, #{feeAmt,jdbcType=DECIMAL},
#{orderNo,jdbcType=VARCHAR}, #{outTransId,jdbcType=VARCHAR}, #{partyOrderId,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR}, #{outTransId,jdbcType=VARCHAR}, #{partyOrderId,jdbcType=VARCHAR},
#{payAmt,jdbcType=DECIMAL}, #{payChannel,jdbcType=VARCHAR}, #{realAmt,jdbcType=DECIMAL}, #{payAmt,jdbcType=DECIMAL}, #{payChannel,jdbcType=VARCHAR}, #{realAmt,jdbcType=DECIMAL},
@@ -52,6 +56,15 @@
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord" useGeneratedKeys="true"> <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord" useGeneratedKeys="true">
insert into adapay_callback_record insert into adapay_callback_record
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">
member_id,
</if>
<if test="orderCode != null">
order_code,
</if>
<if test="payScenario != null">
pay_scenario,
</if>
<if test="paymentId != null"> <if test="paymentId != null">
payment_id, payment_id,
</if> </if>
@@ -108,6 +121,15 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">
#{memberId,jdbcType=VARCHAR},
</if>
<if test="orderCode != null">
#{orderCode,jdbcType=VARCHAR},
</if>
<if test="payScenario != null">
#{payScenario,jdbcType=VARCHAR},
</if>
<if test="paymentId != null"> <if test="paymentId != null">
#{paymentId,jdbcType=VARCHAR}, #{paymentId,jdbcType=VARCHAR},
</if> </if>
@@ -167,6 +189,15 @@
<update id="updateByPrimaryKeySelective" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord"> <update id="updateByPrimaryKeySelective" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord">
update adapay_callback_record update adapay_callback_record
<set> <set>
<if test="memberId != null">
member_id = #{memberId,jdbcType=VARCHAR},
</if>
<if test="orderCode != null">
order_code = #{orderCode,jdbcType=VARCHAR},
</if>
<if test="payScenario != null">
pay_scenario = #{payScenario,jdbcType=VARCHAR},
</if>
<if test="paymentId != null"> <if test="paymentId != null">
payment_id = #{paymentId,jdbcType=VARCHAR}, payment_id = #{paymentId,jdbcType=VARCHAR},
</if> </if>
@@ -226,7 +257,10 @@
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord"> <update id="updateByPrimaryKey" parameterType="com.jsowell.pile.domain.AdapayCallbackRecord">
update adapay_callback_record update adapay_callback_record
set payment_id = #{paymentId,jdbcType=VARCHAR}, set member_id = #{memberId,jdbcType=VARCHAR},
order_code = #{orderCode,jdbcType=VARCHAR},
pay_scenario = #{payScenario,jdbcType=VARCHAR},
payment_id = #{paymentId,jdbcType=VARCHAR},
app_id = #{appId,jdbcType=VARCHAR}, app_id = #{appId,jdbcType=VARCHAR},
description = #{description,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR},
created_time = #{createdTime,jdbcType=VARCHAR}, created_time = #{createdTime,jdbcType=VARCHAR},