diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdCategoryController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdCategoryController.java index 44a281260..d1a146b5c 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdCategoryController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdCategoryController.java @@ -13,6 +13,7 @@ import com.czg.validator.group.InsertGroup; import com.czg.validator.group.UpdateGroup; import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -52,6 +53,12 @@ public class ShopProdCategoryController { return CzgResult.success(data); } + @GetMapping("/export") + @OperationLog("商品分类-导出") + public void exportShopProdCategory(ShopProdCategoryDTO param, HttpServletResponse response) { + shopProdCategoryService.exportShopProdCategory(param, response); + } + @GetMapping("{id}") @OperationLog("商品分类-详情") //@SaAdminCheckPermission("shopProdCategory:info") diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdUnitController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdUnitController.java index 1b2fc86b2..32fc238c8 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdUnitController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ShopProdUnitController.java @@ -13,6 +13,7 @@ import com.czg.validator.group.InsertGroup; import com.czg.validator.group.UpdateGroup; import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -53,6 +54,12 @@ public class ShopProdUnitController { return CzgResult.success(data); } + @GetMapping("/export") + @OperationLog("商品单位-导出") + public void exportProduct(ShopProdUnitDTO param, HttpServletResponse response) { + shopProdUnitService.exportShopProdUnit(param, response); + } + @GetMapping("{id}") @OperationLog("商品单位-详情") //@SaAdminCheckPermission("shopProdUnit:info") diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductCategoryExportDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductCategoryExportDTO.java new file mode 100644 index 000000000..59e1dd3ac --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductCategoryExportDTO.java @@ -0,0 +1,20 @@ +package com.czg.product.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * @author yjjie + * @date 2026/1/30 18:15 + */ +@Data +public class ProductCategoryExportDTO { + + @ExcelProperty("分类名称") + private String name; + + + @ExcelProperty("简称") + private String shortName; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductUnitExportDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductUnitExportDTO.java new file mode 100644 index 000000000..17687630e --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProductUnitExportDTO.java @@ -0,0 +1,40 @@ +package com.czg.product.dto; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +/** + * 商品单位导出 + * @author yjjie + * @date 2026/1/30 17:51 + */ +@Data +public class ProductUnitExportDTO { + + @ExcelProperty("单位名称") + private String name; + /** + * 单位类型 number-计数 weight-记重 + */ + @ExcelIgnore + private String unitType; + @ExcelProperty("单位类型") + private String unitTypeRemark; + + /** + * 单位来源 1-系统预设 0-商家创建 + */ + @ExcelIgnore + private Integer isSystem; + @ExcelProperty("单位来源") + private String isSystemRemark; + + public String getUnitTypeRemark() { + return "number".equals(unitType) ? "计数" : "记重"; + } + + public String getIsSystemRemark() { + return isSystem == 1 ? "系统预设" : "商家创建"; + } +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdCategoryService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdCategoryService.java index 4af1e0a30..380bc03ac 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdCategoryService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdCategoryService.java @@ -4,6 +4,7 @@ import com.czg.product.dto.ShopProdCategoryDTO; import com.czg.product.entity.ShopProdCategory; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; +import jakarta.servlet.http.HttpServletResponse; import java.util.List; @@ -30,6 +31,8 @@ public interface ShopProdCategoryService extends IService { */ List getShopProdCategoryList(ShopProdCategoryDTO param); + void exportShopProdCategory(ShopProdCategoryDTO param, HttpServletResponse response); + /** * 获取店铺商品分类详情 * @param id id diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdUnitService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdUnitService.java index c45f856e5..97135badf 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdUnitService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/service/ShopProdUnitService.java @@ -4,6 +4,7 @@ import com.czg.product.dto.ShopProdUnitDTO; import com.czg.product.entity.ShopProdUnit; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; +import jakarta.servlet.http.HttpServletResponse; import java.util.List; @@ -31,6 +32,8 @@ public interface ShopProdUnitService extends IService { */ List getShopProdUnitList(ShopProdUnitDTO param); + void exportShopProdUnit(ShopProdUnitDTO param, HttpServletResponse response); + /** * 获取商品单位详情 * diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java index d80c65797..710d9a032 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java @@ -277,7 +277,7 @@ public class ProductServiceImpl extends ServiceImpl impl .setIsSale(getMainSkuIsSale(exportDTO)) .setGroupTitleName(proGroupDTO.getTitle()) .setGroupProductNumber(Optional.ofNullable(proGroupDTO.getNumber()).map(String::valueOf).orElse("")) - .setGroupProductName(good.getProName() + " " + good.getSkuName()); + .setGroupProductName(good.getProName() + "-" + good.getSkuName()); dataList.add(pkgDto); } diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdCategoryServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdCategoryServiceImpl.java index f285d79d4..09b4e2b85 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdCategoryServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdCategoryServiceImpl.java @@ -3,7 +3,9 @@ package com.czg.service.product.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.czg.constants.SystemConstants; +import com.czg.excel.ExcelExportUtil; import com.czg.exception.CzgException; +import com.czg.product.dto.ProductCategoryExportDTO; import com.czg.product.dto.ShopProdCategoryDTO; import com.czg.product.entity.ShopProdCategory; import com.czg.product.service.ProductService; @@ -16,6 +18,7 @@ import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -62,6 +65,14 @@ public class ShopProdCategoryServiceImpl extends ServiceImpl exportList = listAs(queryWrapper, ProductCategoryExportDTO.class); + ExcelExportUtil.exportToResponse(exportList, ProductCategoryExportDTO.class, "商品分类列表", response); + } + @Override public ShopProdCategoryDTO getShopProdCategoryById(Long id) { Long shopId = StpKit.USER.getShopId(0L); diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdUnitServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdUnitServiceImpl.java index 5b093147c..4da692a26 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdUnitServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ShopProdUnitServiceImpl.java @@ -3,7 +3,9 @@ package com.czg.service.product.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.czg.constants.SystemConstants; +import com.czg.excel.ExcelExportUtil; import com.czg.exception.CzgException; +import com.czg.product.dto.ProductUnitExportDTO; import com.czg.product.dto.ShopProdUnitDTO; import com.czg.product.entity.ShopProdUnit; import com.czg.product.enums.UnitTypeEnum; @@ -15,6 +17,7 @@ import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Service; import java.util.List; @@ -59,6 +62,14 @@ public class ShopProdUnitServiceImpl extends ServiceImpl unitExportDTOList = listAs(queryWrapper, ProductUnitExportDTO.class); + ExcelExportUtil.exportToResponse(unitExportDTOList, ProductUnitExportDTO.class, "单位列表", response); + } + @Override public ShopProdUnitDTO getShopProdUnitById(Long id) { Long shopId = StpKit.USER.getShopId(0L);