• 分类的生成规则


    
    
     /*
            顶级分类默认值:100
    
            一级分类:101100(自然数增加)
    
            二级分类:101100100(前6位是父类ID,后3位取当前分类下的最大值加1,从100--999)
    
            顶级分类:100
    
            一级分类:101101(自然数增加)
    
            二级分类:101101100(前6位是父类ID,后3位取当前分类下的最大值加1,从100--999)  
    
            每个二级分类下可添加900个子类。
    
     */
    
    
     1     //新增分类
     2     public String addCategory(Category cate) {
     3         try {
     4         //1.取模块代码
     5         String parentid=cate.getParentid();
     6         int begin=parentid.length()+1;
     7         String sql1="";
     8         int flag = 0;
     9         //顶级节点为100,一级节点
    10         if(parentid.equals("100")){
    11             sql1="SELECT (CASE WHEN MAX(TO_NUMBER(CATID)) IS NULL THEN 100 ELSE MAX(TO_NUMBER(CATID)) END)+1 FROM MALL_CATEGORY WHERE PARENTID='100'";
    12             log.info("==addCategory:===="+sql1+"========");
    13             Long maxcatid=this.getJdbcTemplate().queryForLong(sql1);
    14             cate.setCatid(maxcatid.toString());
    15             cate.setParentid("100");
    16             flag = 3;
    17         }
    18         //非一级节点
    19         else{            
    20             sql1 = "select min(catid) from mall_category  where parentid='"+parentid+"' and status=2";
    21             Long mincatid=this.getJdbcTemplate().queryForLong(sql1);
    22             if(mincatid != 0L){
    23                 //使用删除的子分类ID作为新的ID,跟新数据
    24                 cate.setCatid(mincatid.toString());
    25                 flag = 1;
    26             }else{
    27                 //获取所有分类ID
    28                 List<Category> listCatid = findAllCatid(parentid);
    29                 HashSet<String> set = new HashSet<String>();
    30                 Category item = null;
    31                 if(!StringUtils.isEmpty(listCatid)){
    32                     //该父分类下已有子分类,使用未使用过的子分类ID
    33                     for(int a = 0 ;a<listCatid.size();a++){
    34                         item = listCatid.get(a);
    35                         set.add(item.getCatid());
    36                     }
    37                     for(int a = 101;a <= 1000;a++){
    38                         if(a==1000){
    39                             flag = 2;
    40                             break;
    41                         }
    42                         if(!set.contains(a+"")){
    43                             cate.setCatid(parentid+a);
    44                             flag = 3;
    45                             break; 
    46                          }
    47                     }
    48                 }else{
    49                     //该父分类下首次增加子分类
    50                     cate.setCatid(parentid+100);
    51                     flag = 3;
    52                 }
    53             }
    54         }
    55         //2.取模块顺序
    56         String sql2="SELECT (CASE WHEN MAX(TO_NUMBER(LISTORDER)) IS NULL THEN 0 ELSE MAX(TO_NUMBER(LISTORDER)) END)+1 FROM MALL_CATEGORY WHERE parentid='"+cate.getParentid()+"'";
    57         log.info("==addCategory:===="+sql2+"========");
    58         Integer listorder=this.getJdbcTemplate().queryForInt(sql2);
    59         cate.setListorder(listorder);
    60         cate.setStatus(1);
    61         String sql = "",catid = "";
    62         if(flag != 2){
    63             if(flag == 3){
    64                 //新增
    65                 sql = "INSERT INTO MALL_CATEGORY(CATID,CATNAME,PARENTID,LISTORDER,THUMB,STATUS,CATNAME2) VALUES('"+cate.getCatid()+"','"+cate.getCatname()+"','"+cate.getParentid()+"',"+cate.getListorder()+",'"+cate.getThumb()+"',"+cate.getStatus()+",'"+cate.getCatname2()+"')";
    66             }else if(flag == 1){
    67                 //修改
    68                 sql = "update MALL_CATEGORY set CATNAME='"+cate.getCatname()+"',LISTORDER="+cate.getListorder()+",THUMB='"+cate.getThumb()+"',STATUS="+cate.getStatus()+",CATNAME2='"+cate.getCatname2()+"' where catid ='"+cate.getCatid()+"'";
    69             }
    70             log.info("sql:"+sql);
    71             this.getJdbcTemplate().execute(sql);
    72             catid = cate.getCatid();
    73         }else{
    74             catid = "";
    75         }
    76         return catid;
    77         } catch (Exception e) {
    78             log.info("==CategoryDao:addCategory==异常=====msg:"+e.getMessage());
    79             return "";
    80         }
    81     }
    
    
  • 相关阅读:
    Android进阶篇系统缓存(一)
    Android提高篇自定义Menu(二)
    Android进阶篇Canvas Bitmap
    Android进阶篇分析伪3D旋转
    Android进阶篇捕获app错误信息
    Android进阶篇Service和广播
    Android进阶篇清除WebView的缓存
    Android进阶篇Parcelable包裹类
    Android进阶篇GestureDetector初探
    Android进阶篇下拉刷新
  • 原文地址:https://www.cnblogs.com/lixin890808/p/3732911.html
Copyright © 2020-2023  润新知