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

This commit is contained in:
sgjj 2020-10-31 10:34:23 +08:00
commit 4748d53ab3
6 changed files with 46 additions and 27 deletions

View File

@ -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();
}

View File

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

View File

@ -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()]));
}
}

View File

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

View File

@ -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);
});
}

View File

@ -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