单表的增删改查

  • controller层
/**
 * @Author afei
 * @Description //TODO $
 * @Date 2019/10/22
 * @time 17:56
 **/
@RestController
@RequestMapping("/cms/page")
public class CasPageController implements CmsPageControllerApi {


    @Autowired
    PageService pageService;

    @Override
    @GetMapping("/list/{page}/{size}")
    public QueryResponseResult findList(@PathVariable("page") int page, @PathVariable("size") int size, QueryPageRequest queryPageRequest) {

        //暂时用静态数据
        //定义queryResult
       /* QueryResult<CmsPage> queryResult=new QueryResult<>();
        List<CmsPage>  list= new ArrayList<>();
        CmsPage cmsPage=new CmsPage();
        cmsPage.setPageName("测试页面");
        list.add(cmsPage);
        queryResult.setList(list);
        queryResult.setTotal(1);
        QueryResponseResult  queryResponseResult=new QueryResponseResult(CommonCode.SUCCESS,queryResult);
        return queryResponseResult;*/

       //调用service
       return pageService.findList(page,size,queryPageRequest);
    }

    //新增页面
    @Override
    @PostMapping("/add")
    public CmsPageResult add(@RequestBody CmsPage cmsPage) {
        //json数据转换对象
        return pageService.add(cmsPage);
    }

    //修改功能
    //根据页面ID查询页面ID
    @Override
    @GetMapping("/get/{id}")
    public CmsPage findById(@PathVariable("id") String id) {
        return pageService.getById(id);
    }
    //修改页面
    @Override
    @PutMapping("/edit/{id}")
    public CmsPageResult edit(@PathVariable("id") String id, @RequestBody CmsPage cmsPage) {
        return pageService.update(id,cmsPage);
    }

    //根据ID删除页面
    @Override
    @DeleteMapping("/del/{id}")//使用http的delete方法完成此操作
    public ResponseResult delete(@PathVariable("id") String id) {
        return pageService.delete(id);
    }
}
  • service层

    
    
    /**
     * @Author afei
     * @Description //TODO $
     * @Date 2019/10/24
     * @time 9:45
     **/
    @Service
    public class PageService {
    
        @Autowired
        CmsPageRepository cmsPageRepository;
    
        /**
         * 页面查询方法
         *
         * @param page             页码,从1开始计数
         * @param size             每页记录数
         * @param queryPageRequest 查询条件
         * @return
         */
        public QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest) {
            if (queryPageRequest == null) {
                queryPageRequest = new QueryPageRequest();
            }
    
            //自定义条件查询
            //定义条件匹配器
            ExampleMatcher exampleMatcher = ExampleMatcher.matching()
                    .withMatcher("pageAliase", ExampleMatcher.GenericPropertyMatchers.contains());
            //条件值对象
            CmsPage cmsPage = new CmsPage();
    
            //设置条件值(站点ID)
            if (StringUtils.isNotEmpty(queryPageRequest.getSiteId())) {
                cmsPage.setSiteId(queryPageRequest.getSiteId());
            }
            //设置模板ID查询条件
            if (StringUtils.isNotEmpty(queryPageRequest.getTemplateId())) {
                cmsPage.setTemplateId(queryPageRequest.getTemplateId());
            }
            //设置页面别名查询条件
            if (StringUtils.isNotEmpty(queryPageRequest.getPageAliase())) {
                cmsPage.setPageAliase(queryPageRequest.getPageAliase());
            }
    
            //定义条件对象
            Example<CmsPage> example = Example.of(cmsPage, exampleMatcher);
    
            //分页参数
            if (page <= 0) {
                page = 1;
            }
            page = page - 1;
            if (size <= 0) {
                size = 10;
            }
            //分页对象
            Pageable pageable = PageRequest.of(page, size);
            //分页查询
            Page<CmsPage> all = cmsPageRepository.findAll(example, pageable);//实现自定义查询,并且分页查询
            QueryResult queryResult = new QueryResult();
            queryResult.setList(all.getContent());//数据列表
            queryResult.setTotal(all.getTotalElements());//数据总记录数
            QueryResponseResult queryResponseResult = new QueryResponseResult(CommonCode.SUCCESS, queryResult);
            return queryResponseResult;
        }
    
        //新增页面
        public CmsPageResult add(CmsPage cmsPage) {
            if (cmsPage ==null){
                //对象为空,抛出异常,非法参数异常
            }
            //校验页面名称,站点ID,页面webpath的唯一性
            //根据面名称,站点ID,页面webpath去cms_page集合,如果查到说明页面已经存在,如果查询不到页面继续添加
    
            CmsPage cmsPage1 = cmsPageRepository.findByPageNameAndSiteIdAndPageWebPath(
                    cmsPage.getPageName(),
                    cmsPage.getSiteId(),
                    cmsPage.getPageWebPath());
            if (cmsPage1 !=null) {
                //页面已经存在
                //抛出异常,异常内容就是页面已经存在
                ExceptionCast.cast(CmsCode.CMS_ADDPAGE_EXISTSNAME);
            }
                //调用dao新增页面
                cmsPage.setPageId(null);
                cmsPageRepository.save(cmsPage);
                return new CmsPageResult(CommonCode.SUCCESS, cmsPage);
        }
    
        //修改功能
        //根据页面Id查询页面
        public CmsPage getById(String id) {
            Optional<CmsPage> optional = cmsPageRepository.findById(id);
    
            if (optional.isPresent()) {
                CmsPage cmsPage = optional.get();
                return cmsPage;
            }
            return null;
        }
    
        //修改页面
        public CmsPageResult update(String id, CmsPage cmsPage) {
            //根据id从数据库查询信息
            CmsPage cmsPage1 = this.getById(id);
            if (cmsPage != null) {
                //准备更新的数据
                //设置要修改的数据
                cmsPage1.setTemplateId(cmsPage.getTemplateId());//更新模板ID
                cmsPage1.setSiteId(cmsPage.getSiteId());//更新站点ID
                cmsPage1.setPageAliase(cmsPage.getPageAliase());//更新页面别名
                cmsPage1.setPageName(cmsPage.getPageName());//更新页面名称
                cmsPage1.setPageWebPath(cmsPage.getPageWebPath());//更新访问路劲
                cmsPage1.setPagePhysicalPath(cmsPage.getPagePhysicalPath());//更新物理路径
                //提交修改
                CmsPage cmsPage2 = cmsPageRepository.save(cmsPage1);
                if (cmsPage2 != null) {
                    //返回成功
                    CmsPageResult cmsPageResult = new CmsPageResult(CommonCode.SUCCESS, cmsPage2);
                    return cmsPageResult;
                }
            }
            //修改失败
            return new CmsPageResult(CommonCode.FAIL, null);
        }
    
    
        //根据ID删除页面
        public ResponseResult delete(String id) {
            //查询页面
            Optional<CmsPage> optional = cmsPageRepository.findById(id);
            //判断页面是否为空
            if (optional.isPresent()){
                cmsPageRepository.deleteById(id);
                //提示删除成功
                return  new ResponseResult(CommonCode.SUCCESS);
            }
            //提示删除失败
            return new ResponseResult(CommonCode.FAIL);
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_41358110/article/details/103048006