You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.7 KiB
5.7 KiB
- 没有参加充值活动,并且,账户余额小于50元(后台可以设置),系统自动退款原路返回。
- 个人用户----用户充值 ---- 充电消费----余额到用户钱包,可以下次消费,如果没有参加充值送券活动,则该笔充值可以申请退款。后骒审核信息无误,可以原路退回。
D:\dsWork\YltProject\Ylt\ms-finance\src\main\java\com\charge\finance\controller\RecManageController.java
/**
* @param
* @return PageInfo<AccountRechargeListVO>
*/
@ApiOperation(value = "退款分页列表",response = AccountRechargeListVO.class)
@GetMapping(value = "/refundInfo")
public ResultVO<PageInfo<AccountRechargeListVO>> refundInfo(RechargeQueryDTO queryDTO) {
PageInfo<AccountRechargeListVO> refundPage = rechargeService.refundPage(queryDTO);
return ResultVO.success(refundPage);
}
<select id="refundPage" resultType="com.charge.finance.vo.AccountRechargeListVO">
SELECT
ifnull( te.id, '' ) rechargeId,
ifnull( date_format( refund_time, '%Y-%m-%d %H:%i:%s' ), '' ) refundTime,
ifnull( date_format( pay_time, '%Y-%m-%d %H:%i:%s' ), '' ) payTime,
ifnull( refund_money, '' ) refundMoney,
ifnull( refund_state, '' ) refundState,
ifnull( pay_money, '' ) payMoney,
ifnull( tu.id, '' ) userId,
ifnull( tu.phone, '' ) phone,
ifnull( refund_memo, '' ) refundMemo,
ifnull( outtradeno, '' ) outTradeNo,
ifnull( refund_outtradno, '' ) refundOuttradno,
ifnull( refund_operer, '' ) refundOperer,
ifnull( pay_type, '' ) payType,
ifnull( tu.user_type, '' ) userType,
ifnull( te.refund_reason, '' ) refundReason,
ifnull( tu.user_name, '' ) userName,
ifnull( te.refund_apply_time, '' ) refundApplyTime,
ifnull( te.refund_image, '' ) refundImage,
tu.user_owner_id as userOwnerId
FROM
t_account_recharge te
LEFT JOIN t_user tu ON te.user_id = tu.id
LEFT JOIN t_user_card c ON tu.id = c.user_id
WHERE
refund_state IN ( 1, 2, 3, 4 )
GROUP BY te.id
ORDER BY te.id DESC
</select>
Q
:如何知道一条充值订单是不是可以退款?
用户在申请退款时,如果这笔充值参加了活动,用户就不能选择这笔充值退款。
refund\_state
6
款状态(0未退款 1已退款 2 退款失败 3退款申请审核 4未退款驳回 5建帮活动不可退款)
select * from t_account_recharge where user_id=53958 and refund_state=6 order by id desc
App支付记录表 t_account_recharge
refund_state
refund_state IN ( 1, 2, 3, 4 )
退款状态(0未退款 1已退款 2 退款失败 3退款申请审核 4未退款驳回 5建帮活动不可退款)
4200002307202408129671269468
# 查看这个充值订单是不是可以退款
select * from t_account_recharge where outtradeno='4200002307202408129671269468'
refund_state =6 是参加了活动不能退款的
refund_state =0 是未退款的
应该检查此充值订单的refund_state 是否为0。
# 同时需要满足金额小于一个指定的数值,比如50元
# 其它充值订单
4200002345202408109427639311
4200002227202406207784559922
tkMoneyFaZhi
tkMoneyFaZhi | 退款金额阀值 | 50 |
---|---|---|
SELECT
ifnull( te.id, '' ) rechargeId,
ifnull( date_format( refund_time, '%Y-%m-%d %H:%i:%s' ), '' ) refundTime,
ifnull( date_format( pay_time, '%Y-%m-%d %H:%i:%s' ), '' ) payTime,
ifnull( refund_money, '' ) refundMoney,
ifnull( refund_state, '' ) refundState,
ifnull( pay_money, '' ) payMoney,
ifnull( tu.id, '' ) userId,
ifnull( tu.phone, '' ) phone,
ifnull( refund_memo, '' ) refundMemo,
ifnull( outtradeno, '' ) outTradeNo,
ifnull( refund_outtradno, '' ) refundOuttradno,
ifnull( refund_operer, '' ) refundOperer,
ifnull( pay_type, '' ) payType,
ifnull( tu.user_type, '' ) userType,
ifnull( te.refund_reason, '' ) refundReason,
ifnull( tu.user_name, '' ) userName,
ifnull( te.refund_apply_time, '' ) refundApplyTime,
ifnull( te.refund_image, '' ) refundImage,
tu.user_owner_id as userOwnerId
FROM
t_account_recharge te
LEFT JOIN t_user tu ON te.user_id = tu.id
LEFT JOIN t_user_card c ON tu.id = c.user_id
WHERE
outtradeno='4200002307202408129671269468'
D:\dsWork\YltProject\Ylt\ms-finance\src\main\java\com\charge\finance\service\impl\RefundBalanceServiceImpl.java
/**
* 后台退款-消费平账接口
*/
@Override
@Transactional(propagation= Propagation.REQUIRED,isolation= Isolation.DEFAULT)
public ResultVO operateAccount(AdminFinanceDTO adminFinanceDTO)
-- App支付记录表
-- 退款状态(0未退款 1已退款 2 退款失败 3退款申请审核 4未退款驳回 5建帮活动不可退款 6活动充值)
select * from t_account_recharge where user_id=95001 and refund_state=0 order by id desc ;
select * from t_account_recharge where memo='充值活动充值';
select * from t_account_recharge where refund_state=6 and memo='充值活动充值';
select * from t_account_recharge where refund_state=6 and memo<>'充值活动充值';
-- 结论:
-- 1、看refund_state=6 ,memo不靠谱
-- 2、从上面的情况来看,refund_state=0的才可以进行处理