/**
* @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);
}
}