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 activitySign(@RequestBody ActivitySignRequest activitySignRequest) { activitySignRequest.setMemberId(getMemberId()); return ApiResponse.success("操作成功",activitySignService.signActivity(activitySignRequest)); } /** * 分页获取 资讯/探店/活动 * @param pageWrap * @return */ @LoginRequired @ApiOperation(value = "分页获取 资讯/探店/活动列表", notes = "小程序端") @PostMapping("/getActivityCard") public ApiResponse> getActivityCard(@RequestBody PageWrap pageWrap){ return ApiResponse.success(activityService.getActivityCard(pageWrap)); } /** * 获取活动id * @param activityId 活动ID * @return */ @LoginRequired @ApiOperation(value = "查询获取活动详情", notes = "小程序端") @GetMapping("/getActivity") public ApiResponse getActivity(Integer activityId){ return ApiResponse.success(activityService.getActivity(activityId,getMemberId())); } /** * 获取活动id * @param activityId 活动ID * @return */ @LoginRequired @ApiOperation(value = "商户中心-获取活动详情信息", notes = "小程序端") @GetMapping("/getShopOrgActivity") public ApiResponse getShopOrgActivity(Integer activityId){ return ApiResponse.success(activityService.getActivity(activityId)); } /** * 咨询、探店详细信息 * @param activityId * @return */ @LoginRequired @ApiOperation(value = "咨询、探店详细信息", notes = "小程序端") @GetMapping("/getActivityProbeShopDTO") public ApiResponse getActivityProbeShopDTO(Integer activityId){ return ApiResponse.success(activityService.getActivityProbeShopDTO(activityId,getMemberId())); } /** * 获取该城市下的最热探店视频 * @param pageWrap * @return */ @LoginRequired @ApiOperation(value = "获取该城市下的最热探店视频列表", notes = "小程序端") @PostMapping("/getActivityVideoDTO") public ApiResponse> getActivityVideoDTO(PageWrap pageWrap){ return ApiResponse.success(activityService.getActivityVideoDTO(pageWrap)); } /** *获取收藏的 资讯/探店/活动分页列表 * @param pageWrap * @return */ @LoginRequired @ApiOperation(value = "获取收藏的 资讯/探店/活动 分页列表", notes = "小程序端") @PostMapping("/getUserCollectActivityCard") public ApiResponse> 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> getUserActivitySignCard(@RequestBody PageWrap pageWrap){ return ApiResponse.success(activityService.getUserActivitySignCard(pageWrap,getMemberId())); } /** * 获取商家活动列表 * @param pageWrap * @return */ @LoginRequired @ApiOperation(value = "获取商家活动列表", notes = "小程序端") @PostMapping("/getShopActivitySignCard") public ApiResponse> getShopActivitySignCard(@RequestBody PageWrap pageWrap){ return ApiResponse.success(activityService.getShopActivitySignCard(pageWrap)); } /** *获取活动参加用户 * @param pageWrap * @return */ @LoginRequired @ApiOperation(value = "获取活动参加用户", notes = "小程序端") @PostMapping("/getActivitySignUserDTO") public ApiResponse> getActivitySignUserDTO(@RequestBody PageWrap 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); } }