电商项目第二天

​​​​​​今天老师讲了电商的第二天的知识,但是因为我的加载页面没出来,也找不出原因,只能重新去看视屏,感觉老师今天就讲了怎么添加,然后就是三级分布。

商品添加-根据父id:

@Override public List selectCategoryListByParentId(short parentId) { 
// 创建查询对象 
GoodsCategoryExample example = new GoodsCategoryExample(); 
// where条件 
example.createCriteria().andParentIdEqualTo(parentId);
 return goodsCategoryMapper.selectByExample(example);
 }

商品分类查询:

@Override public List selectCategoryList(short parentId) { 
// 创建查询对象
 GoodsCategoryExample example = new GoodsCategoryExample();
 // where条件 
example.createCriteria().andParentIdEqualTo(parentId);
 return goodsCategoryMapper.selectByExample(example); 
}

 controller:GoodsController

@Controller
 @RequestMapping("goodsCategory")
 public class GoodsController {
 @Autowired
 private GoodsCategoryService goodsCategoryService;
 /** * 商品分类-添加-页面跳转
 * @return
 */ 
@RequestMapping("category/add") 
public String categoryAdd(Model model){
 List gcList = goodsCategoryService.selectCategoryTopList();
 model.addAttribute("gcList",gcList);
 return "goods/category/category-add";
 }
 /**
 * 商品分类-列表-页面跳转
 * @return
 */
 @RequestMapping("category/list") public String categoryList(){
 return "goods/category/category-list"; 
} 
/**
 * 商品分类-添加-分类联查 
* @param parentId 
* @return 
*/
 @RequestMapping("category/{parentId}")
 @ResponseBody
 public List selectCategoryList(@PathVariable Short parentId){
 return goodsCategoryService.selectCategoryList(parentId);
 } 
}

<!-- 设置项目根路径全局变量 -->
<#assign ctx=request.contextPath/>
<script type="text/javascript">
    var ctx="${ctx}";
</script>
<html>
  <head>
    <meta charset="UTF-8">
    <title>ego管理后台</title>
    <!-- Tell the browser to be responsive to screen width -->
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- Bootstrap 3.3.4 -->
    <link href="${ctx}//bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <!-- FontAwesome 4.3.0 -->
   <link href="${ctx}//bootstrap/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
    <!-- Ionicons 2.0.0 --
    <link href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" type="text/css" />
    <link href="${ctx}//dist/css/AdminLTE.min.css" rel="stylesheet" type="text/css" />
     AdminLTE Skins. Choose a skin from the css/skins
       folder instead of downloading all of them to reduce the load. -->
    <link href="${ctx}//dist/css/skins/_all-skins.min.css" rel="stylesheet" type="text/css" />
    <!-- iCheck -->
    <link href="${ctx}//plugins/iCheck/flat/blue.css" rel="stylesheet" type="text/css" />   
    <!-- jQuery 2.1.4 -->
    <script src="${ctx}//plugins/jQuery/jQuery-2.1.4.min.js"></script>
   <script src="${ctx}//js/global.js"></script>
    <script src="${ctx}//js/myFormValidate.js"></script>    
    <script src="${ctx}//bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
    <script src="${ctx}//js/layer/layer-min.js"></script><!-- 弹窗js 参考文档 http://layer.layui.com/-->
    <script src="${ctx}//js/myAjax.js"></script>
    <script type="text/javascript">
    function delfunc(obj){
       layer.confirm('确认删除?', {
            btn: ['确定','取消'] //按钮
          }, function(){
                $.ajax({
                   type : 'post',
                   url : $(obj).attr('data-url'),
                   data : {act:'del',del_id:$(obj).attr('data-id')},
                   dataType : 'json',
                   success : function(data){
                      if(data==1){
                         layer.msg('操作成功', {icon: 1});
                         $(obj).parent().parent().remove();
                      }else{
                         layer.msg(data, {icon: 2,time: 2000});
                      }
                      layer.closeAll();
                   }
                })
          }, function(index){
             layer.close(index);
             return false;// 取消
          }
       );
    }
    
    //全选
    function selectAll(name,obj){
       $('input[name*='+name+']').prop('checked', $(obj).checked);
    }   
    
    function get_help(obj){
        layer.open({
            type: 2,
            title: '帮助手册',
            shadeClose: true,
            shade: 0.3,
            area: ['90%', '90%'],
            content: $(obj).attr('data-url'),
        });
    }
    
    function delAll(obj,name){
       var a = [];
       $('input[name*='+name+']').each(function(i,o){
          if($(o).is(':checked')){
             a.push($(o).val());
          }
       })
       if(a.length == 0){
          layer.alert('请选择删除项', {icon: 2});
          return;
       }
       layer.confirm('确认删除?', {btn: ['确定','取消'] }, function(){
             $.ajax({
                type : 'get',
                url : $(obj).attr('data-url'),
                data : {act:'del',del_id:a},
                dataType : 'json',
                success : function(data){
                   if(data == 1){
                      layer.msg('操作成功', {icon: 1});
                      $('input[name*='+name+']').each(function(i,o){
                         if($(o).is(':checked')){
                            $(o).parent().parent().remove();
                         }
                      })
                   }else{
                      layer.msg(data, {icon: 2,time: 2000});
                   }
                   layer.closeAll();
                }
             })
          }, function(index){
             layer.close(index);
             return false;// 取消
          }
       );
    }
    </script>        
  <meta name="__hash__" content="3089b9badfca8307d7d520487d125ae4_6385f66dff50b4c04db3ec79b8a9d245" /></head>
  <body style="background-color:#ecf0f5;">


