package com.ruoyi.web.controller.api;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.model.TNotice;
|
import com.ruoyi.system.query.TNoticeQuery;
|
import com.ruoyi.system.service.TNoticeService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 公告信息表 前端控制器
|
* </p>
|
*
|
* @author L
|
* @since 2025-12-30
|
*/
|
@RestController
|
@RequestMapping("/t-notice")
|
@Api(tags = "(青都)公告管理")
|
public class TNoticeController {
|
|
private final TNoticeService tNoticeService;
|
private final TokenService tokenService;
|
|
|
public TNoticeController(TNoticeService tNoticeService, TokenService tokenService) {
|
this.tNoticeService = tNoticeService;
|
this.tokenService = tokenService;
|
}
|
|
|
@ApiOperation(value = "公告管理分页列表")
|
@PostMapping(value = "/pageList")
|
public R<Page<TNotice>> pageList(@RequestBody TNoticeQuery query) {
|
Page<TNotice> page = new Page<>(query.getPageNum(), query.getPageSize());
|
LambdaQueryWrapper<TNotice> wrapper = new LambdaQueryWrapper<>();
|
wrapper.like(Objects.nonNull(query.getShowOnHome()), TNotice::getShowOnHome, query.getShowOnHome());
|
wrapper.like(Objects.nonNull(query.getTitle()), TNotice::getTitle, query.getTitle());
|
if(query.getCreateTime()!=null && !query.getCreateTime().isEmpty()){
|
String createTime = query.getCreateTime();
|
String[] split = createTime.split(" - ");
|
wrapper.between(TNotice::getCreateTime, split[0] + " 00:00:00", split[1] + " 23:59:59");
|
}
|
wrapper.orderByDesc(TNotice::getCreateTime);
|
Page<TNotice> pageInfo = tNoticeService.page(page, wrapper);
|
return R.ok(pageInfo);
|
}
|
|
|
@ApiOperation(value = "公告详情")
|
@GetMapping(value = "/detail/{id}")
|
public R<TNotice> detail(@PathVariable Integer id ) {
|
TNotice notice = tNoticeService.getById(id);
|
return R.ok(notice);
|
}
|
|
|
@ApiOperation(value = "公告添加")
|
@PostMapping(value = "/add")
|
@Log(title = "公告-添加", businessType = BusinessType.INSERT)
|
public R<String> add(@RequestBody TNotice tNotice) {
|
LoginUser loginUser = tokenService.getLoginUser();
|
String nickName = loginUser.getUser().getNickName();
|
tNotice.setCreateBy(nickName);
|
boolean save = tNoticeService.save(tNotice);
|
return save ? R.ok() : R.fail();
|
}
|
|
|
@ApiOperation(value = "公告修改")
|
@PostMapping(value = "/update")
|
@Log(title = "公告-修改", businessType = BusinessType.UPDATE)
|
public R<String> update(@RequestBody TNotice tNotice) {
|
LoginUser loginUser = tokenService.getLoginUser();
|
tNotice.setUpdateBy(loginUser.getUser().getNickName());
|
boolean update = tNoticeService.updateById(tNotice);
|
return update ? R.ok() : R.fail();
|
}
|
|
|
@ApiOperation(value = "公告删除")
|
@DeleteMapping(value = "/delete/{id}")
|
@Log(title = "公告-删除", businessType = BusinessType.DELETE)
|
public R<String> delete(@PathVariable Integer id ) {
|
boolean remove = tNoticeService.removeById(id);
|
return remove ? R.ok() : R.fail();
|
}
|
|
|
}
|