diff --git a/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProduct/Emen.java b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProduct/Emen.java new file mode 100644 index 0000000..d37fae7 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProduct/Emen.java @@ -0,0 +1,17 @@ +package com.nuyu.product.domain.MallProduct; + +/** + * @Author: wangxinyuan + * @Date: 2024/5/12 下午3:20 + */ +public enum Emen {; + + private static final long PRIMARY0 = 0L; + + private static final long PRIMARY1 = 1L; + + private static final long PRIMARY2 = 2L; + + private static final long PRIMARY3 = 3L; + +} diff --git a/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProductText.java b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProductText.java index 420ea01..0086ca4 100644 --- a/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProductText.java +++ b/muyu-modules/muyu-product/muyu-product-commo/src/main/java/com/nuyu/product/domain/MallProductText.java @@ -1,6 +1,8 @@ package com.nuyu.product.domain; +import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,7 +19,7 @@ import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor -public class MallProductText extends BaseController implements Serializable { +public class MallProductText extends BaseEntity implements Serializable { @Serial private static final long serialVersionUID = 1L; @@ -28,5 +30,12 @@ public class MallProductText extends BaseController implements Serializable { private Integer id; + @Excel(name = "名稱") private String name; + + @Excel(name = "性別") + private String sex; + + @Excel(name = "年齡") + private Integer age; } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductTextController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductTextController.java index 49beaa7..3c6730d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductTextController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/MallProductTextController.java @@ -1,13 +1,20 @@ package com.muyu.product.controller; +import com.alibaba.csp.sentinel.log.LogTarget; import com.github.pagehelper.PageInfo; import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.web.domain.AjaxResult; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; import com.muyu.product.service.MallProductTextService; import com.nuyu.product.domain.MallProductText; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + /** * @Author: wangxinyuan * @Date: 2024/5/10 下午8:21 @@ -49,4 +56,13 @@ public class MallProductTextController { public Result insert(@RequestBody MallProductText mallProductText){ return Result.success(mallProductTextService.mallTextInsert(mallProductText)); } + + @Log(title = "測試導出",businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response ,MallProductText mallProductText){ + Listlist=mallProductTextService.selectMallProductText(mallProductText); + ExcelUtilexcelUtil=new ExcelUtil<>(MallProductText.class); + excelUtil.exportExcel(response,list,"導出"); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductTextMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductTextMapper.java index 24c2954..f6b3da2 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductTextMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/MallProductTextMapper.java @@ -1,5 +1,6 @@ package com.muyu.product.mapper; +import com.nuyu.product.domain.MallProduct.Emen; import com.nuyu.product.domain.MallProductText; import org.apache.ibatis.annotations.Mapper; @@ -24,4 +25,8 @@ public interface MallProductTextMapper { Object selectById(Long id); Object mallTextInsert(MallProductText mallProductText); + + List selectMallProductText(MallProductText mallProductText); + + Object findAll(Emen emen); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTextServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTextServiceImpl.java index d599d23..b4f04f8 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTextServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTextServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.muyu.product.mapper.MallProductTextMapper; import com.muyu.product.service.MallProductTextService; +import com.nuyu.product.domain.MallProduct.Emen; import com.nuyu.product.domain.MallProductText; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +21,7 @@ public class MallProductTextServiceImpl implements MallProductTextService { @Autowired private MallProductTextMapper mallProductTextMapper; + @Override public PageInfo list(MallProductText mallProductText) { PageHelper.startPage(mallProductText.getPageNum(),mallProductText.getPageSize()); @@ -40,6 +42,11 @@ public class MallProductTextServiceImpl implements MallProductTextService { @Override public Object selectMallProductTextById(Long id) { + MallProductText mallProductText = new MallProductText(); + Emen emen=Emen.valueOf(mallProductText.getSex()); + if(emen!=null){ + return mallProductTextMapper.findAll(emen); + } return mallProductTextMapper.selectMallProductTextById(id); } @@ -50,8 +57,18 @@ public class MallProductTextServiceImpl implements MallProductTextService { @Override public Object mallTextInsert(MallProductText mallProductText) { + mallProductText.setId(mallProductText.getId()); + mallProductText.setUpdateBy(mallProductText.getUpdateBy()); + mallProductText.setUpdateTime(mallProductText.getUpdateTime()); + mallProductText.setCreateBy(mallProductText.getUpdateBy()); + mallProductText.setCreateTime(mallProductText.getCreateTime()); return mallProductTextMapper.mallTextInsert(mallProductText); } + @Override + public List selectMallProductText(MallProductText mallProductText) { + return mallProductTextMapper.selectMallProductText(mallProductText); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTypeInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTypeInfoServiceImpl.java index 223cd5a..b2498a9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTypeInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/Impl/MallProductTypeInfoServiceImpl.java @@ -114,17 +114,15 @@ public class MallProductTypeInfoServiceImpl implements MallProductTypeInfoServic public static final Long PARENT_ID=0L; @Override public List listAll(MallProductTypeInfo mallProductTypeInfo) { - /** - * 1.拉取数据中说有数据 - * 2.寻找所有数据中二级目录 - * 3.根据上级目录寻找子目录 - */ + //根據查詢條件獲取商品類型信息列表 List mallProductTypeInfos = selectMallProductTypeInfoList(mallProductTypeInfo); + //將查詢到的商品類型信息進行换为為視圖對象,並包裝其子類型信息 ListreturnList= mallProductTypeInfos.stream().filter(item->PARENT_ID.equals(item.getParentCid())).map(newItem->{ MallProductTypeInfoVO mallProductTypeInfoVO = new MallProductTypeInfoVO(); BeanUtils.copyProperties(newItem,mallProductTypeInfoVO); return mallProductTypeInfoVO; }).map(mallProductTypeInfoVO -> { + //包裝子類信息 mallProductTypeInfoVO.setChildrenList(packageChildrenList(mallProductTypeInfoVO,mallProductTypeInfos)); return mallProductTypeInfoVO; }).collect(Collectors.toList()); @@ -133,9 +131,11 @@ public class MallProductTypeInfoServiceImpl implements MallProductTypeInfoServic private List packageChildrenList(MallProductTypeInfoVO mallProductTypeInfoVO, List mallProductTypeInfos) { Long parentId = mallProductTypeInfoVO.getCatId(); + //根據父類型ID查找並包裝子類型信息,遞歸處理 List collect = mallProductTypeInfos.stream().filter(item -> parentId.equals(item.getParentCid())).map(newItem -> { MallProductTypeInfoVO returnVo = new MallProductTypeInfoVO(); BeanUtils.copyProperties(newItem, returnVo); + //遞歸包裝子類型信息 returnVo.setChildrenList(packageChildrenList(returnVo, mallProductTypeInfos)); return returnVo; }).collect(Collectors.toList()); diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductTextService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductTextService.java index 8395294..1d1646b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductTextService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/MallProductTextService.java @@ -3,6 +3,8 @@ package com.muyu.product.service; import com.github.pagehelper.PageInfo; import com.nuyu.product.domain.MallProductText; +import java.util.List; + /** * @Author: wangxinyuan * @Date: 2024/5/10 下午8:22 @@ -23,4 +25,6 @@ public interface MallProductTextService { Object selectById(Long id); Object mallTextInsert(MallProductText mallProductText); + + List selectMallProductText(MallProductText mallProductText); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductText.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductText.xml index 63a2bee..da03e54 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductText.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/MallProductText.xml @@ -24,5 +24,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + +