diff --git a/src/main/java/com/gxwebsoft/cms/controller/CmsArticleCategoryController.java b/src/main/java/com/gxwebsoft/cms/controller/CmsArticleCategoryController.java index a9c910d..e36ef2f 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/CmsArticleCategoryController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/CmsArticleCategoryController.java @@ -41,21 +41,15 @@ public class CmsArticleCategoryController extends BaseController { @ApiOperation("查询全部文章分类表") @GetMapping() public ApiResult> list(CmsArticleCategoryParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(cmsArticleCategoryService.list(page.getOrderWrapper())); // 使用关联查询 - //return success(cmsArticleCategoryService.listRel(param)); + return success(cmsArticleCategoryService.listRel(param)); } - @PreAuthorize("hasAuthority('cms:articleCategory:list')") - @OperationLog @ApiOperation("根据id查询文章分类表") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - return success(cmsArticleCategoryService.getById(id)); // 使用关联查询 - //return success(cmsArticleCategoryService.getByIdRel(id)); + return success(cmsArticleCategoryService.getByIdRel(id)); } @ApiOperation("添加文章分类表") diff --git a/src/main/java/com/gxwebsoft/cms/controller/CmsNavigationController.java b/src/main/java/com/gxwebsoft/cms/controller/CmsNavigationController.java index bea1bc9..b416a94 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/CmsNavigationController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/CmsNavigationController.java @@ -64,14 +64,17 @@ public class CmsNavigationController extends BaseController { @ApiOperation("添加网站导航记录表") @PostMapping() public ApiResult save(@RequestBody CmsNavigation cmsNavigation) { - // 记录当前登录用户id - User loginUser = getLoginUser(); - if (loginUser != null) { - cmsNavigation.setUserId(loginUser.getUserId()); - } - if (cmsNavigationService.save(cmsNavigation)) { - return success("添加成功"); - } +// 记录当前登录用户id + User loginUser = getLoginUser(); + if (loginUser != null) { + cmsNavigation.setUserId(loginUser.getUserId()); + cmsNavigation.setTenantId(loginUser.getTenantId()); + } + if (cmsNavigationService.save(cmsNavigation)) { + // 添加成功事务处理 + cmsNavigationService.saveAsync(cmsNavigation); + return success("添加成功"); + } return fail("添加失败"); } diff --git a/src/main/java/com/gxwebsoft/cms/entity/CmsDesign.java b/src/main/java/com/gxwebsoft/cms/entity/CmsDesign.java index ab4e18d..a0bfc41 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/CmsDesign.java +++ b/src/main/java/com/gxwebsoft/cms/entity/CmsDesign.java @@ -1,6 +1,7 @@ package com.gxwebsoft.cms.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableLogic; @@ -40,6 +41,14 @@ public class CmsDesign implements Serializable { @ApiModelProperty(value = "页面描述") private String description; + @ApiModelProperty(value = "路由地址") + @TableField(exist = false) + private String path; + + @ApiModelProperty(value = "组件路径") + @TableField(exist = false) + private String component; + @ApiModelProperty(value = "缩列图") private String photo; diff --git a/src/main/java/com/gxwebsoft/cms/service/CmsNavigationService.java b/src/main/java/com/gxwebsoft/cms/service/CmsNavigationService.java index 2fddfa9..5188ea2 100644 --- a/src/main/java/com/gxwebsoft/cms/service/CmsNavigationService.java +++ b/src/main/java/com/gxwebsoft/cms/service/CmsNavigationService.java @@ -39,4 +39,5 @@ public interface CmsNavigationService extends IService { */ CmsNavigation getByIdRel(Integer navigationId); + void saveAsync(CmsNavigation cmsNavigation); } diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java index 4ec7bcd..73671ac 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsNavigationServiceImpl.java @@ -1,14 +1,22 @@ package com.gxwebsoft.cms.service.impl; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.cms.entity.CmsDesign; import com.gxwebsoft.cms.mapper.CmsNavigationMapper; +import com.gxwebsoft.cms.service.CmsDesignService; import com.gxwebsoft.cms.service.CmsNavigationService; import com.gxwebsoft.cms.entity.CmsNavigation; import com.gxwebsoft.cms.param.CmsNavigationParam; +import com.gxwebsoft.common.core.exception.BusinessException; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.text.MessageFormat; import java.util.List; /** @@ -19,7 +27,10 @@ import java.util.List; */ @Service public class CmsNavigationServiceImpl extends ServiceImpl implements CmsNavigationService { - + @Resource + private CmsDesignService cmsDesignService; + @Resource + private CmsNavigationMapper cmsNavigationMapper; @Override public PageResult pageRel(CmsNavigationParam param) { PageParam page = new PageParam<>(param); @@ -44,4 +55,80 @@ public class CmsNavigationServiceImpl extends ServiceImpl().eq(CmsNavigation::getPath, path)); +// if(count > 1){ +// throw new BusinessException("路由地址(" + path + ")已存在!"); +// } + + // TODO 2.同步添加页面 + final CmsDesign one = cmsDesignService.getOne(new LambdaQueryWrapper().eq(CmsDesign::getCategoryId, navigation.getNavigationId()).eq(CmsDesign::getDeleted, 0).last("limit 1")); + if (ObjectUtil.isEmpty(one)) { + final CmsDesign design = new CmsDesign(); + design.setName(navigation.getTitle()); + design.setCategoryId(navigation.getNavigationId()); + design.setKeywords(navigation.getTitle()); + design.setDescription(navigation.getComments()); + design.setPath(navigation.getPath()); + design.setComponent(navigation.getComponent()); + design.setTenantId(navigation.getTenantId()); + cmsDesignService.save(design); + } + + // 面包屑 + final CmsNavigation parent = getById(navigation.getParentId()); + if (ObjectUtil.isNotEmpty(parent) && navigation.getParentId() > 0) { + navigation.setParentName(parent.getTitle()); + navigation.setParentPath(parent.getPath()); + navigation.setParentId(parent.getNavigationId()); + updateById(parent); + } + } + } diff --git a/src/main/java/com/gxwebsoft/common/system/controller/PlugController.java b/src/main/java/com/gxwebsoft/common/system/controller/PlugController.java index cceba25..b184dcc 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/PlugController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/PlugController.java @@ -7,7 +7,6 @@ import com.gxwebsoft.common.system.entity.Plug; import com.gxwebsoft.common.system.param.PlugParam; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.BatchParam; import com.gxwebsoft.common.core.annotation.OperationLog; import io.swagger.annotations.Api; @@ -36,11 +35,8 @@ public class PlugController extends BaseController { @ApiOperation("分页查询插件扩展") @GetMapping("/page") public ApiResult> page(PlugParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(plugService.page(page, page.getWrapper())); // 使用关联查询 - //return success(plugService.pageRel(param)); + return success(plugService.pageRel(param)); } @PreAuthorize("hasAuthority('sys:plug:list')") @@ -48,11 +44,8 @@ public class PlugController extends BaseController { @ApiOperation("查询全部插件扩展") @GetMapping() public ApiResult> list(PlugParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(plugService.list(page.getOrderWrapper())); // 使用关联查询 - //return success(plugService.listRel(param)); + return success(plugService.listRel(param)); } @PreAuthorize("hasAuthority('sys:plug:list')") @@ -60,9 +53,8 @@ public class PlugController extends BaseController { @ApiOperation("根据id查询插件扩展") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - return success(plugService.getById(id)); // 使用关联查询 - //return success(plugService.getByIdRel(id)); + return success(plugService.getByIdRel(id)); } @PreAuthorize("hasAuthority('sys:plug:save')") diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopGoodsController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopGoodsController.java index d168668..77bd29d 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopGoodsController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopGoodsController.java @@ -41,11 +41,8 @@ public class ShopGoodsController extends BaseController { @ApiOperation("查询全部商品记录表") @GetMapping() public ApiResult> list(ShopGoodsParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(shopGoodsService.list(page.getOrderWrapper())); // 使用关联查询 - //return success(shopGoodsService.listRel(param)); + return success(shopGoodsService.listRel(param)); } @PreAuthorize("hasAuthority('shop:shopGoods:list')") @@ -53,9 +50,8 @@ public class ShopGoodsController extends BaseController { @ApiOperation("根据id查询商品记录表") @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { - return success(shopGoodsService.getById(id)); // 使用关联查询 - //return success(shopGoodsService.getByIdRel(id)); + return success(shopGoodsService.getByIdRel(id)); } @ApiOperation("添加商品记录表") diff --git a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java b/src/test/java/com/gxwebsoft/generator/MallGenerator.java similarity index 99% rename from src/test/java/com/gxwebsoft/generator/ShopGenerator.java rename to src/test/java/com/gxwebsoft/generator/MallGenerator.java index 1430ee1..773ec54 100644 --- a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/MallGenerator.java @@ -20,7 +20,7 @@ import java.util.Map; * @author WebSoft * @since 2021-09-05 00:31:14 */ -public class ShopGenerator { +public class MallGenerator { // 输出位置 private static final String OUTPUT_LOCATION = System.getProperty("user.dir"); //private static final String OUTPUT_LOCATION = "D:/codegen"; // 不想生成到项目中可以写磁盘路径 diff --git a/src/test/java/com/gxwebsoft/generator/templates/controller.java.btl b/src/test/java/com/gxwebsoft/generator/templates/controller.java.btl index 55b682c..2d67f91 100644 --- a/src/test/java/com/gxwebsoft/generator/templates/controller.java.btl +++ b/src/test/java/com/gxwebsoft/generator/templates/controller.java.btl @@ -100,11 +100,8 @@ public class ${table.controllerName} { <% } %> @GetMapping() public ApiResult> list(${entity}Param param) { - PageParam<${entity}, ${entity}Param> page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(${serviceIns}.list(page.getOrderWrapper())); // 使用关联查询 - //return success(${serviceIns}.listRel(param)); + return success(${serviceIns}.listRel(param)); } <% if(!swagger2) { %> @@ -117,9 +114,8 @@ public class ${table.controllerName} { @ApiOperation("根据id查询${table.comment!}") @GetMapping("/{id}") public ApiResult<${entity}> get(@PathVariable("id") Integer id) { - return success(${serviceIns}.getById(id)); // 使用关联查询 - //return success(${serviceIns}.getByIdRel(id)); + return success(${serviceIns}.getByIdRel(id)); } <% if(!swagger2) { %>