package com.hollywood.applet.controller;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.hollywood.applet.query.TPopularActivityQuery;
|
import com.hollywood.applet.service.TPopularActivityService;
|
import com.hollywood.applet.service.TPopularActivityUserService;
|
import com.hollywood.applet.utils.LoginInfoUtil;
|
import com.hollywood.applet.vo.TPopularActivityVO;
|
import com.hollywood.common.basic.ApiResult;
|
import com.hollywood.common.basic.PageInfo;
|
import com.hollywood.common.model.TOrder;
|
import com.hollywood.common.model.TPopularActivity;
|
import com.hollywood.common.model.TPopularActivityUser;
|
import com.hollywood.common.security.JwtTokenUtils;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.core.token.TokenService;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 热门活动 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2024-02-29
|
*/
|
@RestController
|
@RequestMapping("/tPopularActivity")
|
@Api(tags = "热门活动")
|
public class TPopularActivityController {
|
|
@Autowired
|
private TPopularActivityService popularActivityService;
|
@Autowired
|
private TPopularActivityUserService activityUserService;
|
@Autowired
|
private LoginInfoUtil loginInfoUtil;
|
|
|
|
// @ApiOperation(value = "查询")
|
// @GetMapping("/list")
|
// public ApiResult<PageInfo<TPopularActivity>> getConfigById(@RequestParam int pageNum,
|
// @RequestParam int pageSize, String name,String cityCode)
|
// {
|
// PageInfo<TPopularActivity> pageInfo = new PageInfo<>(pageNum, pageSize);
|
//// List<TPopularActivity> popularActivityList = popularActivityService.searchByName(name,pageInfo);
|
// QueryWrapper<TPopularActivity> tPopularActivityQueryWrapper = new QueryWrapper<>();
|
// tPopularActivityQueryWrapper.eq("activityStatus",2);
|
// tPopularActivityQueryWrapper.eq("status",1);
|
// if (name!=null){
|
// tPopularActivityQueryWrapper.like("activityName",name);
|
// }
|
// if (cityCode!=null){
|
// tPopularActivityQueryWrapper.eq("cityCode",cityCode);
|
// }
|
// PageInfo<TPopularActivity> popularActivityList = popularActivityService.page(pageInfo,tPopularActivityQueryWrapper);
|
// return ApiResult.success(popularActivityList);
|
// }
|
|
@ApiOperation(value = "获取热门活动分页列表")
|
@PostMapping(value = "/pageList")
|
public ApiResult<PageInfo<TPopularActivityVO>> pageList(@RequestBody TPopularActivityQuery query) {
|
Long userId = loginInfoUtil.getUserId();
|
List<Long> ids = new ArrayList<>();
|
if (query.getMine()!=null&&query.getMine()==1){
|
List<TPopularActivityUser> list = activityUserService.list(Wrappers.lambdaQuery(TPopularActivityUser.class)
|
.eq(TPopularActivityUser::getUserId, userId));
|
|
ids = list.stream()
|
.map(TPopularActivityUser::getActivityId)
|
.collect(Collectors.toList());
|
if (ids.size()==0){
|
return ApiResult.success(new PageInfo<>());
|
}
|
}
|
return ApiResult.success(popularActivityService.pageList(query,ids));
|
}
|
|
@ApiOperation("获取排序最高的两个活动")
|
@GetMapping("/hottwo")
|
public ApiResult<List<TPopularActivity>> getConfigById() {
|
List<TPopularActivity> list = popularActivityService.list(Wrappers.lambdaQuery(TPopularActivity.class)
|
.eq(TPopularActivity::getActivityStatus, 2)
|
.eq(TPopularActivity::getStatus, 1)
|
.orderByDesc(TPopularActivity::getSortBy));
|
return ApiResult.success(list);
|
}
|
|
@ApiOperation(value = "查看热门活动详情")
|
@GetMapping(value = "/geTPopularActivityDetailById")
|
public ApiResult<TPopularActivity> geTPopularActivityDetailById(@RequestParam Long id) {
|
Long userId = loginInfoUtil.getUserId();
|
TPopularActivity byId = popularActivityService.getById(id);
|
long count = activityUserService.count(Wrappers.lambdaQuery(TPopularActivityUser.class).eq(TPopularActivityUser::getActivityId, byId.getId()));
|
byId.setPeopleCounts(count);
|
long count1 = activityUserService.count(Wrappers.lambdaQuery(TPopularActivityUser.class).eq(TPopularActivityUser::getActivityId, byId.getId()).eq(TPopularActivityUser::getUserId,userId));
|
if (count1>0){
|
byId.setIsJoin(1);
|
}else {
|
byId.setIsJoin(0);
|
}
|
|
|
|
return ApiResult.success(byId);
|
}
|
|
@ApiOperation(value = "参加活动")
|
@PostMapping("/join")
|
public ApiResult join(Long activityId)
|
{
|
Long userId = loginInfoUtil.getUserId();
|
// LoginUser loginUser = tokenService.getLoginUser();
|
activityUserService.join(activityId, userId);
|
return ApiResult.success();
|
}
|
|
@ApiOperation(value = "取消活动")
|
@PostMapping("/cancel/{activityId}")
|
public ApiResult cancel(@PathVariable Long activityId)
|
{
|
Long userId = loginInfoUtil.getUserId();
|
|
activityUserService.remove(Wrappers.lambdaQuery(TPopularActivityUser.class).eq(TPopularActivityUser::getUserId,userId).eq(TPopularActivityUser::getActivityId,activityId));
|
return ApiResult.success();
|
}
|
|
}
|