diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiCategoryController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiCategoryController.java index 4e56316..930ecdb 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiCategoryController.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/controller/BusiCategoryController.java @@ -54,34 +54,39 @@ public class BusiCategoryController extends BaseController { /** - * 获取网站栏目详细信息 - */ + * 获取网站栏目信息 + * @author PQZ + * @date 11:54 2025/6/30 + * @param id id + * @return com.ruoyi.common.core.domain.AjaxResult + **/ @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(busiCategoryService.getById(id)); } /** - * 新增网站栏目 - */ + * 保存网站栏目 + * @author PQZ + * @date 11:54 2025/6/30 + * @param busiCategory {@link BusiCategory} + * @return com.ruoyi.common.core.domain.AjaxResult + **/ @Log(title = "网站栏目", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody BusiCategory busiCategory) { - return toAjax(busiCategoryService.save(busiCategory)); + return toAjax(busiCategoryService.saveOrUpdate(busiCategory)); } - /** - * 修改网站栏目 - */ - @Log(title = "网站栏目", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody BusiCategory busiCategory) { - return toAjax(busiCategoryService.updateById(busiCategory)); - } + /** * 删除网站栏目 - */ + * @author PQZ + * @date 11:55 2025/6/30 + * @param ids 删除id + * @return com.ruoyi.common.core.domain.AjaxResult + **/ @Log(title = "网站栏目", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiCategory.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiCategory.java index a976bbc..a9c4d86 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiCategory.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/domain/BusiCategory.java @@ -50,11 +50,11 @@ public class BusiCategory extends DlBaseEntity /** 直接下级产品数 */ @Excel(name = "直接下级产品数") - private Long prodsJunior; + private Integer prodsJunior; /** 递归产品数 */ @Excel(name = "递归产品数") - private Long prodsAll; + private Integer prodsAll; /** 页面title */ @Excel(name = "页面title") diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiProdNewMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiProdNewMapper.java index c1d3bde..1c613bf 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiProdNewMapper.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/mapper/BusiProdNewMapper.java @@ -21,4 +21,12 @@ public interface BusiProdNewMapper extends BaseMapper IPage queryListPage(@Param("entity") ProdNewVO entity, Page page); Long selectMaxSort(@Param("tenantId")String tenantId); + + /** + * 统计分类下产品数量 + * @author PQZ + * @date 14:06 2025/6/30 + * @return java.util.List + **/ + List getCatgAmount(); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiCategoryService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiCategoryService.java index a808c08..4476beb 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiCategoryService.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiCategoryService.java @@ -3,6 +3,7 @@ package com.ruoyi.busi.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.busi.domain.BusiCategory; import com.ruoyi.busi.vo.BusiCategoryVO; +import com.ruoyi.busi.vo.ProdNewVO; import java.util.List; @@ -24,4 +25,13 @@ public interface IBusiCategoryService extends IService { **/ List treeCategory(BusiCategory category); + + /** + * 设置直接产品数、递归产品数 + * @author PQZ + * @date 14:12 2025/6/30 + **/ + void setCategoryAmount(List list,String tenantId); + + } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiProdNewService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiProdNewService.java index bb6c3c0..b64eccb 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiProdNewService.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/IBusiProdNewService.java @@ -25,4 +25,13 @@ public interface IBusiProdNewService extends IService * @return java.lang.Long **/ Long getMaxSort(String tenantId); + + + /** + * 为网站栏目中递归产品数和下级产品数赋值 + * @author PQZ + * @date 14:03 2025/6/30 + * @return void + **/ + void setAmount(String tenantId); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiCategoryServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiCategoryServiceImpl.java index 251a894..0938376 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiCategoryServiceImpl.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiCategoryServiceImpl.java @@ -6,6 +6,7 @@ import com.ruoyi.busi.domain.BusiCategory; import com.ruoyi.busi.mapper.BusiCategoryMapper; import com.ruoyi.busi.service.IBusiCategoryService; import com.ruoyi.busi.vo.BusiCategoryVO; +import com.ruoyi.busi.vo.ProdNewVO; import com.ruoyi.common.core.domain.DlBaseEntity; import com.ruoyi.common.utils.StringUtils; import org.springframework.beans.BeanUtils; @@ -44,13 +45,40 @@ public class BusiCategoryServiceImpl extends ServiceImpl list = list(lambdaQueryWrapper); return buildCategoryTree(list); } + /** + * 设置直接产品数、递归产品数 + * + * @author PQZ + * @date 14:12 2025/6/30 + **/ + @Override + public void setCategoryAmount(List list,String tenantId) { + Map idToProdsJunior = new HashMap<>(); + list.forEach(item -> { + idToProdsJunior.put(item.getCatgId(),item.getAmount()); + }); + //查询全部栏目 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0) + .eq(BusiCategory::getTenantId,tenantId); + List categoryList = list(lambdaQueryWrapper); + //遍历赋值 + categoryList.forEach(item->{ + if (idToProdsJunior.containsKey(item.getId())) { + item.setProdsJunior(idToProdsJunior.get(item.getId())); + } + }); + } + + + /** * 生成树结构 @@ -66,6 +94,8 @@ public class BusiCategoryServiceImpl extends ServiceImpl roots = new ArrayList<>(); diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiProdNewServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiProdNewServiceImpl.java index bd12f9f..9320563 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiProdNewServiceImpl.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiProdNewServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.busi.service.impl; import java.util.List; +import com.ruoyi.busi.service.IBusiCategoryService; import com.ruoyi.busi.vo.ProdNewVO; import com.ruoyi.common.utils.DateUtils; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -24,6 +25,8 @@ public class BusiProdNewServiceImpl extends ServiceImpl queryListPage(ProdNewVO pageReqVO, Page page) { @@ -50,4 +53,19 @@ public class BusiProdNewServiceImpl extends ServiceImpl list = busiProdNewMapper.getCatgAmount(); + if (!list.isEmpty()) { + categoryService.setCategoryAmount(list,tenantId); + } + } } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiCategoryVO.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiCategoryVO.java index f3d2086..694ce1c 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiCategoryVO.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/BusiCategoryVO.java @@ -19,6 +19,9 @@ import java.util.List; @Data public class BusiCategoryVO extends BusiCategory { + private String value; + private String label; + /** * 子集 */ diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ProdNewVO.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ProdNewVO.java index 2255a51..989f4b6 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ProdNewVO.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/vo/ProdNewVO.java @@ -39,6 +39,9 @@ public class ProdNewVO extends BusiProdNew { /** 随机产品数量 */ private Integer randomNum; + /**同分类下产品数量*/ + private Integer amount; + /** * 批量传的图片 **/ diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiProdNewMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiProdNewMapper.xml index d5857e9..a505b50 100644 --- a/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiProdNewMapper.xml +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/busi/BusiProdNewMapper.xml @@ -118,4 +118,15 @@ del_flag = '0' AND tenant_id = #{tenantId} + \ No newline at end of file diff --git a/dl_vue/src/views/busi/category/form/categoryForm.vue b/dl_vue/src/views/busi/category/form/categoryForm.vue index c41d174..d5cecc5 100644 --- a/dl_vue/src/views/busi/category/form/categoryForm.vue +++ b/dl_vue/src/views/busi/category/form/categoryForm.vue @@ -1,21 +1,17 @@