“mitao”
2026-04-29 4a28184ee117fa3aa5bf150d3e97698fd6c3e13c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.ruoyi.other.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.other.api.domain.TExchangeCodePackage;
import com.ruoyi.other.api.dto.ExchangeCodeBindDTO;
import com.ruoyi.other.api.dto.ExchangeCodeConsumeDTO;
import com.ruoyi.other.api.dto.ExchangeCodePackageSaveDTO;
import com.ruoyi.other.api.dto.ExchangeCodeUseRecordQuery;
import com.ruoyi.other.api.domain.TExchangeCodeUseRecord;
import com.ruoyi.other.api.vo.ExchangeCodeBindResultVO;
import com.ruoyi.other.api.vo.ExchangeCodeConsumeResultVO;
import com.ruoyi.other.api.vo.ExchangeCodePackageDetailVO;
import com.ruoyi.other.query.ExchangeCodeBatchInvalidDTO;
import com.ruoyi.other.query.ExchangeCodeDetailQuery;
import com.ruoyi.other.query.ExchangeCodePackageQuery;
import com.ruoyi.other.vo.ExchangeCodeBatchInvalidResultVO;
import com.ruoyi.other.vo.ExchangeCodeDetailVO;
 
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
public interface TExchangeCodePackageService extends IService<TExchangeCodePackage> {
 
    PageInfo<TExchangeCodePackage> pageList(ExchangeCodePackageQuery query);
 
    void savePackage(ExchangeCodePackageSaveDTO dto);
 
    void updatePackage(ExchangeCodePackageSaveDTO dto);
 
    void updatePackageStatus(Long id, Integer status);
 
    void refreshExpiredPackageCodes();
 
    void deletePackage(String ids);
 
    ExchangeCodePackageDetailVO getDetail(Long id);
 
    PageInfo<ExchangeCodeDetailVO> codePage(ExchangeCodeDetailQuery query);
 
    List<ExchangeCodeDetailVO> exportCodes(ExchangeCodeDetailQuery query);
 
    ExchangeCodeBatchInvalidResultVO batchInvalidate(ExchangeCodeBatchInvalidDTO dto);
 
    List<ExchangeCodeDetailVO> listDownloadableCodes(Long packageId, boolean onlyUnbound);
 
    ExchangeCodeDetailVO getCodeDetail(Long id);
 
    ExchangeCodeBindResultVO bindExchangeCode(ExchangeCodeBindDTO dto, Long userId, String phone);
 
    Map<Long, java.math.BigDecimal> getUserExchangeCodeBalanceMap(List<Long> userIds);
 
    ExchangeCodeConsumeResultVO consumeBalance(ExchangeCodeConsumeDTO dto);
 
    ExchangeCodeConsumeResultVO refundBalance(ExchangeCodeConsumeDTO dto);
 
    Page<TExchangeCodeUseRecord> useRecordPage(ExchangeCodeUseRecordQuery query);
 
    TExchangeCodeUseRecord useRecordDetail(Long id, Long userId);
}