package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.other.api.domain.TNotice;
import com.ruoyi.other.api.dto.NoticeQueryDto;
import com.ruoyi.other.mapper.SysNoticeMapper;
import com.ruoyi.other.service.TNoticeService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
*
* 前端控制器
*
*
* @author 无关风月
* @since 2024-08-06
*/
@RestController
@RequestMapping("/t-notice")
public class TNoticeController {
@Resource
private TNoticeService noticeService;
@ApiOperation(tags = {"后台-内容设置-公告管理"},value = "新增修改")
@PostMapping(value = "/saveOrUpdate")
@Log(title = "【公告管理】新增修改公告", businessType = BusinessType.INSERT)
public AjaxResult saveOrUpdate(@RequestBody TNotice notice) {
noticeService.saveOrUpdate(notice);
return AjaxResult.success();
}
@ApiOperation(tags = {"后台-内容设置-公告管理"},value = "删除")
@DeleteMapping(value = "/deleteById")
@Log(title = "【公告管理】删除公告", businessType = BusinessType.DELETE)
public AjaxResult deleteById(String ids) {
String[] split = ids.split(",");
for (String id : split) {
noticeService.removeById(id);
}
return AjaxResult.success();
}
@ApiOperation(tags = {"后台-内容设置-公告管理"},value = "查询")
@PostMapping(value = "/pageList")
public AjaxResult> authPageList(@RequestBody NoticeQueryDto query) {
if (query.getStatus()==null){
return AjaxResult.success(noticeService.lambdaQuery()
.like(query.getContent()!=null&&query.getContent()!="",TNotice::getContent,query.getContent())
.page(Page.of(query.getPageCurr(),query.getPageSize())));
}
if (query.getStatus()==0){
return AjaxResult.success(noticeService.lambdaQuery()
.le(TNotice::getStartTime, LocalDateTime.now())
.like(query.getContent()!=null&&query.getContent()!="",TNotice::getContent,query.getContent())
.page(Page.of(query.getPageCurr(),query.getPageSize())));
}else if (query.getStatus()==1){
return AjaxResult.success(noticeService.lambdaQuery()
.ge(TNotice::getStartTime, LocalDateTime.now()).le(TNotice::getEndTime,LocalDateTime.now())
.like(query.getContent()!=null&&query.getContent()!="",TNotice::getContent,query.getContent())
.page(Page.of(query.getPageCurr(),query.getPageSize())));
}else if (query.getStatus()==2){
return AjaxResult.success(noticeService.lambdaQuery()
.ge(TNotice::getEndTime, LocalDateTime.now())
.like(query.getContent()!=null&&query.getContent()!="",TNotice::getContent,query.getContent())
.page(Page.of(query.getPageCurr(),query.getPageSize())));
}else{
return AjaxResult.success(noticeService.lambdaQuery()
.like(query.getContent()!=null&&query.getContent()!="",TNotice::getContent,query.getContent())
.page(Page.of(query.getPageCurr(),query.getPageSize())));
}
}
@ApiOperation(tags = {"小程序-首页-公告管理"},value = "查询")
@GetMapping(value = "/list")
public AjaxResult> list() {
return AjaxResult.success(noticeService.list(Wrappers.lambdaQuery(TNotice.class)
.le(TNotice::getStartTime, LocalDate.now())
.ge(TNotice::getEndTime,LocalDate.now())));
}
}