青羊经侦大队-数据平台
baizonghao
2023-04-23 4a9a9fa60f52be1e7c91f01df54b3cbae8c11d6c
src/main/java/com/example/jz/controller/CommonQuestionController.java
@@ -3,18 +3,26 @@
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.baomidou.mybatisplus.extension.api.R;
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.List;
import java.util.ArrayList;
import java.util.Date;
/**
 * 常见问题表(CommonQuestion)表控制层
@@ -24,13 +32,15 @@
 */
@RestController
@RequestMapping("commonQuestion")
@Api(tags = "常见问题表(CommonQuestion)表接口")
@Api(tags = "常见问题接口")
public class CommonQuestionController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private CommonQuestionService commonQuestionService;
    @Resource
    UserDao userDao;
    /**
     * 分页查询所有数据
@@ -41,8 +51,24 @@
     */
    @GetMapping
    @ApiOperation("分页查询所有数据")
    public R<IPage<CommonQuestion>> selectAll(PageParam<CommonQuestion> page, CommonQuestion commonQuestion) {
        return R.ok(commonQuestionService.page(page, new QueryWrapper<>(commonQuestion)));
    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);
    }
    /**
@@ -66,6 +92,9 @@
    @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));
    }
@@ -78,19 +107,50 @@
    @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 idList 主键结合
     * @param id 主键
     * @return 删除结果
     */
    @DeleteMapping
    @ApiOperation(value = "删除数据", notes = "删除数据")
    public R<Boolean> delete(@RequestParam("idList") List<Long> idList) {
        return R.ok(commonQuestionService.removeByIds(idList));
    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));
    }
}