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> getList(@RequestParam("areaCode") String areaCode){ try { List activityAreas = activityAreaService.selectList(new EntityWrapper().eq("areaCode", areaCode)); if(CollectionUtils.isEmpty(activityAreas)){ return ResponseWarpper.success(new ArrayList<>()); } List activityIds = activityAreas.stream().map(TActivityArea::getActivityId).distinct().collect(Collectors.toList()); List tActivities = activityService.selectList(new EntityWrapper().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 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()); } } }