Pu Zhibing
84 分钟以前 b293f932d31971dfff8769f61ad39de50fd28c43
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
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());
        }
    }
 
}