|
|
|
|
@ -7,10 +7,10 @@ |
|
|
|
|
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of |
|
|
|
|
* the Software, and to permit persons to whom the Software is furnished to do so, |
|
|
|
|
* subject to the following conditions: |
|
|
|
|
|
|
|
|
|
* <p> |
|
|
|
|
* The above copyright notice and this permission notice shall be included in all |
|
|
|
|
* copies or substantial portions of the Software. |
|
|
|
|
|
|
|
|
|
* <p> |
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
|
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
|
|
|
|
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |
|
|
|
|
@ -23,6 +23,7 @@ |
|
|
|
|
package net.mingsoft.cms.action; |
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import io.swagger.annotations.Api; |
|
|
|
|
import io.swagger.annotations.ApiImplicitParam; |
|
|
|
|
@ -53,318 +54,323 @@ import java.util.List; |
|
|
|
|
* 创建日期:2019-11-28 15:12:32<br/> |
|
|
|
|
* 历史修订:<br/> |
|
|
|
|
*/ |
|
|
|
|
@Api(tags={"后端-内容模块接口"}) |
|
|
|
|
@Api(tags = {"后端-内容模块接口"}) |
|
|
|
|
@Controller("cmsCategoryAction") |
|
|
|
|
@RequestMapping("/${ms.manager.path}/cms/category") |
|
|
|
|
public class CategoryAction extends BaseAction { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 注入分类业务层 |
|
|
|
|
*/ |
|
|
|
|
@Autowired |
|
|
|
|
private ICategoryBiz categoryBiz; |
|
|
|
|
/** |
|
|
|
|
* 注入分类业务层 |
|
|
|
|
*/ |
|
|
|
|
@Autowired |
|
|
|
|
private ICategoryBiz categoryBiz; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 返回主界面index |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/index") |
|
|
|
|
@RequiresPermissions("cms:category:view") |
|
|
|
|
public String index(){ |
|
|
|
|
return "/cms/category/index"; |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 返回主界面index |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/index") |
|
|
|
|
@RequiresPermissions("cms:category:view") |
|
|
|
|
public String index() { |
|
|
|
|
return "/cms/category/index"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 查询分类列表接口 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "查询分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required =false,paramType="query"), |
|
|
|
|
/** |
|
|
|
|
* 查询分类列表接口 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "查询分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required = false, paramType = "query"), |
|
|
|
|
}) |
|
|
|
|
@RequestMapping(value="/list",method = {RequestMethod.GET, RequestMethod.POST}) |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData list(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
BasicUtil.startPage(); |
|
|
|
|
List categoryList = categoryBiz.query(category); |
|
|
|
|
return ResultData.build().success(new EUListBean(categoryList,(int) BasicUtil.endPage(categoryList).getTotal())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 返回编辑界面category_form |
|
|
|
|
* @param category 栏目 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/form") |
|
|
|
|
public String form(@ModelAttribute CategoryEntity category, ModelMap model){ |
|
|
|
|
model.addAttribute("appId", BasicUtil.getApp().getAppId()); |
|
|
|
|
return "/cms/category/form"; |
|
|
|
|
} |
|
|
|
|
@RequestMapping(value = "/list", method = {RequestMethod.GET, RequestMethod.POST}) |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData list(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
BasicUtil.startPage(); |
|
|
|
|
List categoryList = categoryBiz.list(new LambdaQueryWrapper<CategoryEntity>(category)); |
|
|
|
|
return ResultData.build().success(new EUListBean(categoryList, (int) BasicUtil.endPage(categoryList).getTotal())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取分类 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "获取分类列表接口") |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query") |
|
|
|
|
@GetMapping("/get") |
|
|
|
|
@RequiresPermissions("cms:category:view") |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData get(@ModelAttribute @ApiIgnore CategoryEntity category){ |
|
|
|
|
if(category.getId()==null) { |
|
|
|
|
return ResultData.build().error(); |
|
|
|
|
} |
|
|
|
|
CategoryEntity _category = (CategoryEntity)categoryBiz.getById(category.getId()); |
|
|
|
|
return ResultData.build().success(_category); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 返回编辑界面category_form |
|
|
|
|
* @param category 栏目 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/form") |
|
|
|
|
public String form(@ModelAttribute CategoryEntity category, ModelMap model) { |
|
|
|
|
model.addAttribute("appId", BasicUtil.getApp().getAppId()); |
|
|
|
|
return "/cms/category/form"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取分类 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "获取分类列表接口") |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required = true, paramType = "query") |
|
|
|
|
@GetMapping("/get") |
|
|
|
|
@RequiresPermissions("cms:category:view") |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData get(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
if (category.getId() == null) { |
|
|
|
|
return ResultData.build().error(); |
|
|
|
|
} |
|
|
|
|
CategoryEntity _category = (CategoryEntity) categoryBiz.getById(category.getId()); |
|
|
|
|
return ResultData.build().success(_category); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 保存分类 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "保存分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required =true,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryId", value = "所属栏目", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryType", value = "栏目管理属性", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categorySort", value = "自定义顺序", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryListUrl", value = "列表模板", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryUrl", value = "内容模板", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryKeyword", value = "栏目管理关键字", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDescrip", value = "栏目管理描述", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryImg", value = "缩略图", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDiyUrl", value = "自定义链接", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "mdiyModelId", value = "栏目管理的内容模型id", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDatetime", value = "类别发布时间", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典对应编号", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryFlag", value = "栏目属性", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPath", value = "栏目路径", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required =false,paramType="query"), |
|
|
|
|
}) |
|
|
|
|
@PostMapping("/save") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "保存分类", businessType = BusinessTypeEnum.INSERT) |
|
|
|
|
@RequiresPermissions("cms:category:save") |
|
|
|
|
public ResultData save(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
//验证缩略图参数值是否合法
|
|
|
|
|
if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg()==null){ |
|
|
|
|
category.setCategoryImg(""); |
|
|
|
|
} |
|
|
|
|
//验证栏目管理名称的值是否合法
|
|
|
|
|
if(StringUtil.isBlank(category.getCategoryTitle())){ |
|
|
|
|
return ResultData.build().error(getResString("err.empty", this.getResString("category.title"))); |
|
|
|
|
} |
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryTitle()+"", 1, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.title"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 保存分类 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "保存分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required = true, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryId", value = "所属栏目", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryType", value = "栏目管理属性", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categorySort", value = "自定义顺序", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryListUrl", value = "列表模板", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryUrl", value = "内容模板", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryKeyword", value = "栏目管理关键字", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDescrip", value = "栏目管理描述", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryImg", value = "缩略图", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDiyUrl", value = "自定义链接", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "mdiyModelId", value = "栏目管理的内容模型id", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDatetime", value = "类别发布时间", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典对应编号", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryFlag", value = "栏目属性", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPath", value = "栏目路径", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required = false, paramType = "query"), |
|
|
|
|
}) |
|
|
|
|
@PostMapping("/save") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "保存分类", businessType = BusinessTypeEnum.INSERT) |
|
|
|
|
@RequiresPermissions("cms:category:save") |
|
|
|
|
public ResultData save(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
//验证缩略图参数值是否合法
|
|
|
|
|
if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg() == null) { |
|
|
|
|
category.setCategoryImg(""); |
|
|
|
|
} |
|
|
|
|
//验证栏目管理名称的值是否合法
|
|
|
|
|
if (StringUtil.isBlank(category.getCategoryTitle())) { |
|
|
|
|
return ResultData.build().error(getResString("err.empty", this.getResString("category.title"))); |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryTitle() + "", 1, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.title"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryPath()+"", 1, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryParentIds()+"", 1, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
//判断拼音是否重复
|
|
|
|
|
if(StrUtil.isNotBlank(category.getCategoryPinyin())) { |
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setCategoryPinyin(category.getCategoryPinyin()); |
|
|
|
|
List<CategoryEntity> query = categoryBiz.query(_category); |
|
|
|
|
if (query.size() > 0) { |
|
|
|
|
return ResultData.build().error(getResString("err.exist", this.getResString("category.pinyin"))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryPath() + "", 1, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryParentIds() + "", 1, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
//判断拼音是否重复
|
|
|
|
|
if (StrUtil.isNotBlank(category.getCategoryPinyin())) { |
|
|
|
|
if (!category.getCategoryPinyin().matches("^[a-zA-Z0-9]*$")){ |
|
|
|
|
return ResultData.build().error(this.getResString("err.format")); |
|
|
|
|
} |
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setCategoryPinyin(category.getCategoryPinyin()); |
|
|
|
|
List<CategoryEntity> query = categoryBiz.query(_category); |
|
|
|
|
if (query.size() > 0) { |
|
|
|
|
return ResultData.build().error(getResString("err.exist", this.getResString("category.pinyin"))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
categoryBiz.saveEntity(category); |
|
|
|
|
return ResultData.build().success(category); |
|
|
|
|
} |
|
|
|
|
categoryBiz.saveEntity(category); |
|
|
|
|
return ResultData.build().success(category); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 批量删除分类列表接口 |
|
|
|
|
* @param categorys |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "批量删除分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categorys", value = "删除的栏目集合", allowMultiple = true, dataType = "CategoryEntity", required = true) |
|
|
|
|
/** |
|
|
|
|
* 批量删除分类列表接口 |
|
|
|
|
* @param categorys |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "批量删除分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "categorys", value = "删除的栏目集合", allowMultiple = true, dataType = "CategoryEntity", required = true) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
@PostMapping("/delete") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "删除分类", businessType = BusinessTypeEnum.DELETE) |
|
|
|
|
@RequiresPermissions("cms:category:del") |
|
|
|
|
public ResultData delete(@RequestBody List<CategoryEntity> categorys) { |
|
|
|
|
for(int i = 0;i<categorys.size();i++){ |
|
|
|
|
categoryBiz.delete(categorys.get(i).getId()); |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
@PostMapping("/delete") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "删除分类", businessType = BusinessTypeEnum.DELETE) |
|
|
|
|
@RequiresPermissions("cms:category:del") |
|
|
|
|
public ResultData delete(@RequestBody List<CategoryEntity> categorys) { |
|
|
|
|
for (int i = 0; i < categorys.size(); i++) { |
|
|
|
|
categoryBiz.delete(categorys.get(i).getId()); |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 更新分类列表 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "更新分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required =true,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryId", value = "所属栏目", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryType", value = "栏目管理属性", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categorySort", value = "自定义顺序", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryListUrl", value = "列表模板", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryUrl", value = "内容模板", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryKeyword", value = "栏目管理关键字", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDescrip", value = "栏目管理描述", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryImg", value = "缩略图", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDiyUrl", value = "自定义链接", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "mdiyModelId", value = "栏目管理的内容模型id", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDatetime", value = "类别发布时间", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典对应编号", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryFlag", value = "栏目属性", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPath", value = "栏目路径", required =false,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required =false,paramType="query"), |
|
|
|
|
}) |
|
|
|
|
@PostMapping("/update") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "更新分类", businessType = BusinessTypeEnum.UPDATE) |
|
|
|
|
@RequiresPermissions("cms:category:update") |
|
|
|
|
public ResultData update(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
//验证缩略图参数值是否合法
|
|
|
|
|
if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg()==null){ |
|
|
|
|
category.setCategoryImg(""); |
|
|
|
|
} |
|
|
|
|
//验证栏目管理名称的值是否合法
|
|
|
|
|
if(StringUtil.isBlank(category.getCategoryTitle())){ |
|
|
|
|
return ResultData.build().error(getResString("err.empty", this.getResString("category.title"))); |
|
|
|
|
} |
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryTitle()+"", 1, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.title"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 更新分类列表 |
|
|
|
|
* @param category 分类实体 |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "更新分类列表接口") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required = true, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryTitle", value = "栏目管理名称", required = true, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryId", value = "所属栏目", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryType", value = "栏目管理属性", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categorySort", value = "自定义顺序", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryListUrl", value = "列表模板", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryUrl", value = "内容模板", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryKeyword", value = "栏目管理关键字", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDescrip", value = "栏目管理描述", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryImg", value = "缩略图", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDiyUrl", value = "自定义链接", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "mdiyModelId", value = "栏目管理的内容模型id", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryDatetime", value = "类别发布时间", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典对应编号", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryFlag", value = "栏目属性", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPath", value = "栏目路径", required = false, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryParentId", value = "父类型编号", required = false, paramType = "query"), |
|
|
|
|
}) |
|
|
|
|
@PostMapping("/update") |
|
|
|
|
@ResponseBody |
|
|
|
|
@LogAnn(title = "更新分类", businessType = BusinessTypeEnum.UPDATE) |
|
|
|
|
@RequiresPermissions("cms:category:update") |
|
|
|
|
public ResultData update(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
//验证缩略图参数值是否合法
|
|
|
|
|
if (!category.getCategoryImg().matches("^\\[.{1,}]$") || category.getCategoryImg() == null) { |
|
|
|
|
category.setCategoryImg(""); |
|
|
|
|
} |
|
|
|
|
//验证栏目管理名称的值是否合法
|
|
|
|
|
if (StringUtil.isBlank(category.getCategoryTitle())) { |
|
|
|
|
return ResultData.build().error(getResString("err.empty", this.getResString("category.title"))); |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryTitle() + "", 1, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.title"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryPath()+"", 0, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
if(!StringUtil.checkLength(category.getCategoryParentIds()+"", 0, 100)){ |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
//判断拼音是否重复并且是否和原拼音相同
|
|
|
|
|
if(StrUtil.isNotBlank(category.getCategoryPinyin()) && !categoryBiz.getById(category.getId()).getCategoryPinyin().equals(category.getCategoryPinyin())) { |
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setCategoryPinyin(category.getCategoryPinyin()); |
|
|
|
|
List<CategoryEntity> query = categoryBiz.query(_category); |
|
|
|
|
if (query.size() > 0) { |
|
|
|
|
return ResultData.build().error(getResString("err.exist", this.getResString("category.pinyin"))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
String pingYin = PinYinUtil.getPingYin(category.getCategoryTitle()); |
|
|
|
|
//如果用户填写了拼音则使用用户填写的
|
|
|
|
|
if (StrUtil.isNotBlank(category.getCategoryPinyin())) { |
|
|
|
|
pingYin = category.getCategoryPinyin(); |
|
|
|
|
} |
|
|
|
|
CategoryEntity categoryEntity=new CategoryEntity(); |
|
|
|
|
categoryEntity.setCategoryPinyin(pingYin); |
|
|
|
|
CategoryEntity categoryBizEntity = categoryBiz.getEntity(categoryEntity); |
|
|
|
|
category.setCategoryPinyin(pingYin); |
|
|
|
|
//如果存在此拼音栏目则拼接上id
|
|
|
|
|
if(categoryBizEntity!=null&&!categoryBizEntity.getId().equals(category.getId())){ |
|
|
|
|
category.setCategoryPinyin(pingYin+category.getId()); |
|
|
|
|
} |
|
|
|
|
//判断是否选择子级为所属栏目
|
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setId(category.getId()); |
|
|
|
|
List<CategoryEntity> categoryList = categoryBiz.queryChildren(_category); |
|
|
|
|
if(categoryList.size()>1) { |
|
|
|
|
for(CategoryEntity item:categoryList){ |
|
|
|
|
if(item.getId().equals(category.getCategoryId())){ |
|
|
|
|
return ResultData.build().error(getResString("cannot.select.child")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
category.setLeaf(false); |
|
|
|
|
} else { |
|
|
|
|
category.setLeaf(true); |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryPath() + "", 0, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.path"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
if (!StringUtil.checkLength(category.getCategoryParentIds() + "", 0, 100)) { |
|
|
|
|
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100")); |
|
|
|
|
} |
|
|
|
|
//判断拼音是否重复并且是否和原拼音相同
|
|
|
|
|
if (StrUtil.isNotBlank(category.getCategoryPinyin()) && !categoryBiz.getById(category.getId()).getCategoryPinyin().equals(category.getCategoryPinyin())) { |
|
|
|
|
if (!category.getCategoryPinyin().matches("^[a-zA-Z0-9]*$")){ |
|
|
|
|
return ResultData.build().error(this.getResString("err.format")); |
|
|
|
|
} |
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setCategoryPinyin(category.getCategoryPinyin()); |
|
|
|
|
List<CategoryEntity> query = categoryBiz.query(_category); |
|
|
|
|
if (query.size() > 0) { |
|
|
|
|
return ResultData.build().error(getResString("err.exist", this.getResString("category.pinyin"))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
String pingYin = PinYinUtil.getPingYin(category.getCategoryTitle()); |
|
|
|
|
//如果用户填写了拼音则使用用户填写的
|
|
|
|
|
if (StrUtil.isNotBlank(category.getCategoryPinyin())) { |
|
|
|
|
pingYin = category.getCategoryPinyin(); |
|
|
|
|
} |
|
|
|
|
CategoryEntity categoryEntity = new CategoryEntity(); |
|
|
|
|
categoryEntity.setCategoryPinyin(pingYin); |
|
|
|
|
CategoryEntity categoryBizEntity = categoryBiz.getEntity(categoryEntity); |
|
|
|
|
category.setCategoryPinyin(pingYin); |
|
|
|
|
//如果存在此拼音栏目则拼接上id
|
|
|
|
|
if (categoryBizEntity != null && !categoryBizEntity.getId().equals(category.getId())) { |
|
|
|
|
category.setCategoryPinyin(pingYin + category.getId()); |
|
|
|
|
} |
|
|
|
|
//判断是否选择子级为所属栏目
|
|
|
|
|
CategoryEntity _category = new CategoryEntity(); |
|
|
|
|
_category.setId(category.getId()); |
|
|
|
|
List<CategoryEntity> categoryList = categoryBiz.queryChildren(_category); |
|
|
|
|
if (categoryList.size() > 1) { |
|
|
|
|
for (CategoryEntity item : categoryList) { |
|
|
|
|
if (item.getId().equals(category.getCategoryId())) { |
|
|
|
|
return ResultData.build().error(getResString("cannot.select.child")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
category.setLeaf(false); |
|
|
|
|
} else { |
|
|
|
|
category.setLeaf(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 这里不能使用mybitsplus 存在业务
|
|
|
|
|
categoryBiz.updateEntity(category); |
|
|
|
|
return ResultData.build().success(category); |
|
|
|
|
} |
|
|
|
|
// 这里不能使用mybitsplus 存在业务
|
|
|
|
|
categoryBiz.updateEntity(category); |
|
|
|
|
return ResultData.build().success(category); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 验证拼音 |
|
|
|
|
* @param category 栏目 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "验证拼音") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPinyin", value = "栏目管拼音", required =true,paramType="query"), |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/verifyPingYin") |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData verifyPingYin(@ModelAttribute @ApiIgnore CategoryEntity category){ |
|
|
|
|
long count = categoryBiz.count(Wrappers.<CategoryEntity>lambdaQuery() |
|
|
|
|
.ne(StrUtil.isNotBlank(category.getId()), CategoryEntity::getId, category.getId()) |
|
|
|
|
.eq(CategoryEntity::getCategoryPinyin, category.getCategoryPinyin())); |
|
|
|
|
/** |
|
|
|
|
* 验证拼音 |
|
|
|
|
* @param category 栏目 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "验证拼音") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required = true, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "categoryPinyin", value = "栏目管拼音", required = true, paramType = "query"), |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/verifyPingYin") |
|
|
|
|
@ResponseBody |
|
|
|
|
public ResultData verifyPingYin(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
long count = categoryBiz.count(Wrappers.<CategoryEntity>lambdaQuery() |
|
|
|
|
.ne(StrUtil.isNotBlank(category.getId()), CategoryEntity::getId, category.getId()) |
|
|
|
|
.eq(CategoryEntity::getCategoryPinyin, category.getCategoryPinyin())); |
|
|
|
|
|
|
|
|
|
if(count>0){ |
|
|
|
|
return ResultData.build().error("存在相同拼音的栏目"); |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
if (count > 0) { |
|
|
|
|
return ResultData.build().error("存在相同拼音的栏目"); |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 批量更新模版 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "批量更新模版") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典", required =true,paramType="query") |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/updateTemplate") |
|
|
|
|
@ResponseBody |
|
|
|
|
@RequiresPermissions("cms:category:update") |
|
|
|
|
public ResultData updateTemplate(@ModelAttribute @ApiIgnore CategoryEntity category){ |
|
|
|
|
if (category ==null || StringUtils.isEmpty(category.getId())) { |
|
|
|
|
return ResultData.build().error(getResString("err.error", this.getResString("id"))); |
|
|
|
|
} |
|
|
|
|
category = categoryBiz.getById(category.getId()); |
|
|
|
|
category.setCategoryParentIds(null); |
|
|
|
|
List<CategoryEntity> childs = categoryBiz.queryChildren(category); |
|
|
|
|
//更新与父节点相同类型的子栏目的模板内容
|
|
|
|
|
for (int i =0; i < childs.size(); i++) { |
|
|
|
|
if (childs.get(i).getCategoryType().equals(category.getCategoryType())) { |
|
|
|
|
childs.get(i).setCategoryUrl(category.getCategoryUrl()); |
|
|
|
|
childs.get(i).setCategoryListUrl(category.getCategoryListUrl()); |
|
|
|
|
categoryBiz.updateEntity(childs.get(i)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 批量更新模版 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "批量更新模版") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required = true, paramType = "query"), |
|
|
|
|
@ApiImplicitParam(name = "dictId", value = "字典", required = true, paramType = "query") |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/updateTemplate") |
|
|
|
|
@ResponseBody |
|
|
|
|
@RequiresPermissions("cms:category:update") |
|
|
|
|
public ResultData updateTemplate(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
if (category == null || StringUtils.isEmpty(category.getId())) { |
|
|
|
|
return ResultData.build().error(getResString("err.error", this.getResString("id"))); |
|
|
|
|
} |
|
|
|
|
category = categoryBiz.getById(category.getId()); |
|
|
|
|
category.setCategoryParentIds(null); |
|
|
|
|
List<CategoryEntity> childs = categoryBiz.queryChildren(category); |
|
|
|
|
//更新与父节点相同类型的子栏目的模板内容
|
|
|
|
|
for (int i = 0; i < childs.size(); i++) { |
|
|
|
|
if (childs.get(i).getCategoryType().equals(category.getCategoryType())) { |
|
|
|
|
childs.get(i).setCategoryUrl(category.getCategoryUrl()); |
|
|
|
|
childs.get(i).setCategoryListUrl(category.getCategoryListUrl()); |
|
|
|
|
categoryBiz.updateEntity(childs.get(i)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 复制栏目 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "复制栏目") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required =true,paramType="query") |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/copyCategory") |
|
|
|
|
@ResponseBody |
|
|
|
|
@RequiresPermissions("cms:category:save") |
|
|
|
|
public ResultData copyCategory(@ModelAttribute @ApiIgnore CategoryEntity category){ |
|
|
|
|
if (category == null || StringUtils.isEmpty(category.getId())) { |
|
|
|
|
return ResultData.build().error(getResString("err.error", this.getResString("id"))); |
|
|
|
|
} |
|
|
|
|
categoryBiz.copyCategory(category); |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
/** |
|
|
|
|
* 复制栏目 |
|
|
|
|
* @param category 栏目实体 |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ApiOperation(value = "复制栏目") |
|
|
|
|
@ApiImplicitParams({ |
|
|
|
|
@ApiImplicitParam(name = "id", value = "编号", required = true, paramType = "query") |
|
|
|
|
}) |
|
|
|
|
@GetMapping("/copyCategory") |
|
|
|
|
@ResponseBody |
|
|
|
|
@RequiresPermissions("cms:category:save") |
|
|
|
|
public ResultData copyCategory(@ModelAttribute @ApiIgnore CategoryEntity category) { |
|
|
|
|
if (category == null || StringUtils.isEmpty(category.getId())) { |
|
|
|
|
return ResultData.build().error(getResString("err.error", this.getResString("id"))); |
|
|
|
|
} |
|
|
|
|
categoryBiz.copyCategory(category); |
|
|
|
|
return ResultData.build().success(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|