diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 58381cb4a..1868b1e57 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -42,8 +42,10 @@ import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.StationInfoVO; import com.jsowell.pile.vo.uniapp.*; -import com.jsowell.pile.vo.uniapp.InvoiceRecordVO; -import com.jsowell.pile.vo.web.*; +import com.jsowell.pile.vo.web.BillingTemplateVO; +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.response.WechatPayNotifyParameter; import org.apache.commons.collections4.CollectionUtils; @@ -260,7 +262,6 @@ public class OrderService { // 封装对象 CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam(); createAdaPaymentParam.setOrder_no(orderInfo.getOrderCode()); - // createAdaPaymentParam.setPay_amt(new DecimalFormat("#.00").format(dto.getPayAmount())); createAdaPaymentParam.setPay_amt(AdapayUtil.formatAmount(dto.getPayAmount())); createAdaPaymentParam.setApp_id(ADAPAY_APP_ID); // todo 后面移动到配置文件中 createAdaPaymentParam.setPay_channel("wx_lite"); // todo 如果以后有支付宝等别的渠道,这里需要做修改,判断是什么渠道的请求 @@ -759,7 +760,15 @@ public class OrderService { public void adapayRefund(WeChatRefundDTO 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("没有找到退款处理逻辑"); + } } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java index d4cffbd70..0dc22d1c2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java @@ -24,6 +24,21 @@ public class AdapayCallbackRecord implements Serializable { */ private Integer id; + /** + * 会员id + */ + private String memberId; + + /** + * 充电订单号 + */ + private String orderCode; + + /** + * 支付类型(1-支付订单;2-充值余额) + */ + private String payScenario; + private String paymentId; /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 00931feee..51deb386c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -257,5 +257,15 @@ public interface IOrderBasicInfoService { String tempUpdateVirtualAmount(QueryOrderDTO dto); - void adapayRefund(WeChatRefundDTO dto); + /** + * 汇付支付 订单退款 + * @param dto + */ + void refundForOrderWithAdapay(WeChatRefundDTO dto); + + /** + * 汇付支付 余额退款 + * @param dto + */ + void refundForBalanceWithAdapay(WeChatRefundDTO dto); } 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 adac895ff..e21de17b5 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 @@ -1729,17 +1729,17 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } @Override - public void adapayRefund(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 { - logger.warn("没有找到退款处理逻辑"); - } + public void refundForOrderWithAdapay(WeChatRefundDTO dto) { + // 查出来原来的支付信息 + + // 判断支付金额和退款金额 + + // 创建汇付退款对象 + + } + + @Override + public void refundForBalanceWithAdapay(WeChatRefundDTO dto) { + } } diff --git a/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml index 8b73bedcb..c4f54b071 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml @@ -3,6 +3,9 @@ + + + @@ -23,7 +26,7 @@ - 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, del_flag @@ -38,12 +41,13 @@ where id = #{id,jdbcType=VARCHAR} - 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, order_no, out_trans_id, party_order_id, pay_amt, pay_channel, real_amt, 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}, #{orderNo,jdbcType=VARCHAR}, #{outTransId,jdbcType=VARCHAR}, #{partyOrderId,jdbcType=VARCHAR}, #{payAmt,jdbcType=DECIMAL}, #{payChannel,jdbcType=VARCHAR}, #{realAmt,jdbcType=DECIMAL}, @@ -52,6 +56,15 @@ insert into adapay_callback_record + + member_id, + + + order_code, + + + pay_scenario, + payment_id, @@ -108,6 +121,15 @@ + + #{memberId,jdbcType=VARCHAR}, + + + #{orderCode,jdbcType=VARCHAR}, + + + #{payScenario,jdbcType=VARCHAR}, + #{paymentId,jdbcType=VARCHAR}, @@ -167,6 +189,15 @@ update adapay_callback_record + + member_id = #{memberId,jdbcType=VARCHAR}, + + + order_code = #{orderCode,jdbcType=VARCHAR}, + + + pay_scenario = #{payScenario,jdbcType=VARCHAR}, + payment_id = #{paymentId,jdbcType=VARCHAR}, @@ -226,7 +257,10 @@ 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}, description = #{description,jdbcType=VARCHAR}, created_time = #{createdTime,jdbcType=VARCHAR},