| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.common.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.model.TSysActivity; |
| | | import com.ruoyi.system.query.TSysActivityQuery; |
| | | import com.ruoyi.system.service.TSysActivityService; |
| | | import com.ruoyi.system.vo.TSysActivityVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | private final TSysActivityService sysActivityService; |
| | | private final TokenService tokenService; |
| | | private final RedisCache redisCache; |
| | | @Autowired |
| | | public TSysActivityController(TSysActivityService sysActivityService, TokenService tokenService) { |
| | | public TSysActivityController(TSysActivityService sysActivityService, TokenService tokenService, RedisCache redisCache) { |
| | | this.sysActivityService = sysActivityService; |
| | | this.tokenService = tokenService; |
| | | this.redisCache = redisCache; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiOperation(value = "获取热门活动分页列表") |
| | | @PostMapping(value = "/pageList") |
| | | public R<PageInfo<TSysActivity>> pageList(@RequestBody TSysActivityQuery query) { |
| | | public R<PageInfo<TSysActivityVO>> pageList(@RequestBody TSysActivityQuery query) { |
| | | Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | if(roleType == 5){ |
| | | query.setRoleType(roleType); |
| | | query.setUserId(userId); |
| | | } |
| | | return R.ok(sysActivityService.pageList(query)); |
| | | } |
| | |
| | | @ApiOperation(value = "查看热门活动详情") |
| | | @GetMapping(value = "/getDetailById") |
| | | public R<TSysActivity> getDetailById(@RequestParam String id) { |
| | | return R.ok(sysActivityService.getById(id)); |
| | | TSysActivity sysActivity = sysActivityService.getById(id); |
| | | // 查询次数自增 使用数据库原子更新操作 |
| | | sysActivityService.update( |
| | | Wrappers.<TSysActivity>lambdaUpdate() |
| | | .setSql("click_count = click_count + 1") |
| | | .eq(TSysActivity::getId, id) |
| | | ); |
| | | // 如果是诊所 |
| | | Integer roleType = tokenService.getLoginUser().getUser().getRoleType(); |
| | | if(roleType == 5){ |
| | | Long userId = tokenService.getLoginUser().getUserId(); |
| | | Set<Long> clickCount = new HashSet<>(); |
| | | clickCount.add(userId); |
| | | redisCache.setCacheSet(Constants.SYS_ACTIVITY_CLICK_COUNT+id,clickCount); |
| | | } |
| | | return R.ok(sysActivity); |
| | | } |
| | | |
| | | /** |