package com.simple.service; import java.util.*; import com.github.pagehelper.PageInfo; import com.simple.common.ResultData; import com.simple.domain.po.WxAppinfo; import com.simple.domain.po.WxCUser; import com.simple.domain.po.WxPayOrder; import com.simple.enums.EnumPayWay; public interface WxPayOrderService { /** * 创建支付订单 * * @param record 支付订单请求 * @param payWay * @return */ ResultData createPayOrder(boolean isReal, boolean isShare, WxAppinfo appInfo, WxCUser user, WxPayOrder record, EnumPayWay payWay); /** * 微信支付订单查询 * @param appInfo 支付订单Appinfo * @param record 支付订单 */ ResultData payOrderQuery(WxAppinfo appInfo, WxPayOrder record); /** * 微信支付关闭订单 * @param appInfo 支付订单Appinfo * @param record 支付订单 */ ResultData payOrderClose(WxAppinfo appInfo, WxPayOrder record); /** * 异步通知 * * @param paramMap 异步通知参数 * @param payWay 支付方式 * @return */ String notify(Map paramMap, EnumPayWay payWay); /** * 支付成功处理 * * @param record * @param transactionId */ void handleOrderPaySuccess(WxPayOrder record, String transactionId); /** * 支付状态处理 * * @param record */ void handlePayOrderStatusUpdate(WxPayOrder record); /** * 页面回调 * * @param paramMap 页面通知参数 * @param payWay 支付方式 * @return */ void callback(Map paramMap, EnumPayWay payWay); /** * 保存或更新实体 * * @param record */ void saveOrUpdate(WxPayOrder record); /** * 根据实体查询分页列表 * * @param record * @param pageIndex * @param pageSize * @return */ PageInfo listAsPage(WxPayOrder record, Integer pageIndex, Integer pageSize); /** * 根据Id获得实体 * * @param id * @return */ WxPayOrder getById(Long id); /** * 根据obj获得实体 * * @param payOrder * @return */ WxPayOrder getByObj(WxPayOrder payOrder); /** * 根据Id删除实体 * * @param id */ void deleteById(Long id); }