<div class="wrapper">
    <div class="breadcrumbs" id="breadcrumbs">
   <ol class="breadcrumb">
   <li><a href="javascript:void();"><i class="fa fa-home"></i>&nbsp;&nbsp;后台首页</a></li>
           
           <li><a href="javascript:void();">商品管理</a></li>    
           <li><a href="javascript:void();">添加修改分类</a></li>          
   </ol>
</div>


      <section class="content">
            <div class="row">
                <div class="col-sm-12">
                    <div class="box">
                        <div class="box-header">
                            <h3 class="box-title">增加分类</h3>
                         <div class="pull-right">
                            <a href="javascript:history.go(-1)" data-toggle="tooltip" title="" class="btn btn-default" data-original-title="返回"><i class="fa fa-reply"></i></a>
                            <a href="javascript:;" class="btn btn-default" data-url="http://www.ego.cn/Doc/Index/article/id/1006/developer/user.html" onclick="get_help(this)"><i class="fa fa-question-circle"></i> 帮助</a>
                         </div>
                        </div>
                        <!-- /.box-header -->
                        <form action="/index/Admin/Goods/addEditCategory" method="post" class="form-horizontal" id="category_form">
                        <div class="box-body">                         
                                <div class="form-group">
                                     <label class="col-sm-2 control-label">分类名称</label>
                                     <div class="col-sm-6">
                                        <input type="text" placeholder="名称" class="form-control large" name="name" value="">
                                        <span class="help-inline" style="color:#F00; display:none;" id="err_name"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="control-label col-sm-2">手机分类名称</label>
                                    <div class="col-sm-6">
                                        <input type="text" placeholder="手机分类名称" class="form-control large" name="mobile_name" value="">
                                        <span class="help-inline" style="color:#F00; display:none;" id="err_mobile_name"></span>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label0 class="control-label col-sm-2">上级分类</label0>


                                    <div class="col-sm-3">
                                        <select name="parent_id_1" id="parent_id_1" onchange="get_category(this.value,'parent_id_2','0');" class="small form-control">
                                           <option value="0">顶级分类</option>
                                            <option value="1">手机 、 数码 、 通信</option><option value="2">家用电器</option><option value="3">电脑、办公</option><option value="4">家居、家具、家装、厨具</option><option value="5">男装、女装、童装、内衣</option><option value="6">个人化妆</option><option value="7">鞋、箱包、珠宝、手表</option><option value="8">运动户外</option><option value="9">汽车用品</option><option value="10">母婴用品、儿童玩具</option><option value="11">图书、音像、电子书</option>                                            
                              </select>
                                    </div>                                    
                                    <div class="col-sm-3">
                                      <select name="parent_id_2" id="parent_id_2"  class="small form-control">
                                        <option value="0">请选择商品分类</option>
                                      </select>  
                                    </div>                                      
                                </div>
                                <div class="form-group">
                                    <label class="control-label col-sm-2">导航显示</label>
                           
                                    <div class="col-sm-10">
                                        <label>
                                            <input checked="checked" type="radio" name="is_show" value="1"> 是
                                                <input type="radio" name="is_show" value="0"> 否
                                                                                                                                                                                
                                        </label>
                                    </div>
                                </div>
            <div class="form-group">
                                    <label class="control-label col-sm-2">分类分组:</label>
                           
                                    <div class="col-sm-1">
                                      <select name="cat_group" id="cat_group" class="form-control">
                                        <option value="0">0</option>                                        
                                        <option value='1' >1</option>"
                                        <option value='2' >2</option>"
                                        <option value='3' >3</option>"
                                        <option value='4' >4</option>"
                                        <option value='5' >5</option>"
                                        <option value='6' >6</option>"
                                        <option value='7' >7</option>"
                                        <option value='8' >8</option>"
                                        <option value='9' >9</option>"
                                        <option value='10' >10</option>"
                                        <option value='11' >11</option>"
                                        <option value='12' >12</option>"
                                        <option value='13' >13</option>"
                                        <option value='14' >14</option>"
                                        <option value='15' >15</option>"
                                        <option value='16' >16</option>"
                                        <option value='17' >17</option>"
                                        <option value='18' >18</option>"
                                        <option value='19' >19</option>"
                                        <option value='20' >20</option>"
                                      </select>                                        
                                    </div>                                    
                                </div>   
                             
              <div class="form-group">
                                       <label class="control-label col-sm-2">分类展示图片</label>


                                    <div class="col-sm-10">
                                        <input onclick="GetUploadify(1,'image','category');" type="button" value="上传图片"/>
                                        <input type="text" value="" name="image" id="image" class="form-control large" readonly="readonly"  style="width:500px;display:initial;"/>
                                    </div>
                                </div>                                
                               <div class="form-group">
                                    <label class="control-label col-sm-2">显示排序</label>
                                    <div class="col-sm-1">
                                        <input type="text" placeholder="50" class="form-control large" name="sort_order" value=""/>
                                        <span class="help-inline" style="color:#F00; display:none;" id="err_sort_order"></span>
                                    </div>
                                </div>
                        <div class="form-group">
                                    <label class="control-label col-sm-2">分佣比例</label>
                                    <div class="col-sm-1">
                                        <input type="text" placeholder="50" class="form-control large" name="commission_rate" id="commission_rate" value="0" onpaste="this.value=this.value.replace(/[^\d.]/g,'')" onkeyup="this.value=this.value.replace(/[^\d.]/g,'')"/>
                                    </div>
                                    <div class="col-sm-1" style="margin-top: 6px;margin-left: -20px;">
                                        <span>%</span>
                                    </div>
                                </div>                                                                                                                     
                        </div>
                        <div class="box-footer">                           
                            <input type="hidden" name="id" value="">                           
                           <button type="reset" class="btn btn-primary pull-left"><i class="icon-ok"></i>重填  </button>                                         
                            <button type="button" onclick="ajax_submit_form('category_form','/index/Admin/Goods/addEditCategory/is_ajax/1');" class="btn btn-primary pull-right"><i class="icon-ok"></i>提交  </button>
                        </div>
                        <input type="hidden" name="__hash__" value="3089b9badfca8307d7d520487d125ae4_6385f66dff50b4c04db3ec79b8a9d245" /></form>
                    </div>
                </div>
            </div>
        </section>
