username@email.com
2024-10-29 a5851a4e906725b868bcfdaa8c59249523137586
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/***********************************************************************
 *            Project: baifenBinfa
 *        ProjectName: 百分兵法管理系统                               
 *                Web: http://chuanyin.com                     
 *             Author:                                        
 *              Email:                               
 *         CreateTime: 202403/02   
 *        Description: 暂无
 ***********************************************************************/
 
using System.Collections.Generic;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.DTO;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
 
namespace CoreCms.Net.IServices
{
    /// <summary>
    ///     促销表 服务工厂接口
    /// </summary>
    public interface ICoreCmsPromotionServices : IBaseServices<CoreCmsPromotion>
    {
        /// <summary>
        ///     购物车的数据传过来,然后去算促销
        /// </summary>
        /// <param name="cart"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        Task<CartDto> ToPromotion(CartDto cart, int type = (int)GlobalEnumVars.PromotionType.Promotion);
 
        /// <summary>
        ///     购物车的数据传过来,然后去算优惠券
        /// </summary>
        /// <param name="cart"></param>
        /// <param name="promotions"></param>
        /// <returns></returns>
        Task<WebApiCallBack> ToCoupon(CartDto cart, List<CoreCmsPromotion> promotions);
 
        /// <summary>
        ///     根据促销信息,去计算购物车的促销情况
        /// </summary>
        /// <param name="promotion"></param>
        /// <param name="cartModel"></param>
        /// <returns></returns>
        Task<bool> SetPromotion(CoreCmsPromotion promotion, CartDto cartModel);
 
 
        /// <summary>
        /// 获取团购列表数据(根据类型获取当前可用)
        /// </summary>
        /// <returns></returns>
        Task<List<GroupPurchaseSeckillDTO>> GetGroupListForPages(int[] promotionIds);
 
 
        /// <summary>
        ///     获取团购列表数据(根据营销序列)
        /// </summary>
        /// <returns></returns>
        Task<WebApiCallBack> GetGroupList(int type, int status, int pageIndex, int pageSize);
 
        /// <summary>
        ///     获取团购/秒杀商品详情
        /// </summary>
        /// <returns></returns>
        Task<WebApiCallBack> GetGroupDetail(int goodId, int userId, int type, bool needSku);
 
        /// <summary>
        ///     获取可领取的优惠券
        /// </summary>
        /// <param name="limit">数量</param>
        /// <returns></returns>
        Task<List<CoreCmsPromotion>> ReceiveCouponList(int limit = 3);
 
 
        /// <summary>
        ///     获取可领取的优惠券(分页)
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="limit">数量</param>
        /// <returns></returns>
        Task<IPageList<CoreCmsPromotion>> GetReceiveCouponList(int page = 1, int limit = 10);
 
        /// <summary>
        ///     获取指定id 的优惠券是否可以领取
        /// </summary>
        /// <param name="promotionId"></param>
        /// <returns></returns>
        Task<WebApiCallBack> ReceiveCoupon(int promotionId);
 
        /// <summary>
        /// 获取全局促销列表
        /// </summary>
        /// <returns></returns>
        Task<List<GetPromotionResult>> GetPromotionList(int type = (int)GlobalEnumVars.PromotionType.Promotion);
 
    }
}