最新公告
  • 新注册用户请前往个人中心绑定邮箱以便接收相关凭证邮件!!!点击前往个人中心
  • 从零到企业级SSM电商项目实战教程(二十四)添加分类和更新分类名字功能开发

    分类管理模块开发

    1、获取节点

    2、增加加点

    3、修改名字

    4、获取分类ID

    5、递归子节点ID

    学习目标

    1、如何设计及封装无限层级的树状数据结构

    2、递归算法的设计思想

    3、如何处理复杂对象排重

    4、重写hashcode和equal的注意事项

    CategoryManageController.java

    在controller包下的backend包下新建CategoryManageController.java

    package com.mmall.controller.backend;
    
    import com.mmall.common.Const;
    import com.mmall.common.ResponseCode;
    import com.mmall.common.ServerResponse;
    import com.mmall.pojo.User;
    import com.mmall.service.ICategoryService;
    import com.mmall.service.IUserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import javax.servlet.http.HttpSession;
    
    /**
     * @Author: Geekerstar(jikewenku.com)
     * @Date: 2018/6/23 10:58
     * @Description:
     */
    @Controller
    @RequestMapping("/manage/category")
    public class CategoryManageController {
    
        @Autowired
        private IUserService iUserService;
    
        @Autowired
        private ICategoryService iCategoryService;
    
    
        @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("无权限操作,需要管理员权限");
            }
        }
    
        @RequestMapping("set_category_name.do")
        @ResponseBody
        public ServerResponse setCategoryName(HttpSession session,Integer categoryId,String categoryName){
            User user =(User)session.getAttribute(Const.CURRENT_USER);
            if(user == null){
                return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),"用户名未登录,请登录");
            }
            if(iUserService.checkAdminRole(user).isSuccess()){
                //更新CategoryName
                return iCategoryService.updateCategoryName(categoryId,categoryName);
            }else{
                return ServerResponse.createByErrorMessage("无权限操作,需要管理员权限");
            }
        }
    }
    

    ICategoryService.java

    service包下新建ICategoryService.java及其实现类

    package com.mmall.service;
    
    import com.mmall.common.ServerResponse;
    
    /**
     * @Author: Geekerstar(jikewenku.com)
     * @Date: 2018/6/23 11:11
     * @Description:
     */
    public interface ICategoryService {
        ServerResponse addCategory(String categoryName, Integer parentId);
    
        ServerResponse updateCategoryName(Integer categoryId,String categoryName);
    }
    

    CategoryServiceImpl.java

    package com.mmall.service.impl;
    
    import com.mmall.common.ServerResponse;
    import com.mmall.dao.CategoryMapper;
    import com.mmall.pojo.Category;
    import com.mmall.service.ICategoryService;
    import org.apache.commons.lang3.StringUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    /**
     * @Author: Geekerstar(jikewenku.com)
     * @Date: 2018/6/23 11:12
     * @Description:
     */
    @Service("iCategoryService")
    public class CategoryServiceImpl implements ICategoryService {
    
        @Autowired
        private CategoryMapper categoryMapper;
    
        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);//这个分类是可用的
    
            int rowCount = categoryMapper.insert(category);
            if(rowCount > 0){
                return ServerResponse.createBySuccess("添加品类成功");
            }
            return ServerResponse.createByErrorMessage("添加品类失败");
        }
    
        public ServerResponse updateCategoryName(Integer categoryId,String categoryName){
            if(categoryId == null || StringUtils.isBlank(categoryName)){
                return ServerResponse.createByErrorMessage("更新品类参数错误");
            }
            Category category = new Category();
            category.setId(categoryId);
            category.setName(categoryName);
    
            int rowCount = categoryMapper.updateByPrimaryKeySelective(category);
            if(rowCount > 0){
                return ServerResponse.createBySuccess("更新品类名字成功");
            }
            return ServerResponse.createByErrorMessage("更新品类名字失败");
        }
    
    }
    

    IUserService.java

    ServerResponse checkAdminRole (User user);
    

    UserServiceImpl.java

    //backend
    
    /*
     * @Description:校验是否是管理员
     *
     * @auther: Geekerstar(jikewenku.com)
     * @date: 2018/6/23 11:07
     * @param: [user]
     * @return: com.mmall.common.ServerResponse
     */
    public ServerResponse checkAdminRole(User user){
        if(user != null && user.getRole().intValue() == Const.Role.ROLE_ADMIN){
            return ServerResponse.createBySuccess();
        }
        return ServerResponse.createByError();
    }
    
    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » 从零到企业级SSM电商项目实战教程(二十四)添加分类和更新分类名字功能开发

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    参与讨论

    • 176会员总数(位)
    • 3737资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 542稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级