10、【分类模块管理】——添加分类接口开发

简介: 分类模块:分类模块是给后台管理员进行操作的,所以我们所有的行为都应该是建立在登录者是管理员的前提下。controller: @RequestMapping("add_category.

分类模块:分类模块是给后台管理员进行操作的,所以我们所有的行为都应该是建立在登录者是管理员的前提下。
controller

    @RequestMapping("add_category.do")
    @ResponseBody
    public ServerResponse addCategory(HttpSession session,String categoryName,@RequestParam(value = "parentId",defaultValue = "0") int parentId){
        //验证用户是否登录
        User user = (User)session.getAttribute(Const.CURRENT_USER);
        if(user==null){
            return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"用户未登录,请先登录");
        }
        //校验是否是管理员
        if(iUserService.checkAdminRole(user).isSuccess()){
            //是管理员,增加我们处理分类的逻辑
            return iCategoryService.addCategory(categoryName,parentId);

        }else {
            return ServerResponse.createByErrorMessage("无权限操作,需要管理员权限");
        }

    }

1、我们先来看看校验是不是管理员的接口:
server:

//校验是不是管理员
  ServerResponse checkAdminRole(User user);

serverImpl:

 //校验是不是管理员
    public ServerResponse checkAdminRole(User user){
        if(user!=null&&user.getRole().intValue()==Const.Role.ROLE_ADMIN){
            return ServerResponse.createBySuccess();
        }
        return ServerResponse.createByError();
    }

我们来看一下第二行代码,我们先判断用户是否为空,然后再获取当前登录用户在数据库中Role值,我们判断如果Role1则是管理员,普通用户默认为0,当我们获得当前登录用户的Role值与我们在枚举类中设置的值进行对比,如果和枚举中设置管理员对应的值一样,我们则判断当前登录用户为管理员。枚举类的编写在 4、相关工具类的 编写这篇文章中有写Const

2、当判断是管理员之后我们再来进行新增品类操作:
server:

    //添加品类
    ServerResponse addCategory(String categoryName, Integer parentId);

serverImpl:

  //增加分类
    public ServerResponse addCategory(String categoryName,Integer parentId){
        if(parentId==null|| StringUtils.isBlank(categoryName)){
            return ServerResponse.createByErrorMessage("参数错误,增加品类失败");
        }
        Category category=new Category();
        category.setName(categoryName);
        category.setParentId(parentId);
        category.setStatus(true);//true代表分类可用

        int  count= categoryMapper.insert(category);
        if(count>0){
            return ServerResponse.createBySuccessMessage("新增品类成功");
        }
        return ServerResponse.createByErrorMessage("服务器错误,新增品类失败");
    }

调用的是逆向工程生成的MapperMapper.xml
Mapper:

    int insert(Category record);

Mapper.xml:

 <insert id="insert" parameterType="com.mmall.pojo.Category" >
    insert into mmall_category (id, parent_id, name, 
      status, sort_order, create_time, 
      update_time)
    values (#{id,jdbcType=INTEGER}, #{parentId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
      #{status,jdbcType=BIT}, #{sortOrder,jdbcType=INTEGER}, now(),
      now())
  </insert>

接口测试:
Ⅰ、普通用户登陆:


img_113ad930bea2a660235a97d323f78380.png
image.png

Ⅱ、管理员身份登陆:


img_f16ebea4df6a61372148da98968c1525.png
image.png

数据库效果:
img_e65a92ff5392a95eecd75445d19a4431.png
image.png
相关文章
|
7月前
|
C++
嵌入清单
嵌入清单
|
7月前
|
Java 程序员
JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)
JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)
47 0
|
8月前
|
数据库 Python
文件的分类与管理
文件的分类与管理
211 0
|
8月前
|
监控 供应链 测试技术
如何利用API接口进行高效的商品变体管理?
要利用API接口进行高效的商品变体管理,您需要执行一系列策略和技术步骤来确保数据的准确性和实时性。以下是详细的指南:
|
安全
阿里云产品体系分为6大分类——安全——安全的6种模块
阿里云产品体系分为6大分类——安全——安全的6种模块自制脑图
157 1
阿里云产品体系分为6大分类——安全——安全的6种模块
|
安全
阿里云产品体系分为6大分类——安全——安全的6种模块——安全服务
阿里云产品体系分为6大分类——安全——安全的6种模块——安全服务自制脑图
138 1
|
安全 前端开发
开关电源模块的分类与作用
开关电源可分为 AC/DC 和 DC/DC 两大类,DC/DC 变换器现已实现模块化,且设计技术及生产工艺在国内外均已成熟和标准化,并已得到用户的认可,但 AC/DC 的模块化,因其自身的特性使得在模块化的进程中,遇到较为复杂的技术和工艺制造问题。
开关电源模块的分类与作用
|
Java 开发者
后台分类模块之相关类之创建 | 学习笔记
快速学习后台分类模块之相关类之创建
104 0
|
存储 Java 数据库
后台分类模块之相关类创建| 学习笔记
快速学习后台分类模块之相关类创建。
119 0
|
JavaScript 前端开发 Java
分类模块之查询所有分类 | 学习笔记
快速学习分类模块之查询所有分类。
145 0