有做外贸的平台网站吗网站网页建设一般多少钱

当前位置: 首页 > news >正文

有做外贸的平台网站吗,网站网页建设一般多少钱,深圳建设局网站注册结构师培训附件,搭建wordpress配置#x1f4dd;个人主页#xff1a;哈__ 期待您的关注 目录 一、#x1f525;今日目标 二、☀SpringBoot代码修改 1.使用逆向工程生成Category表结构 2. 新增CategoryQueryParam 3.新增CategorySaveParam 4.新增CategotyQueryVo 三、#x1f916;新增分类管理的相关接口… 个人主页哈__ 期待您的关注  目录 一、今日目标 二、☀SpringBoot代码修改 1.使用逆向工程生成Category表结构 2. 新增CategoryQueryParam 3.新增CategorySaveParam 4.新增CategotyQueryVo 三、新增分类管理的相关接口

  1. /category/all 2./category/save 3./category/delete 1.我们删除的是一个二级分类 2.我们删除的是一个一级分类 一、今日目标 【wiki知识库】05.分类管理实现–前端Vue模块-CSDN博客 上一篇文章我把分类模块的前端部分给大家展示出来了这篇文章主要是为了配合上一篇其实这一篇文章应该先写到前边然后在发前端的部分。文章的主要内容是把分类管理的后端接口写出来。 二、☀SpringBoot代码修改 不知道你是否还记得我们电子书模块后端接口书写的流程【wiki知识库】02.wiki知识库SpringBoot后端的准备-CSDN博客在这篇文章当中我是用逆向工程生成了Ebook的一些项目结构现在我们需要Category模块。我们的第一步还是使用逆向工程。 1.使用逆向工程生成Category表结构 在我们util包下的 MybatisGenerator类中修改下方的代码把我们的表换成category然后运行代码。  2. 新增CategoryQueryParam package com.my.hawiki.param;import lombok.Data; import lombok.EqualsAndHashCode;EqualsAndHashCode(callSuper true) Data public class CategoryQueryParam extends PageParam { }3.新增CategorySaveParam package com.my.hawiki.param;import lombok.Data; import javax.validation.constraints.NotNull;Data public class CategorySaveParam {private Long id;private Long parent;NotNull(message 【名称】不能为空)private String name;NotNull(message 【排序】不能为空)private Integer sort; }4.新增CategotyQueryVo package com.my.hawiki.vo;import lombok.Data;Data public class CategoryQueryVo {private Long id;private Long parent;private String name;private Integer sort; }三、新增分类管理的相关接口 1. /category/all 在CatagotyController中添加以下代码 ResourceCategoryService categoryService;/*** 查询所有的分类* return/RequestMapping(/all)public CommonResp all(){ListCategoryQueryVo list categoryService.all();return new CommonResp(true,查询成功,list);} 为CategoryService接口添加all方法。然后CategoryServiceImpl实现该all方法这个方法很简单也用不到什么分页功能因为前端没有去考虑分类功能的分页查询所以直接查询的就是所有的分页。 ResourceCategoryMapper categoryMapper;Overridepublic ListCategoryQueryVo all() {ListCategory categories categoryMapper.selectList(null);ListCategoryQueryVo list CopyUtil.copyList(categories, CategoryQueryVo.class);return list;} 2./category/save CategoryController中添加下方代码 这里我做了一个sort值重复的判断如果你是添加数据并且数据库中也已经有了这个sort值了你就不能在添加了。 /** 添加分类* param categorySaveParam 添加分类参数* return/PostMapping(/save)public CommonResp save(Validated RequestBody CategorySaveParam categorySaveParam){// 先看看这个sort有没有被占用Category category categoryService.getOne(new LambdaQueryWrapperCategory().eq(Category::getSort,categorySaveParam.getSort()));if(category ! null categorySaveParam.getId()null){return new CommonResp(false,已经存在该顺序了,null);}boolean res categoryService.saveOrUpdate(CopyUtil.copy(categorySaveParam,Category.class));String message Boolean.TRUE.equals(res) ? 添加成功:添加失败;return new CommonResp(res,message,null);}3./category/delete 这里的分类删除操作其实考虑的东西还是很多的你删除掉了这个分类那么这个分类下的所有子分类也要删除对应得所有电子书也都需要删除。 这个地方还是有些难度的不过只要考虑清楚了就可以我带着大家考虑一下。   我们删除的是一个二级分类 倘若我们删除的是一个二级分类这个情况稍微好一些因为二级分类之间相互独立不影响我们删除一个二级分类我们只需要把属于该分类的所有电子书删掉就行。在删掉电子书的时候对应的电子书的文章我们也应该删掉这里先不考虑文章的事情我们只考虑分类与电子书。 我们删除的是一个一级分类 如果我们删除的是一个一级分类那我们要做的第一件事就是找到该一级分类下的所有二级分类然后对所有的二级分类进行删除操作然后对所有属于该一级分类的电子书进行删除操作这里我不是通过二级分类删除的电子书因为一个电子书有两个字段保留其定位一个是category1一级分类编号另一个是category2二级分类编号。我们可以直接通过一级分类编号进行删除操作。 在CategotyController中添加如下代码 /** 删除分类* param id 分类id* return*/DeleteMapping(/delete/{id})public CommonResp delete(PathVariable(id) Long id){boolean res categoryService.deleteById(id);String message Boolean.TRUE.equals(res) ? 删除成功:删除失败;return new CommonResp(res,message,null);} 在CategotyService中添加deleteById()方法我这里直接写CategotyServiceImpl中的方法实现。 上来拿到Id后先去数据库中查查这个id下有多少子分类如果大于0的话就说明有子分类那么我们要删除的分类就是一级分类了我用了一个stream流操作把所有子分类的id提取出来然后把这个一级分类的id加进去然后调用mapper的批量删除操作。把分类全部删除了之后就去看看哪些电子书的一级分类编号和我们传来的一样直接调用删除操作就行。 如果id本身就是一个二级分类的话我们直接把这个二级分类删除掉同样的把该二级分类下的电子书也全部删掉。   这里值得注意的就是这个 Transactional注解意味着我们开启事物一旦这个方法中出错了我们的事物要进行回滚操作。 OverrideTransactionalpublic boolean deleteById(Long id) {// 先找出来这个分类的子分类ListCategory categories categoryMapper.selectList(new LambdaQueryWrapperCategory().eq(Category::getParent, id));// 证明是一级分类if(categories.size()0){ListLong collect categories.stream().map(Category::getId).collect(Collectors.toList());collect.add(id);categoryMapper.deleteBatchIds(collect);ebookMapper.delete(new LambdaQueryWrapperEbook().eq(Ebook::getCategory1Id, id));}else{// 否则就是二级分类categoryMapper.deleteById(id);ebookMapper.delete(new LambdaQueryWrapperEbook().eq(Ebook::getCategory2Id, id));}return true;}