Forráskód Böngészése

Merge remote-tracking branch 'origin/5.2' into 5.2

sgjj 5 éve
szülő
commit
4748d53ab3

+ 1 - 1
src/main/java/net/mingsoft/cms/action/CategoryAction.java

@@ -182,7 +182,7 @@ public class CategoryAction extends BaseAction {
 	@RequiresPermissions("cms:category:del")
 	public ResultData delete(@RequestBody List<CategoryEntity> categorys, HttpServletResponse response, HttpServletRequest request) {
 		for(int i = 0;i<categorys.size();i++){
-			categoryBiz.delete(Integer.parseInt(categorys.get(i).getId()));
+			categoryBiz.delete(categorys.get(i).getId());
 		}
 		return ResultData.build().success();
 	}

+ 1 - 1
src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java

@@ -33,5 +33,5 @@ public interface ICategoryBiz extends IBaseBiz<CategoryEntity> {
      */
     void update(CategoryEntity entity);
 
-    void delete(int categoryId);
+    void delete(String categoryId);
 }

+ 7 - 6
src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java

@@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -163,21 +164,21 @@ public class CategoryBizImpl extends BaseBizImpl<ICategoryDao, CategoryEntity> i
 	}
 
 	@Override
-	public void delete(int categoryId) {
+	public void delete(String categoryId) {
 		// TODO Auto-generated method stub
-		CategoryEntity category = (CategoryEntity) categoryDao.getEntity(categoryId);
+		CategoryEntity category = (CategoryEntity) categoryDao.selectById(categoryId);
 		//删除父类
 		if(category != null){
 			category.setCategoryParentId(null);
 			List<CategoryEntity> childrenList = categoryDao.queryChildren(category);
-			int[] ids = new int[childrenList.size()];
+			List<String> ids = new ArrayList<>();
 			for(int i = 0; i < childrenList.size(); i++){
 				//删除子类
-				ids[i] = Integer.parseInt(childrenList.get(i).getId());
+				ids.add(childrenList.get(i).getId());
 			}
-			categoryDao.delete(ids);
+			categoryDao.deleteBatchIds(ids);
 			// 删除文章
-			contentDao.deleteEntityByCategoryIds(ids);
+			contentDao.deleteEntityByCategoryIds(ids.toArray(new String[ids.size()]));
 		}
 	}
 

+ 1 - 1
src/main/java/net/mingsoft/cms/dao/IContentDao.java

@@ -41,5 +41,5 @@ public interface IContentDao extends IBaseDao<ContentEntity> {
      * 分类编号删除文章
      * @param ids
      */
-    void deleteEntityByCategoryIds(@Param("ids") int[] ids);
+    void deleteEntityByCategoryIds(@Param("ids") String[] ids);
 }

+ 34 - 16
src/main/java/net/mingsoft/cms/upgrade/Upgrade.java

@@ -1,13 +1,16 @@
 package net.mingsoft.cms.upgrade;
 
 import cn.hutool.core.util.StrUtil;
+import io.swagger.models.auth.In;
 import net.mingsoft.basic.util.BasicUtil;
 import net.mingsoft.basic.util.SpringUtil;
 import net.mingsoft.cms.biz.ICategoryBiz;
 import net.mingsoft.cms.entity.CategoryEntity;
 import net.mingsoft.basic.util.PinYinUtil;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author by 铭飞开源团队
@@ -17,29 +20,44 @@ import java.util.List;
 public class Upgrade {
 
     /**
-     * 菜单拼音升级
+     * 更新栏目分类的顶级节点和叶子节点
      */
     public void upgrade(){
         ICategoryBiz categoryBiz = SpringUtil.getBean(ICategoryBiz.class);
         List<CategoryEntity> list = categoryBiz.queryAll();
-        //先更新所有栏目的拼音
+
         list.forEach(x->{
-            String pingYin = PinYinUtil.getPingYin(x.getCategoryTitle());
-            CategoryEntity category=new CategoryEntity();
-            category.setCategoryPinyin(pingYin);
-            CategoryEntity categoryBizEntity = (CategoryEntity)categoryBiz.getEntity(category);
-            x.setCategoryPinyin(pingYin);
-            //拼音存在则拼接id
-            if(categoryBizEntity!=null&&!categoryBizEntity.getId().equals(x.getId())){
-                x.setCategoryPinyin(pingYin+x.getId());
+
+            //将parentId第一行设为顶级节点
+            String topId = "0";
+            String parentId = x.getParentid();
+            if (parentId != null) {
+                topId = parentId.split(",")[0];
             }
-            categoryBiz.update(x);
-        });
-        //再更新路径
-        list.forEach(x->{
-            if(StrUtil.isBlank(x.getCategoryId())||x.getCategoryId().equals("0")){
-                categoryBiz.updateEntity(x);
+            x.setTopId(topId);
+
+            String id = x.getId();
+            boolean leaf = true;
+            //判断是否叶子,循环查找,如果有节点的父节点中包含该节点的id则判断为否跳出循环
+            for (int i = 0; i< list.size(); i++) {
+                String pId = list.get(i).getParentid();
+                if (pId == null) {
+                    continue;
+                }
+                leaf = !pId.contains(id);
+                //如果不是叶子就跳出循环,不需要再判断了
+                if (!leaf) {
+                    break;
+                }
             }
+            x.setLeaf(leaf);
+            //更新
+            Map<String, String> fields = new HashMap<>();
+            fields.put("leaf", x.getLeaf()?"1":"0");
+            fields.put("top_id", x.getTopId());
+            Map<String, String> where = new HashMap<>();
+            where.put("id", x.getId());
+            categoryBiz.updateBySQL("cms_category", fields, where);
         });
 
     }

+ 2 - 2
src/main/java/net/mingsoft/handler/AppHandler.java

@@ -24,12 +24,12 @@ public class AppHandler implements TenantLineHandler {
         if(localPage!=null&&localPage.getTotal()==0){
             PageHelper.clearPage();
         }
-        int appId = BasicUtil.getAppId();
+        //int appId = BasicUtil.getAppId();
         if(localPage!=null&&localPage.getTotal()==0){
             PageHelper.startPage(localPage.getPageNum(),localPage.getPageSize(),localPage.isCount());
             PageHelper.orderBy(localPage.getOrderBy());
         }
-        return new LongValue(appId);
+        return new LongValue(1);
     }
 
     @Override