</div>
<script>  
    
/** 以下是编辑时默认选中某个商品分类*/
$(document).ready(function(){
       
      
});
</script>
   
</body>
</html>

int categorySave(GoodsCategory goodsCategory);

impl的保存
@Override
 public int categorySave(GoodsCategory goodsCategory) {
 return goodsCategoryMapper.insertSelective(goodsCategory);
 }

List selectCategoryListForView();

/**
 * 商品分类-列表 
* 
@return
 */ 
@Override
 public List selectCategoryListForView() {
 //创建查询对象
 GoodsCategoryExample example = new GoodsCategoryExample();
 //where条件 parentId=0 and level = 1
 example.createCriteria().andParentIdEqualTo((short) 0).andLevelEqualTo((byte) 1);
 //查询一级分类
 List gcList01 = goodsCategoryMapper.selectByExample(example);
 //处理一级分类查询下级分类
 List gcvList01 = new ArrayList<>();
 for (GoodsCategory gc01 : gcList01) {
 //将GoodsCategory对象转成GoodsCategoryVo对象
 GoodsCategoryVo gcv01 = new GoodsCategoryVo();
 BeanUtils.copyProperties(gc01,gcv01);
 // 清空查询对象
 example.clear();
 //设置查询参数
 example.createCriteria().andParentIdEqualTo(gcv01.getId()).andLevelEqualT o((byte) 2);
 //查询二级分类
 List gcList02 = goodsCategoryMapper.selectByExample(example);
 //处理二级分类查询下级分类
 List gcvList02 = new ArrayList<>();
 for (GoodsCategory gc02 : gcList02) {
 //将GoodsCategory对象转成GoodsCategoryVo对象
 GoodsCategoryVo gcv02 = new GoodsCategoryVo();
 BeanUtils.copyProperties(gc02,gcv02);
 // 清空查询对象
 example.clear();
 //设置查询参数
 example.createCriteria().andParentIdEqualTo(gcv02.getId()).andLevelEqualTo ((byte) 3);
 //查询三级分类
 List gcList03 = goodsCategoryMapper.selectByExample(example);
 // 处理三级分类添加至二级二级分类vo对象
 List gcvList03 = new ArrayList<>();
 for (GoodsCategory gc03 : gcList03) {
 //将GoodsCategory对象转成GoodsCategoryVo对象
 GoodsCategoryVo gcv03 = new GoodsCategoryVo();
 BeanUtils.copyProperties(gc03,gcv03);
 //将对象添加至三级分类vo对象
List gcvList03.add(gcv03);
 }
 // 将三级分类List添加至二级分类
 gcv02.setChildren(gcvList03);
 // 讲对象添加至二级分类Vo对象
List gcvList02.add(gcv02);
 }
 // 将二级分类List添加至一级分类
 gcv01.setChildren(gcvList02);
 // 将对象添加至一级分类Vo对象
List gcvList01.add(gcv01);
 }
  return gcvList01;
 }

@RequestMapping("category/list")
 public String categoryList(Model model) {
 List gcvList = goodsCategoryService.selectCategoryListForView(); model.addAttribute("gcvList",gcvList);
 return "goods/category/category-list";
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值