From 08fb6019d64d16a650060455b3d9d341267d5f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Wed, 26 Jun 2024 09:40:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=80=97=E6=9D=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ysk/cashier/cons/domain/ViewConSku.java | 36 +++++++- .../cons/domain/ViewProductSkuShop.java | 59 ++++++++++++ .../cons/repository/ViewConSkuRepository.java | 2 +- .../ViewProductSkuShopRepository.java | 13 +++ .../rest/ViewProductSkuShopController.java | 65 +++++++++++++ .../cons/service/ViewConSkuService.java | 2 +- .../service/ViewProductSkuShopService.java | 66 +++++++++++++ .../cons/service/dto/ViewConSkuDto.java | 27 +++++- .../service/dto/ViewConSkuQueryCriteria.java | 18 +++- .../service/dto/ViewProductSkuShopDto.java | 42 +++++++++ .../dto/ViewProductSkuShopQueryCriteria.java | 29 ++++++ .../service/impl/ViewConSkuServiceImpl.java | 10 +- .../impl/ViewProductSkuShopServiceImpl.java | 92 +++++++++++++++++++ .../service/mapstruct/ViewConSkuMapper.java | 2 +- .../mapstruct/ViewProductSkuShopMapper.java | 16 ++++ 15 files changed, 461 insertions(+), 18 deletions(-) create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewProductSkuShop.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewProductSkuShopRepository.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewProductSkuShopController.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewProductSkuShopService.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopDto.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopQueryCriteria.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewProductSkuShopServiceImpl.java create mode 100644 eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewProductSkuShopMapper.java diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConSku.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConSku.java index 0cfe6638..b6adf1a4 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConSku.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConSku.java @@ -21,11 +21,12 @@ import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; import javax.persistence.*; import javax.validation.constraints.*; +import java.math.BigDecimal; import java.io.Serializable; /** * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ @Entity @Data @@ -33,8 +34,7 @@ import java.io.Serializable; public class ViewConSku implements Serializable { @Id - @Column(name = "`id`",nullable = false) - @NotNull + @Column(name = "`id`") @ApiModelProperty(value = "id") private Integer id; @@ -56,6 +56,35 @@ public class ViewConSku implements Serializable { @ApiModelProperty(value = "规格") private String specSnap; + @Column(name = "`shop_id`") + @ApiModelProperty(value = "店铺id") + private Integer shopId; + + @Column(name = "`status`",nullable = false) + @NotBlank + @ApiModelProperty(value = "状态 1 启用 0 禁用") + private String status; + + @Column(name = "`con_code`") + @ApiModelProperty(value = "耗材代码") + private String conCode; + + @Column(name = "`con_unit`") + @ApiModelProperty(value = "单位值") + private String conUnit; + + @Column(name = "`stock_number`") + @ApiModelProperty(value = "库存值") + private BigDecimal stockNumber; + + @Column(name = "`surplus_stock`") + @ApiModelProperty(value = "每份消耗") + private BigDecimal surplusStock; + + @Column(name = "`spec_info`") + @ApiModelProperty(value = "标签详情") + private String specInfo; + @Column(name = "`name`") @ApiModelProperty(value = "商品名称") private String name; @@ -63,5 +92,4 @@ public class ViewConSku implements Serializable { public void copy(ViewConSku source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } - } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewProductSkuShop.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewProductSkuShop.java new file mode 100644 index 00000000..b2e3ecff --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewProductSkuShop.java @@ -0,0 +1,59 @@ +/* +* Copyright 2019-2020 Zheng Jie +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package cn.ysk.cashier.cons.domain; + +import lombok.Data; +import cn.hutool.core.bean.BeanUtil; +import io.swagger.annotations.ApiModelProperty; +import cn.hutool.core.bean.copier.CopyOptions; +import javax.persistence.*; +import javax.validation.constraints.*; +import java.io.Serializable; + +/** +* @author admin +* @date 2024-06-25 +**/ +@Entity +@Data +@Table(name="view_product_sku_shop") +public class ViewProductSkuShop implements Serializable { + + @Id + @Column(name = "`id`") + @ApiModelProperty(value = "自增id") + private Integer id; + + @Column(name = "`spec_snap`") + @ApiModelProperty(value = "规格") + private String specSnap; + + @Column(name = "`name`") + @ApiModelProperty(value = "商品名称") + private String name; + + @Column(name = "`shop_name`") + @ApiModelProperty(value = "店铺名称") + private String shopName; + + @Column(name = "`shop_id`") + @ApiModelProperty(value = "自增id") + private Integer shopId; + + public void copy(ViewProductSkuShop source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } +} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConSkuRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConSkuRepository.java index 6f1b9590..e3611616 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConSkuRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConSkuRepository.java @@ -7,7 +7,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; /** * @website https://eladmin.vip * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ public interface ViewConSkuRepository extends JpaRepository, JpaSpecificationExecutor { } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewProductSkuShopRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewProductSkuShopRepository.java new file mode 100644 index 00000000..f6dd5d93 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewProductSkuShopRepository.java @@ -0,0 +1,13 @@ +package cn.ysk.cashier.cons.repository; + +import cn.ysk.cashier.cons.domain.ViewProductSkuShop; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; + +/** +* @website https://eladmin.vip +* @author admin +* @date 2024-06-25 +**/ +public interface ViewProductSkuShopRepository extends JpaRepository, JpaSpecificationExecutor { +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewProductSkuShopController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewProductSkuShopController.java new file mode 100644 index 00000000..a3ed039c --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewProductSkuShopController.java @@ -0,0 +1,65 @@ +package cn.ysk.cashier.cons.rest; + +import cn.ysk.cashier.annotation.Log; +import cn.ysk.cashier.cons.domain.ViewProductSkuShop; +import cn.ysk.cashier.cons.service.ViewProductSkuShopService; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopQueryCriteria; +import org.springframework.data.domain.Pageable; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +/** +* @author admin +* @date 2024-06-25 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "商品规格信息查询管理") +@RequestMapping("/api/viewProductSkuShop") +public class ViewProductSkuShopController { + + private final ViewProductSkuShopService viewProductSkuShopService; + + @Log("导出数据") + @ApiOperation("导出数据") + @GetMapping(value = "/download") + public void exportViewProductSkuShop(HttpServletResponse response, ViewProductSkuShopQueryCriteria criteria) throws IOException { + viewProductSkuShopService.download(viewProductSkuShopService.queryAll(criteria), response); + } + + @GetMapping + @Log("查询商品规格信息查询") + @ApiOperation("查询商品规格信息查询") + public ResponseEntity queryViewProductSkuShop(ViewProductSkuShopQueryCriteria criteria, Pageable pageable){ + return new ResponseEntity<>(viewProductSkuShopService.queryAll(criteria,pageable),HttpStatus.OK); + } + + @PostMapping + @Log("新增商品规格信息查询") + @ApiOperation("新增商品规格信息查询") + public ResponseEntity createViewProductSkuShop(@Validated @RequestBody ViewProductSkuShop resources){ + return new ResponseEntity<>(viewProductSkuShopService.create(resources),HttpStatus.CREATED); + } + + @PutMapping + @Log("修改商品规格信息查询") + @ApiOperation("修改商品规格信息查询") + public ResponseEntity updateViewProductSkuShop(@Validated @RequestBody ViewProductSkuShop resources){ + viewProductSkuShopService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping + @Log("删除商品规格信息查询") + @ApiOperation("删除商品规格信息查询") + public ResponseEntity deleteViewProductSkuShop(@RequestBody Integer[] ids) { + viewProductSkuShopService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConSkuService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConSkuService.java index e90a4092..b953cedc 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConSkuService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConSkuService.java @@ -11,7 +11,7 @@ import javax.servlet.http.HttpServletResponse; /** * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ public interface ViewConSkuService { diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewProductSkuShopService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewProductSkuShopService.java new file mode 100644 index 00000000..1050c619 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewProductSkuShopService.java @@ -0,0 +1,66 @@ +package cn.ysk.cashier.cons.service; + +import cn.ysk.cashier.cons.domain.ViewProductSkuShop; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopDto; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopQueryCriteria; +import org.springframework.data.domain.Pageable; +import java.util.Map; +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +/** +* @author admin +* @date 2024-06-25 +**/ +public interface ViewProductSkuShopService { + + /** + * 查询数据分页 + * @param criteria 条件 + * @param pageable 分页参数 + * @return Map + */ + Map queryAll(ViewProductSkuShopQueryCriteria criteria, Pageable pageable); + + /** + * 查询所有数据不分页 + * @param criteria 条件参数 + * @return List + */ + List queryAll(ViewProductSkuShopQueryCriteria criteria); + + /** + * 根据ID查询 + * @param id ID + * @return ViewProductSkuShopDto + */ + ViewProductSkuShopDto findById(Integer id); + + /** + * 创建 + * @param resources / + * @return ViewProductSkuShopDto + */ + ViewProductSkuShopDto create(ViewProductSkuShop resources); + + /** + * 编辑 + * @param resources / + */ + void update(ViewProductSkuShop resources); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Integer[] ids); + + /** + * 导出数据 + * @param all 待导出的数据 + * @param response / + * @throws IOException / + */ + void download(List all, HttpServletResponse response) throws IOException; +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuDto.java index b41df496..323a126b 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuDto.java @@ -16,11 +16,12 @@ package cn.ysk.cashier.cons.service.dto; import lombok.Data; +import java.math.BigDecimal; import java.io.Serializable; /** * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ @Data public class ViewConSkuDto implements Serializable { @@ -39,9 +40,27 @@ public class ViewConSkuDto implements Serializable { /** 规格 */ private String specSnap; - /** 商品名称 */ - private String name; - /** 店铺id */ private Integer shopId; + + /** 状态 1 启用 0 禁用 */ + private String status; + + /** 耗材代码 */ + private String conCode; + + /** 单位值 */ + private String conUnit; + + /** 库存值 */ + private BigDecimal stockNumber; + + /** 每份消耗 */ + private BigDecimal surplusStock; + + /** 标签详情 */ + private String specInfo; + + /** 商品名称 */ + private String name; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuQueryCriteria.java index 04311e81..8d3b7de5 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuQueryCriteria.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConSkuQueryCriteria.java @@ -6,7 +6,7 @@ import cn.ysk.cashier.annotation.Query; /** * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ @Data public class ViewConSkuQueryCriteria{ @@ -19,11 +19,19 @@ public class ViewConSkuQueryCriteria{ @Query private String specSnap; - /** 模糊 */ - @Query(type = Query.Type.INNER_LIKE) - private String name; - /** 精确 */ @Query private Integer shopId; + + /** 精确 */ + @Query + private String status; + + /** 精确 */ + @Query + private String conCode; + + /** 模糊 */ + @Query(type = Query.Type.INNER_LIKE) + private String name; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopDto.java new file mode 100644 index 00000000..97ec9436 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopDto.java @@ -0,0 +1,42 @@ +/* +* Copyright 2019-2020 Zheng Jie +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package cn.ysk.cashier.cons.service.dto; + +import lombok.Data; +import java.io.Serializable; + +/** +* @author admin +* @date 2024-06-25 +**/ +@Data +public class ViewProductSkuShopDto implements Serializable { + + /** 自增id */ + private Integer id; + + /** 规格 */ + private String specSnap; + + /** 商品名称 */ + private String name; + + /** 店铺名称 */ + private String shopName; + + /** 自增id */ + private Integer shopId; +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopQueryCriteria.java new file mode 100644 index 00000000..eace9210 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewProductSkuShopQueryCriteria.java @@ -0,0 +1,29 @@ +package cn.ysk.cashier.cons.service.dto; + +import lombok.Data; +import java.util.List; +import cn.ysk.cashier.annotation.Query; + +/** +* @author admin +* @date 2024-06-25 +**/ +@Data +public class ViewProductSkuShopQueryCriteria{ + + /** 模糊 */ + @Query(type = Query.Type.INNER_LIKE) + private String specSnap; + + /** 模糊 */ + @Query(type = Query.Type.INNER_LIKE) + private String name; + + /** 模糊 */ + @Query(type = Query.Type.INNER_LIKE) + private String shopName; + + /** 精确 */ + @Query + private Integer shopId; +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConSkuServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConSkuServiceImpl.java index ea29b555..bd95cc87 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConSkuServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConSkuServiceImpl.java @@ -26,7 +26,7 @@ import java.util.LinkedHashMap; * @website https://eladmin.vip * @description 服务实现 * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ @Service @RequiredArgsConstructor @@ -85,8 +85,14 @@ public class ViewConSkuServiceImpl implements ViewConSkuService { map.put("商品规格id", viewConSku.getProductSkuId()); map.put("耗材名称", viewConSku.getConName()); map.put("规格", viewConSku.getSpecSnap()); - map.put("商品名称", viewConSku.getName()); map.put("店铺id", viewConSku.getShopId()); + map.put("状态 1 启用 0 禁用", viewConSku.getStatus()); + map.put("耗材代码", viewConSku.getConCode()); + map.put("单位值", viewConSku.getConUnit()); + map.put("库存值", viewConSku.getStockNumber()); + map.put("每份消耗", viewConSku.getSurplusStock()); + map.put("标签详情", viewConSku.getSpecInfo()); + map.put("商品名称", viewConSku.getName()); list.add(map); } FileUtil.downloadExcel(list, response); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewProductSkuShopServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewProductSkuShopServiceImpl.java new file mode 100644 index 00000000..d57f464c --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewProductSkuShopServiceImpl.java @@ -0,0 +1,92 @@ +package cn.ysk.cashier.cons.service.impl; + +import cn.ysk.cashier.cons.domain.ViewProductSkuShop; +import cn.ysk.cashier.utils.FileUtil; +import cn.ysk.cashier.utils.PageUtil; +import cn.ysk.cashier.utils.QueryHelp; +import cn.ysk.cashier.utils.ValidationUtil; +import lombok.RequiredArgsConstructor; +import cn.ysk.cashier.cons.repository.ViewProductSkuShopRepository; +import cn.ysk.cashier.cons.service.ViewProductSkuShopService; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopDto; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopQueryCriteria; +import cn.ysk.cashier.cons.service.mapstruct.ViewProductSkuShopMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.LinkedHashMap; + +/** +* @website https://eladmin.vip +* @description 服务实现 +* @author admin +* @date 2024-06-25 +**/ +@Service +@RequiredArgsConstructor +public class ViewProductSkuShopServiceImpl implements ViewProductSkuShopService { + + private final ViewProductSkuShopRepository viewProductSkuShopRepository; + private final ViewProductSkuShopMapper viewProductSkuShopMapper; + + @Override + public Map queryAll(ViewProductSkuShopQueryCriteria criteria, Pageable pageable){ + Page page = viewProductSkuShopRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); + return PageUtil.toPage(page.map(viewProductSkuShopMapper::toDto)); + } + + @Override + public List queryAll(ViewProductSkuShopQueryCriteria criteria){ + return viewProductSkuShopMapper.toDto(viewProductSkuShopRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); + } + + @Override + @Transactional + public ViewProductSkuShopDto findById(Integer id) { + ViewProductSkuShop viewProductSkuShop = viewProductSkuShopRepository.findById(id).orElseGet(ViewProductSkuShop::new); + ValidationUtil.isNull(viewProductSkuShop.getId(),"ViewProductSkuShop","id",id); + return viewProductSkuShopMapper.toDto(viewProductSkuShop); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ViewProductSkuShopDto create(ViewProductSkuShop resources) { + return viewProductSkuShopMapper.toDto(viewProductSkuShopRepository.save(resources)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ViewProductSkuShop resources) { + ViewProductSkuShop viewProductSkuShop = viewProductSkuShopRepository.findById(resources.getId()).orElseGet(ViewProductSkuShop::new); + ValidationUtil.isNull( viewProductSkuShop.getId(),"ViewProductSkuShop","id",resources.getId()); + viewProductSkuShop.copy(resources); + viewProductSkuShopRepository.save(viewProductSkuShop); + } + + @Override + public void deleteAll(Integer[] ids) { + for (Integer id : ids) { + viewProductSkuShopRepository.deleteById(id); + } + } + + @Override + public void download(List all, HttpServletResponse response) throws IOException { + List> list = new ArrayList<>(); + for (ViewProductSkuShopDto viewProductSkuShop : all) { + Map map = new LinkedHashMap<>(); + map.put("规格", viewProductSkuShop.getSpecSnap()); + map.put("商品名称", viewProductSkuShop.getName()); + map.put("店铺名称", viewProductSkuShop.getShopName()); + map.put("自增id", viewProductSkuShop.getShopId()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConSkuMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConSkuMapper.java index 128806f7..266dca7d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConSkuMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConSkuMapper.java @@ -8,7 +8,7 @@ import org.mapstruct.ReportingPolicy; /** * @author admin -* @date 2024-06-24 +* @date 2024-06-25 **/ @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface ViewConSkuMapper extends BaseMapper { diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewProductSkuShopMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewProductSkuShopMapper.java new file mode 100644 index 00000000..4faf2d46 --- /dev/null +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewProductSkuShopMapper.java @@ -0,0 +1,16 @@ +package cn.ysk.cashier.cons.service.mapstruct; + +import cn.ysk.cashier.base.BaseMapper; +import cn.ysk.cashier.cons.domain.ViewProductSkuShop; +import cn.ysk.cashier.cons.service.dto.ViewProductSkuShopDto; +import org.mapstruct.Mapper; +import org.mapstruct.ReportingPolicy; + +/** +* @author admin +* @date 2024-06-25 +**/ +@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface ViewProductSkuShopMapper extends BaseMapper { + +} \ No newline at end of file