青羊经侦大队-数据平台
baizonghao
2023-03-21 94c89cf9f870027a290ea1c1c768d9901346acbf
src/main/java/com/example/jz/controller/PublicityController.java
@@ -1,18 +1,29 @@
package com.example.jz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.example.jz.dao.UserDao;
import com.example.jz.modle.PageParam;
import com.example.jz.modle.R;
import com.example.jz.modle.entity.Publicity;
import com.example.jz.modle.entity.User;
import com.example.jz.modle.vo.PublicityVo;
import com.example.jz.service.PublicityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import lombok.SneakyThrows;
import org.springframework.beans.BeanUtils;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.Date;
/**
 * 公共宣传表(Publicity)表控制层
@@ -22,23 +33,43 @@
 */
@RestController
@RequestMapping("publicity")
public class PublicityController extends ApiController {
@Api(tags = "公共宣传接口")
public class PublicityController {
    /**
     * 服务对象
     */
    @Resource
    private PublicityService publicityService;
    @Resource
    UserDao userDao;
    /**
     * 分页查询所有数据
     *
     * @param page 分页对象
     * @param page         分页对象
     * @param publicity 查询实体
     * @return 所有数据
     */
    @GetMapping
    public R selectAll(Page<Publicity> page, Publicity publicity) {
        return success(this.publicityService.page(page, new QueryWrapper<>(publicity)));
    @ApiOperation("分页查询所有数据")
    public R<IPage<PublicityVo>> selectAll(PageParam<Publicity> page, Publicity publicity) {
        ArrayList<PublicityVo> publicityVos = new ArrayList<>();
        PageParam<Publicity> publicityPageParam ;
        if (publicity.getStatus()!=null ){
            publicityPageParam = publicityService.page(page, new QueryWrapper<Publicity>().like(StringUtils.isNotBlank(publicity.getPublicityTitle()),"publicity_title",publicity.getPublicityTitle()).eq("status",publicity.getStatus()).orderByDesc("ctime"));
        }else {
            publicityPageParam = publicityService.page(page, new QueryWrapper<Publicity>().like(StringUtils.isNotBlank(publicity.getPublicityTitle()),"publicity_title",publicity.getPublicityTitle()).orderByDesc("ctime"));
        }
        publicityPageParam.getRecords().forEach(item->{
            PublicityVo publicityVo = new PublicityVo();
            BeanUtils.copyProperties(item,publicityVo);
            publicityVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id",item.getCreator())).getRealName());
            publicityVos.add(publicityVo);
        });
        PageParam<PublicityVo> publicityVoPageParam = new PageParam<>();
        BeanUtils.copyProperties(publicityPageParam,publicityVoPageParam);
        publicityVoPageParam.setRecords(publicityVos);
        return R.ok(publicityVoPageParam);
    }
    /**
@@ -48,8 +79,9 @@
     * @return 单条数据
     */
    @GetMapping("{id}")
    public R selectOne(@PathVariable Serializable id) {
        return success(this.publicityService.getById(id));
    @ApiOperation("通过主键查询单条数据")
    public R<Publicity> selectOne(@PathVariable Serializable id) {
        return R.ok(publicityService.getById(id));
    }
    /**
@@ -59,8 +91,12 @@
     * @return 新增结果
     */
    @PostMapping
    public R insert(@RequestBody Publicity publicity) {
        return success(this.publicityService.save(publicity));
    @ApiOperation("添加公共宣传")
    public R<Boolean> insert(@RequestBody Publicity publicity) {
        publicity.setStatus(0);
        publicity.setCtime(new Date());
        publicity.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username",  SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId());
        return R.ok(publicityService.save(publicity));
    }
    /**
@@ -70,19 +106,53 @@
     * @return 修改结果
     */
    @PutMapping
    public R update(@RequestBody Publicity publicity) {
        return success(this.publicityService.updateById(publicity));
    @ApiOperation("修改公共宣传内容")
    public R<Boolean> update(@RequestBody Publicity publicity) {
        return R.ok(publicityService.updateById(publicity));
    }
    /**
     * 删除数据
     * 下架公共宣传
     *
     * @param idList 主键结合
     * @return 删除结果
     * @param id 主键结合
     * @return 执行结果
     */
    @DeleteMapping
    public R delete(@RequestParam("idList") List<Long> idList) {
        return success(this.publicityService.removeByIds(idList));
    @GetMapping("offline/{id}")
    @ApiOperation("下架公共宣传")
    public R<Boolean> offline(@PathVariable Serializable id) {
        return R.ok(publicityService.undercarriage(id));
    }
    /**
     * 上架公共宣传
     *
     * @param id 主键结合
     * @return 执行结果
     */
    @GetMapping("release/{id}")
    @ApiOperation("上架公共宣传")
    public R<Boolean> release(@PathVariable Serializable id) {
        return R.ok(publicityService.grounding(id));
    }
    /**
     * 删除公共宣传
     *
     * @param id 主键结合
     * @return 执行结果
     */
    @DeleteMapping("{id}")
    @ApiOperation("删除公共宣传")
    public R<Boolean> delete(@PathVariable Serializable id) {
        return R.ok(publicityService.removeById(id));
    }
    @ApiOperation(httpMethod = "POST", value = "案件台-案件录入-案件导入")
    @PostMapping("/upload")
    @ApiResponse(message = "执行成功", code = 200)
    @SneakyThrows
    public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
        publicityService.loadFile(multipartFile);
        return R.ok();
    }
}