package com.supersavedriving.user.modular.api;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.supersavedriving.user.modular.system.model.TActivity;
|
import com.supersavedriving.user.modular.system.model.TActivityArea;
|
import com.supersavedriving.user.modular.system.service.ITActivityAreaService;
|
import com.supersavedriving.user.modular.system.service.ITActivityService;
|
import com.supersavedriving.user.modular.system.util.RedisUtil;
|
import com.supersavedriving.user.modular.system.warpper.ResponseWarpper;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 用户控制器
|
*/
|
@RestController
|
@RequestMapping("")
|
public class ActivityController {
|
|
@Autowired
|
private ITActivityService activityService;
|
@Autowired
|
private ITActivityAreaService activityAreaService;
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@ResponseBody
|
@GetMapping("/base/appUser/getActivityList")
|
@ApiOperation(value = "获取活动列表", tags = {"用户端-首页"}, notes = "")
|
public ResponseWarpper<List<TActivity>> getList(@RequestParam("areaCode") String areaCode){
|
try {
|
List<TActivityArea> activityAreas = activityAreaService.selectList(new EntityWrapper<TActivityArea>().eq("areaCode", areaCode));
|
if(CollectionUtils.isEmpty(activityAreas)){
|
return ResponseWarpper.success(new ArrayList<>());
|
}
|
List<Integer> activityIds = activityAreas.stream().map(TActivityArea::getActivityId).distinct().collect(Collectors.toList());
|
List<TActivity> tActivities = activityService.selectList(new EntityWrapper<TActivity>().eq("status", 2)
|
.in("id", activityIds)
|
.eq("isDelete",0)
|
.ge("endTime", new Date())
|
.le("startTime", new Date()));
|
return ResponseWarpper.success(tActivities);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
@ResponseBody
|
@GetMapping("/api/appUser/queryDetail")
|
@ApiOperation(value = "获取活动详情", tags = {"用户端-首页"}, notes = "")
|
public ResponseWarpper<TActivity> queryDetail(@RequestParam("id") Integer id){
|
try {
|
TActivity activity = activityService.selectById(id);
|
// 添加查看次数
|
String value = redisUtil.getValue("activity_view_count:" + id);
|
if(StringUtils.hasLength(value)){
|
Integer count = Integer.parseInt(value)+1;
|
redisUtil.setStrValue("activity_view_count:" + id, count.toString());
|
}else {
|
redisUtil.setStrValue("activity_view_count:" + id, "1");
|
}
|
return ResponseWarpper.success(activity);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ResponseWarpper(500, e.getMessage());
|
}
|
}
|
|
}
|