xuhy
2025-03-07 193945d70b561bc96bb608b47b9b2e4dba3b45b2
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java
@@ -1,9 +1,17 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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.system.model.TInformation;
import com.ruoyi.system.query.TInformationQuery;
import com.ruoyi.system.service.TInformationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * <p>
@@ -13,9 +21,40 @@
 * @author xiaochen
 * @since 2025-01-17
 */
@Api(tags = "资讯管理")
@RestController
@RequestMapping("/t-information")
public class TInformationController {
    private final TInformationService informationService;
    private final RedisCache redisCache;
    @Autowired
    public TInformationController(TInformationService informationService, RedisCache redisCache) {
        this.informationService = informationService;
        this.redisCache = redisCache;
    }
    /**
     * 获取资讯管理管理列表
     */
    @ApiOperation(value = "获取资讯管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TInformation>> pageList(@RequestBody TInformationQuery query) {
        return R.ok(informationService.pageList(query));
    }
    /**
     * 获取资讯管理详情
     */
    @ApiOperation(value = "获取资讯管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TInformation> getDetailById(@RequestParam String id) {
        // 处理查看次数
        redisCache.increment(Constants.INFORMATION_VIEW + id);
        TInformation information = informationService.getById(id);
        information.setViewCount(redisCache.getCacheObject(Constants.INFORMATION_VIEW + information.getId()));
        return R.ok(information);
    }
}