package com.doumee.service.business; import com.doumee.core.douyin.dto.DouyinBaseResp; import com.doumee.core.douyin.dto.DouyinCancelParam; import com.doumee.core.douyin.dto.DouyinPrepareParam; import com.doumee.core.douyin.dto.DouyinPrepareResp; import com.doumee.core.douyin.dto.DouyinVerifyParam; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.DouyinVerifyRecord; import com.doumee.dao.business.vo.DouyinVerifyRecordPageVO; /** * 抖音券核销 Service 定义 * * @author rk * @date 2026/06/22 */ public interface DouyinVerifyService { /** * 验券准备:扫码/输码 → 返回券列表 + verifyToken */ DouyinBaseResp prepare(DouyinPrepareParam param); /** * 验券(核销),并落核销记录 * @param operator 操作人ID(由调用端传入,web 端取登录会员ID) */ DouyinVerifyRecord verify(DouyinVerifyParam param, String operator); /** * 撤销核销(核销后 1 小时内),更新记录撤销状态 * @param operator 操作人ID(由调用端传入,web 端取登录会员ID) */ DouyinVerifyRecord cancel(DouyinCancelParam param, String operator); /** * 核销记录分页(web 端小程序自用,简单分页) */ PageData findPage(PageWrap pageWrap); /** * 核销记录分页(管理端对外):LEFT JOIN discount_member/member/douyin_product, * 带出订单编号、会员openid/手机号(脱敏)、团购商品名、抖音券名、类目、兑换人、状态文案。 * 查询条件:抖音券码、验券状态、撤销状态。 */ PageData findManagePage(PageWrap pageWrap); /** * 核销记录详情 */ DouyinVerifyRecord findById(String id); }