package com.example.jz.controller;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.extension.api.ApiController;
|
|
import com.example.jz.dao.UserDao;
|
import com.example.jz.modle.PageParam;
|
import com.example.jz.modle.R;
|
import com.example.jz.modle.entity.CommonQuestion;
|
import com.example.jz.modle.entity.User;
|
import com.example.jz.modle.vo.QuestionVo;
|
import com.example.jz.service.CommonQuestionService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.Date;
|
|
/**
|
* 常见问题表(CommonQuestion)表控制层
|
*
|
* @author makejava
|
* @since 2022-07-11 16:35:57
|
*/
|
@RestController
|
@RequestMapping("commonQuestion")
|
@Api(tags = "常见问题接口")
|
public class CommonQuestionController extends ApiController {
|
/**
|
* 服务对象
|
*/
|
@Resource
|
private CommonQuestionService commonQuestionService;
|
@Resource
|
UserDao userDao;
|
|
/**
|
* 分页查询所有数据
|
*
|
* @param page 分页对象
|
* @param commonQuestion 查询实体
|
* @return 所有数据
|
*/
|
@GetMapping
|
@ApiOperation("分页查询所有数据")
|
public R<IPage<QuestionVo>> selectAll(PageParam<CommonQuestion> page, CommonQuestion commonQuestion) {
|
ArrayList<QuestionVo> QuestionVos = new ArrayList<>();
|
PageParam<CommonQuestion> CommonQuestionPageParam ;
|
if (commonQuestion.getStatus()!=null ){
|
CommonQuestionPageParam = commonQuestionService.page(page, new QueryWrapper<CommonQuestion>().like(StringUtils.isNotBlank(commonQuestion.getQuestionTitle()),"question_title",commonQuestion.getQuestionTitle()).eq("status",commonQuestion.getStatus()).orderByDesc("ctime"));
|
}else {
|
CommonQuestionPageParam = commonQuestionService.page(page, new QueryWrapper<CommonQuestion>().like(StringUtils.isNotBlank(commonQuestion.getQuestionTitle()),"question_title",commonQuestion.getQuestionTitle()).orderByDesc("ctime"));
|
}
|
CommonQuestionPageParam.getRecords().forEach(item->{
|
QuestionVo QuestionVo = new QuestionVo();
|
BeanUtils.copyProperties(item,QuestionVo);
|
QuestionVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id",item.getCreator())).getRealName());
|
QuestionVos.add(QuestionVo);
|
});
|
PageParam<QuestionVo> QuestionVoPageParam = new PageParam<>();
|
BeanUtils.copyProperties(CommonQuestionPageParam,QuestionVoPageParam);
|
QuestionVoPageParam.setRecords(QuestionVos);
|
return R.ok(QuestionVoPageParam);
|
}
|
|
/**
|
* 通过主键查询单条数据
|
*
|
* @param id 主键
|
* @return 单条数据
|
*/
|
@GetMapping("{id}")
|
@ApiOperation(value = "通过主键查询单条数据", notes = "通过主键查询单条数据")
|
public R<CommonQuestion> selectOne(@PathVariable Serializable id) {
|
return R.ok(commonQuestionService.getById(id));
|
}
|
|
/**
|
* 新增数据
|
*
|
* @param commonQuestion 实体对象
|
* @return 新增结果
|
*/
|
@PostMapping
|
@ApiOperation(value = "新增数据", notes = "新增数据")
|
public R<Boolean> insert(@RequestBody CommonQuestion commonQuestion) {
|
commonQuestion.setStatus(0);
|
commonQuestion.setCtime(new Date());
|
commonQuestion.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId());
|
return R.ok(commonQuestionService.save(commonQuestion));
|
}
|
|
/**
|
* 修改数据
|
*
|
* @param commonQuestion 实体对象
|
* @return 修改结果
|
*/
|
@PutMapping
|
@ApiOperation(value = "修改数据", notes = "修改数据")
|
public R<Boolean> update(@RequestBody CommonQuestion commonQuestion) {
|
if (commonQuestion.getId() == 1) {
|
commonQuestion.setReleaseTime(new Date());
|
}
|
return R.ok(commonQuestionService.updateById(commonQuestion));
|
}
|
|
/**
|
* 删除数据
|
*
|
* @param id 主键
|
* @return 删除结果
|
*/
|
@DeleteMapping
|
@ApiOperation(value = "删除数据", notes = "删除数据")
|
public R<Boolean> delete(@RequestParam("id") Serializable id) {
|
return R.ok(commonQuestionService.removeById(id));
|
}
|
|
/**
|
* 发布
|
*
|
* @param id 主键
|
* @return 发布结果
|
*/
|
@ApiOperation(value = "发布", notes = "发布")
|
@GetMapping("release/{id}")
|
public R<Boolean> release(@PathVariable Serializable id) {
|
CommonQuestion commonQuestion = commonQuestionService.getById(id);
|
commonQuestion.setReleaseTime(new Date());
|
commonQuestion.setStatus(1);
|
return R.ok(commonQuestionService.updateById(commonQuestion));
|
}
|
|
/**
|
* 下架
|
*
|
* @param id 主键
|
* @return 发布结果
|
*/
|
@ApiOperation(value = "下架", notes = "下架")
|
@GetMapping("offline/{id}")
|
public R<Boolean> offline(@PathVariable Serializable id) {
|
CommonQuestion commonQuestion = commonQuestionService.getById(id);
|
commonQuestion.setStatus(2);
|
return R.ok(commonQuestionService.updateById(commonQuestion));
|
}
|
}
|