doum
2025-12-12 dce1e83ec27a066ebc6c17a4ac6d03c9ad6ff703
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
package com.doumee.api.web;
 
import com.doumee.config.annotation.LoginRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.web.dto.activity.*;
import com.doumee.dao.web.request.ActivityPageListRequest;
import com.doumee.dao.web.request.ActivitySignRequest;
import com.doumee.dao.web.response.ActivitySignResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
 
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2023/3/23 17:33
 */
@Api(tags = "活动业务")
@Trace(exclude = true)
@RestController
@RequestMapping("/web/activity")
@Slf4j
public class ActivityApi extends ApiController{
 
    @LoginRequired
    @ApiOperation(value = "活动报名", notes = "小程序端")
    @PostMapping("/activitySign")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    @Transactional(rollbackFor = Exception.class)
    public ApiResponse<ActivitySignResponse> activitySign(@RequestBody ActivitySignRequest activitySignRequest) {
        activitySignRequest.setMemberId(getMemberId());
        return  ApiResponse.success("操作成功",activitySignService.signActivity(activitySignRequest));
    }
 
 
    /**
     * 分页获取 资讯/探店/活动
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "分页获取 资讯/探店/活动列表", notes = "小程序端")
    @PostMapping("/getActivityCard")
    public ApiResponse<PageData<ActivityCardDTO>> getActivityCard(@RequestBody PageWrap<ActivityPageListRequest> pageWrap){
        return  ApiResponse.success(activityService.getActivityCard(pageWrap));
    }
 
    /**
     * 获取活动id
     * @param activityId 活动ID
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "查询获取活动详情", notes = "小程序端")
    @GetMapping("/getActivity")
    public ApiResponse<BaseActivity> getActivity(Integer activityId){
        return ApiResponse.success(activityService.getActivity(activityId,getMemberId()));
    }
 
    /**
     * 获取活动id
     * @param activityId 活动ID
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "商户中心-获取活动详情信息", notes = "小程序端")
    @GetMapping("/getShopOrgActivity")
    public ApiResponse<BaseActivity> getShopOrgActivity(Integer activityId){
        return ApiResponse.success(activityService.getActivity(activityId));
    }
 
    /**
     * 咨询、探店详细信息
     * @param activityId
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "咨询、探店详细信息", notes = "小程序端")
    @GetMapping("/getActivityProbeShopDTO")
    public ApiResponse<ActivityProbeShopDTO> getActivityProbeShopDTO(Integer activityId){
        return ApiResponse.success(activityService.getActivityProbeShopDTO(activityId,getMemberId()));
    }
 
    /**
     * 获取该城市下的最热探店视频
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "获取该城市下的最热探店视频列表", notes = "小程序端")
    @PostMapping("/getActivityVideoDTO")
    public ApiResponse<PageData<ActivityVideoDTO>> getActivityVideoDTO(PageWrap<Integer> pageWrap){
        return ApiResponse.success(activityService.getActivityVideoDTO(pageWrap));
    }
 
    /**
     *获取收藏的 资讯/探店/活动分页列表
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "获取收藏的 资讯/探店/活动 分页列表", notes = "小程序端")
    @PostMapping("/getUserCollectActivityCard")
    public ApiResponse<PageData<ActivityCardDTO>> getUserCollectActivityCard(@RequestBody  PageWrap pageWrap){
        return ApiResponse.success(activityService.getUserCollectActivityCard(pageWrap,getMemberId()));
    }
 
 
    /**
     * 获取我参与活动列表 not_start  having  over
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "获取我参与活动列表 not_start  having  over", notes = "小程序端")
    @PostMapping("/getUserActivitySignCard")
    public ApiResponse<PageData<MemberActivitySignDTO>> getUserActivitySignCard(@RequestBody PageWrap<String> pageWrap){
        return ApiResponse.success(activityService.getUserActivitySignCard(pageWrap,getMemberId()));
    }
 
 
    /**
     * 获取商家活动列表
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "获取商家活动列表", notes = "小程序端")
    @PostMapping("/getShopActivitySignCard")
    public ApiResponse<PageData<ShopActivitySignDTO>> getShopActivitySignCard(@RequestBody PageWrap<ShopActivitySignDTO> pageWrap){
        return ApiResponse.success(activityService.getShopActivitySignCard(pageWrap));
    }
 
    /**
     *获取活动参加用户
     * @param pageWrap
     * @return
     */
    @LoginRequired
    @ApiOperation(value = "获取活动参加用户", notes = "小程序端")
    @PostMapping("/getActivitySignUserDTO")
    public ApiResponse<PageData<ActivitySignUserDTO>> getActivitySignUserDTO(@RequestBody PageWrap<Integer> pageWrap){
        return ApiResponse.success(activityService.getActivitySignUserDTO(pageWrap));
    }
 
 
    /**
     *
     *商家 新增/编辑活动
     * @param baseActivity
     */
    @LoginRequired
    @ApiOperation(value = "获取我参与活动列表 not_start  having  over", notes = "小程序端")
    @PostMapping("/creatOrUpdateShopOrgActivity")
    public ApiResponse creatOrUpdateShopOrgActivity(@RequestBody BaseActivity baseActivity){
 
        activityService.creatOrUpdateShopOrgActivity(baseActivity,getMemberId());
        return ApiResponse.success(null);
    }
 
 
 
}