产品模块7

This commit is contained in:
xuelijun
2025-07-29 17:24:00 +08:00
parent cdaeb3d908
commit 4675e14813
28 changed files with 1328 additions and 1 deletions

View File

@@ -0,0 +1,97 @@
package com.tashow.cloud.product.controller;
import com.tashow.cloud.product.dto.SkuServiceMaterialDO;
import com.tashow.cloud.product.service.SkuServiceMaterialService;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialPageReqVO;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialRespVO;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.pojo.CommonResult.success;
import com.tashow.cloud.excel.excel.core.util.ExcelUtils;
import com.tashow.cloud.web.apilog.core.annotation.ApiAccessLog;
import static com.tashow.cloud.web.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 服务物料详情")
@RestController
@RequestMapping("/tz/sku-service-material")
@Validated
public class SkuServiceMaterialController {
@Resource
private SkuServiceMaterialService skuServiceMaterialService;
@PostMapping("/create")
@Operation(summary = "创建服务物料详情")
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:create')")
public CommonResult<Long> createSkuServiceMaterial(@Valid @RequestBody SkuServiceMaterialSaveReqVO createReqVO) {
return success(skuServiceMaterialService.createSkuServiceMaterial(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新服务物料详情")
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:update')")
public CommonResult<Boolean> updateSkuServiceMaterial(@Valid @RequestBody SkuServiceMaterialSaveReqVO updateReqVO) {
skuServiceMaterialService.updateSkuServiceMaterial(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除服务物料详情")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:delete')")
public CommonResult<Boolean> deleteSkuServiceMaterial(@RequestParam("id") Long id) {
skuServiceMaterialService.deleteSkuServiceMaterial(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得服务物料详情")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:query')")
public CommonResult<SkuServiceMaterialRespVO> getSkuServiceMaterial(@RequestParam("id") Long id) {
SkuServiceMaterialDO skuServiceMaterial = skuServiceMaterialService.getSkuServiceMaterial(id);
return success(BeanUtils.toBean(skuServiceMaterial, SkuServiceMaterialRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得服务物料详情分页")
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:query')")
public CommonResult<PageResult<SkuServiceMaterialRespVO>> getSkuServiceMaterialPage(@Valid SkuServiceMaterialPageReqVO pageReqVO) {
PageResult<SkuServiceMaterialDO> pageResult = skuServiceMaterialService.getSkuServiceMaterialPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, SkuServiceMaterialRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出服务物料详情 Excel")
@PreAuthorize("@ss.hasPermission('tz:sku-service-material:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportSkuServiceMaterialExcel(@Valid SkuServiceMaterialPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<SkuServiceMaterialDO> list = skuServiceMaterialService.getSkuServiceMaterialPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "服务物料详情.xls", "数据", SkuServiceMaterialRespVO.class,
BeanUtils.toBean(list, SkuServiceMaterialRespVO.class));
}
}

View File

@@ -0,0 +1,96 @@
package com.tashow.cloud.product.controller;
import com.tashow.cloud.product.dto.SkuServiceTransportDO;
import com.tashow.cloud.product.service.SkuServiceTransportService;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportPageReqVO;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportRespVO;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.pojo.CommonResult.success;
import com.tashow.cloud.excel.excel.core.util.ExcelUtils;
import com.tashow.cloud.web.apilog.core.annotation.ApiAccessLog;
import static com.tashow.cloud.web.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 服务遗体运输")
@RestController
@RequestMapping("/tz/sku-service-transport")
@Validated
public class SkuServiceTransportController {
@Resource
private SkuServiceTransportService skuServiceTransportService;
@PostMapping("/create")
@Operation(summary = "创建服务遗体运输")
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:create')")
public CommonResult<Long> createSkuServiceTransport(@Valid @RequestBody SkuServiceTransportSaveReqVO createReqVO) {
return success(skuServiceTransportService.createSkuServiceTransport(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新服务遗体运输")
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:update')")
public CommonResult<Boolean> updateSkuServiceTransport(@Valid @RequestBody SkuServiceTransportSaveReqVO updateReqVO) {
skuServiceTransportService.updateSkuServiceTransport(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除服务遗体运输")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:delete')")
public CommonResult<Boolean> deleteSkuServiceTransport(@RequestParam("id") Long id) {
skuServiceTransportService.deleteSkuServiceTransport(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得服务遗体运输")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:query')")
public CommonResult<SkuServiceTransportRespVO> getSkuServiceTransport(@RequestParam("id") Long id) {
SkuServiceTransportDO skuServiceTransport = skuServiceTransportService.getSkuServiceTransport(id);
return success(BeanUtils.toBean(skuServiceTransport, SkuServiceTransportRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得服务遗体运输分页")
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:query')")
public CommonResult<PageResult<SkuServiceTransportRespVO>> getSkuServiceTransportPage(@Valid SkuServiceTransportPageReqVO pageReqVO) {
PageResult<SkuServiceTransportDO> pageResult = skuServiceTransportService.getSkuServiceTransportPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, SkuServiceTransportRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出服务遗体运输 Excel")
@PreAuthorize("@ss.hasPermission('tz:sku-service-transport:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportSkuServiceTransportExcel(@Valid SkuServiceTransportPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<SkuServiceTransportDO> list = skuServiceTransportService.getSkuServiceTransportPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "服务遗体运输.xls", "数据", SkuServiceTransportRespVO.class,
BeanUtils.toBean(list, SkuServiceTransportRespVO.class));
}
}

View File

@@ -0,0 +1,96 @@
package com.tashow.cloud.product.controller;
import com.tashow.cloud.product.dto.SkuServicesFormDO;
import com.tashow.cloud.product.service.SkuServicesFormService;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormPageReqVO;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormRespVO;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.pojo.CommonResult.success;
import com.tashow.cloud.excel.excel.core.util.ExcelUtils;
import com.tashow.cloud.web.apilog.core.annotation.ApiAccessLog;
import static com.tashow.cloud.web.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 商品SKU扩展服务表单")
@RestController
@RequestMapping("/tz/sku-services-form")
@Validated
public class SkuServicesFormController {
@Resource
private SkuServicesFormService skuServicesFormService;
@PostMapping("/create")
@Operation(summary = "创建商品SKU扩展服务表单")
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:create')")
public CommonResult<Long> createSkuServicesForm(@Valid @RequestBody SkuServicesFormSaveReqVO createReqVO) {
return success(skuServicesFormService.createSkuServicesForm(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新商品SKU扩展服务表单")
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:update')")
public CommonResult<Boolean> updateSkuServicesForm(@Valid @RequestBody SkuServicesFormSaveReqVO updateReqVO) {
skuServicesFormService.updateSkuServicesForm(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除商品SKU扩展服务表单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:delete')")
public CommonResult<Boolean> deleteSkuServicesForm(@RequestParam("id") Long id) {
skuServicesFormService.deleteSkuServicesForm(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得商品SKU扩展服务表单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:query')")
public CommonResult<SkuServicesFormRespVO> getSkuServicesForm(@RequestParam("id") Long id) {
SkuServicesFormDO skuServicesForm = skuServicesFormService.getSkuServicesForm(id);
return success(BeanUtils.toBean(skuServicesForm, SkuServicesFormRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得商品SKU扩展服务表单分页")
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:query')")
public CommonResult<PageResult<SkuServicesFormRespVO>> getSkuServicesFormPage(@Valid SkuServicesFormPageReqVO pageReqVO) {
PageResult<SkuServicesFormDO> pageResult = skuServicesFormService.getSkuServicesFormPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, SkuServicesFormRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出商品SKU扩展服务表单 Excel")
@PreAuthorize("@ss.hasPermission('tz:sku-services-form:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportSkuServicesFormExcel(@Valid SkuServicesFormPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<SkuServicesFormDO> list = skuServicesFormService.getSkuServicesFormPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "商品SKU扩展服务表单.xls", "数据", SkuServicesFormRespVO.class,
BeanUtils.toBean(list, SkuServicesFormRespVO.class));
}
}

View File

@@ -0,0 +1,51 @@
package com.tashow.cloud.product.dto;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
/**
* 服务物料详情 DO
*
* @author 芋道源码
*/
@TableName("tz_sku_service_material")
@KeySequence("tz_sku_service_material_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SkuServiceMaterialDO extends BaseDO {
/**
* 服务物料的唯一标识符
*/
@TableId
private Long id;
/**
* 关联的扩展服务ID
*/
private Long serviceId;
/**
* 名称
*/
private String name;
/**
* 描述
*/
private String describe;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 最后更新时间
*/
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,67 @@
package com.tashow.cloud.product.dto;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
/**
* 服务遗体运输 DO
*
* @author 芋道源码
*/
@TableName("tz_sku_service_transport")
@KeySequence("tz_sku_service_transport_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SkuServiceTransportDO extends BaseDO {
/**
* 服务遗体运输唯一标识符
*/
@TableId
private Long id;
/**
* 关联的扩展服务ID
*/
private Long serviceId;
/**
* 联系人
*/
private String contacts;
/**
* 详细地址
*/
private String address;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String area;
/**
* 电话号码
*/
private String tel;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 最后更新时间
*/
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,55 @@
package com.tashow.cloud.product.dto;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
/**
* 商品SKU扩展服务表单 DO
*
* @author 芋道源码
*/
@TableName("tz_sku_services_form")
@KeySequence("tz_sku_services_form_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SkuServicesFormDO extends BaseDO {
/**
* 扩展服务的唯一标识符
*/
@TableId
private Long id;
/**
* 表单名称
*/
private String name;
/**
* 关联的商品SKU ID
*/
private Long skuId;
/**
* 服务名称
*/
private String serviceName;
/**
* 是否启用该服务
*/
private Boolean isEnabled;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 最后更新时间
*/
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,20 @@
package com.tashow.cloud.product.mapper;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.product.dto.SkuServiceMaterialDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 服务物料详情 Mapper
*
* @author 芋道源码
*/
@Mapper
public interface SkuServiceMaterialMapper extends BaseMapperX<SkuServiceMaterialDO> {
}

View File

@@ -0,0 +1,20 @@
package com.tashow.cloud.product.mapper;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.product.dto.SkuServiceTransportDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 服务遗体运输 Mapper
*
* @author 芋道源码
*/
@Mapper
public interface SkuServiceTransportMapper extends BaseMapperX<SkuServiceTransportDO> {
}

View File

@@ -0,0 +1,20 @@
package com.tashow.cloud.product.mapper;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.product.dto.SkuServicesFormDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 商品SKU扩展服务表单 Mapper
*
* @author 芋道源码
*/
@Mapper
public interface SkuServicesFormMapper extends BaseMapperX<SkuServicesFormDO> {
}

View File

@@ -0,0 +1,57 @@
package com.tashow.cloud.product.service;
import java.util.*;
import com.tashow.cloud.product.dto.SkuServiceMaterialDO;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialPageReqVO;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialSaveReqVO;
import jakarta.validation.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
/**
* 服务物料详情 Service 接口
*
* @author 芋道源码
*/
public interface SkuServiceMaterialService {
/**
* 创建服务物料详情
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createSkuServiceMaterial(@Valid SkuServiceMaterialSaveReqVO createReqVO);
/**
* 更新服务物料详情
*
* @param updateReqVO 更新信息
*/
void updateSkuServiceMaterial(@Valid SkuServiceMaterialSaveReqVO updateReqVO);
/**
* 删除服务物料详情
*
* @param id 编号
*/
void deleteSkuServiceMaterial(Long id);
/**
* 获得服务物料详情
*
* @param id 编号
* @return 服务物料详情
*/
SkuServiceMaterialDO getSkuServiceMaterial(Long id);
/**
* 获得服务物料详情分页
*
* @param pageReqVO 分页查询
* @return 服务物料详情分页
*/
PageResult<SkuServiceMaterialDO> getSkuServiceMaterialPage(SkuServiceMaterialPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,57 @@
package com.tashow.cloud.product.service;
import java.util.*;
import com.tashow.cloud.product.dto.SkuServiceTransportDO;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportPageReqVO;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportSaveReqVO;
import jakarta.validation.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
/**
* 服务遗体运输 Service 接口
*
* @author 芋道源码
*/
public interface SkuServiceTransportService {
/**
* 创建服务遗体运输
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createSkuServiceTransport(@Valid SkuServiceTransportSaveReqVO createReqVO);
/**
* 更新服务遗体运输
*
* @param updateReqVO 更新信息
*/
void updateSkuServiceTransport(@Valid SkuServiceTransportSaveReqVO updateReqVO);
/**
* 删除服务遗体运输
*
* @param id 编号
*/
void deleteSkuServiceTransport(Long id);
/**
* 获得服务遗体运输
*
* @param id 编号
* @return 服务遗体运输
*/
SkuServiceTransportDO getSkuServiceTransport(Long id);
/**
* 获得服务遗体运输分页
*
* @param pageReqVO 分页查询
* @return 服务遗体运输分页
*/
PageResult<SkuServiceTransportDO> getSkuServiceTransportPage(SkuServiceTransportPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,57 @@
package com.tashow.cloud.product.service;
import java.util.*;
import com.tashow.cloud.product.dto.SkuServicesFormDO;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormPageReqVO;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormSaveReqVO;
import jakarta.validation.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
/**
* 商品SKU扩展服务表单 Service 接口
*
* @author 芋道源码
*/
public interface SkuServicesFormService {
/**
* 创建商品SKU扩展服务表单
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createSkuServicesForm(@Valid SkuServicesFormSaveReqVO createReqVO);
/**
* 更新商品SKU扩展服务表单
*
* @param updateReqVO 更新信息
*/
void updateSkuServicesForm(@Valid SkuServicesFormSaveReqVO updateReqVO);
/**
* 删除商品SKU扩展服务表单
*
* @param id 编号
*/
void deleteSkuServicesForm(Long id);
/**
* 获得商品SKU扩展服务表单
*
* @param id 编号
* @return 商品SKU扩展服务表单
*/
SkuServicesFormDO getSkuServicesForm(Long id);
/**
* 获得商品SKU扩展服务表单分页
*
* @param pageReqVO 分页查询
* @return 商品SKU扩展服务表单分页
*/
PageResult<SkuServicesFormDO> getSkuServicesFormPage(SkuServicesFormPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,76 @@
package com.tashow.cloud.product.service.impl;
import com.tashow.cloud.product.dto.SkuServiceMaterialDO;
import com.tashow.cloud.product.mapper.SkuServiceMaterialMapper;
import com.tashow.cloud.product.service.SkuServiceMaterialService;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialPageReqVO;
import com.tashow.cloud.product.vo.skuservicematerial.SkuServiceMaterialSaveReqVO;
import com.tashow.cloud.productapi.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
/**
* 服务物料详情 Service 实现类
*
* @author 芋道源码
*/
@Service
@Validated
public class SkuServiceMaterialServiceImpl implements SkuServiceMaterialService {
@Resource
private SkuServiceMaterialMapper skuServiceMaterialMapper;
@Override
public Long createSkuServiceMaterial(SkuServiceMaterialSaveReqVO createReqVO) {
// 插入
SkuServiceMaterialDO skuServiceMaterial = BeanUtils.toBean(createReqVO, SkuServiceMaterialDO.class);
skuServiceMaterialMapper.insert(skuServiceMaterial);
// 返回
return skuServiceMaterial.getId();
}
@Override
public void updateSkuServiceMaterial(SkuServiceMaterialSaveReqVO updateReqVO) {
// 校验存在
validateSkuServiceMaterialExists(updateReqVO.getId());
// 更新
SkuServiceMaterialDO updateObj = BeanUtils.toBean(updateReqVO, SkuServiceMaterialDO.class);
skuServiceMaterialMapper.updateById(updateObj);
}
@Override
public void deleteSkuServiceMaterial(Long id) {
// 校验存在
validateSkuServiceMaterialExists(id);
// 删除
skuServiceMaterialMapper.deleteById(id);
}
private void validateSkuServiceMaterialExists(Long id) {
if (skuServiceMaterialMapper.selectById(id) == null) {
throw exception(ErrorCodeConstants.SKU_SERVICE_MATERIAL_NOT_EXISTS);
}
}
@Override
public SkuServiceMaterialDO getSkuServiceMaterial(Long id) {
return skuServiceMaterialMapper.selectById(id);
}
@Override
public PageResult<SkuServiceMaterialDO> getSkuServiceMaterialPage(SkuServiceMaterialPageReqVO pageReqVO) {
return null;
}
}

View File

@@ -0,0 +1,74 @@
package com.tashow.cloud.product.service.impl;
import com.tashow.cloud.product.dto.SkuServiceTransportDO;
import com.tashow.cloud.product.mapper.SkuServiceTransportMapper;
import com.tashow.cloud.product.service.SkuServiceTransportService;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportPageReqVO;
import com.tashow.cloud.product.vo.skuservicetransport.SkuServiceTransportSaveReqVO;
import com.tashow.cloud.productapi.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
/**
* 服务遗体运输 Service 实现类
*
* @author 芋道源码
*/
@Service
@Validated
public class SkuServiceTransportServiceImpl implements SkuServiceTransportService {
@Resource
private SkuServiceTransportMapper skuServiceTransportMapper;
@Override
public Long createSkuServiceTransport(SkuServiceTransportSaveReqVO createReqVO) {
// 插入
SkuServiceTransportDO skuServiceTransport = BeanUtils.toBean(createReqVO, SkuServiceTransportDO.class);
skuServiceTransportMapper.insert(skuServiceTransport);
// 返回
return skuServiceTransport.getId();
}
@Override
public void updateSkuServiceTransport(SkuServiceTransportSaveReqVO updateReqVO) {
// 校验存在
validateSkuServiceTransportExists(updateReqVO.getId());
// 更新
SkuServiceTransportDO updateObj = BeanUtils.toBean(updateReqVO, SkuServiceTransportDO.class);
skuServiceTransportMapper.updateById(updateObj);
}
@Override
public void deleteSkuServiceTransport(Long id) {
// 校验存在
validateSkuServiceTransportExists(id);
// 删除
skuServiceTransportMapper.deleteById(id);
}
private void validateSkuServiceTransportExists(Long id) {
if (skuServiceTransportMapper.selectById(id) == null) {
throw exception(ErrorCodeConstants.SKU_SERVICE_TRANSPORT_NOT_EXISTS);
}
}
@Override
public SkuServiceTransportDO getSkuServiceTransport(Long id) {
return skuServiceTransportMapper.selectById(id);
}
@Override
public PageResult<SkuServiceTransportDO> getSkuServiceTransportPage(SkuServiceTransportPageReqVO pageReqVO) {
return null;
}
}

View File

@@ -0,0 +1,73 @@
package com.tashow.cloud.product.service.impl;
import com.tashow.cloud.product.dto.SkuServicesFormDO;
import com.tashow.cloud.product.mapper.SkuServicesFormMapper;
import com.tashow.cloud.product.service.SkuServicesFormService;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormPageReqVO;
import com.tashow.cloud.product.vo.skuservicesform.SkuServicesFormSaveReqVO;
import com.tashow.cloud.productapi.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.common.pojo.PageParam;
import com.tashow.cloud.common.util.object.BeanUtils;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
/**
* 商品SKU扩展服务表单 Service 实现类
*
* @author 芋道源码
*/
@Service
@Validated
public class SkuServicesFormServiceImpl implements SkuServicesFormService {
@Resource
private SkuServicesFormMapper skuServicesFormMapper;
@Override
public Long createSkuServicesForm(SkuServicesFormSaveReqVO createReqVO) {
// 插入
SkuServicesFormDO skuServicesForm = BeanUtils.toBean(createReqVO, SkuServicesFormDO.class);
skuServicesFormMapper.insert(skuServicesForm);
// 返回
return skuServicesForm.getId();
}
@Override
public void updateSkuServicesForm(SkuServicesFormSaveReqVO updateReqVO) {
// 校验存在
validateSkuServicesFormExists(updateReqVO.getId());
// 更新
SkuServicesFormDO updateObj = BeanUtils.toBean(updateReqVO, SkuServicesFormDO.class);
skuServicesFormMapper.updateById(updateObj);
}
@Override
public void deleteSkuServicesForm(Long id) {
// 校验存在
validateSkuServicesFormExists(id);
// 删除
skuServicesFormMapper.deleteById(id);
}
private void validateSkuServicesFormExists(Long id) {
if (skuServicesFormMapper.selectById(id) == null) {
throw exception(ErrorCodeConstants.SKU_SERVICES_FORM_NOT_EXISTS);
}
}
@Override
public SkuServicesFormDO getSkuServicesForm(Long id) {
return skuServicesFormMapper.selectById(id);
}
@Override
public PageResult<SkuServicesFormDO> getSkuServicesFormPage(SkuServicesFormPageReqVO pageReqVO) {
return null;
}
}

View File

@@ -0,0 +1,33 @@
package com.tashow.cloud.product.vo.skuservicematerial;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.tashow.cloud.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 服务物料详情分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SkuServiceMaterialPageReqVO extends PageParam {
@Schema(description = "关联的扩展服务ID", example = "21102")
private Long serviceId;
@Schema(description = "名称", example = "王五")
private String name;
@Schema(description = "描述")
private String describe;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,39 @@
package com.tashow.cloud.product.vo.skuservicematerial;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 服务物料详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SkuServiceMaterialRespVO {
@Schema(description = "服务物料的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "21371")
@ExcelProperty("服务物料的唯一标识符")
private Long id;
@Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21102")
@ExcelProperty("关联的扩展服务ID")
private Long serviceId;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("名称")
private String name;
@Schema(description = "描述")
@ExcelProperty("描述")
private String describe;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
@ExcelProperty("最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,34 @@
package com.tashow.cloud.product.vo.skuservicematerial;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 服务物料详情新增/修改 Request VO")
@Data
public class SkuServiceMaterialSaveReqVO {
@Schema(description = "服务物料的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "21371")
private Long id;
@Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21102")
@NotNull(message = "关联的扩展服务ID不能为空")
private Long serviceId;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "名称不能为空")
private String name;
@Schema(description = "描述")
private String describe;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,36 @@
package com.tashow.cloud.product.vo.skuservicesform;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.tashow.cloud.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 商品SKU扩展服务表单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SkuServicesFormPageReqVO extends PageParam {
@Schema(description = "表单名称", example = "赵六")
private String name;
@Schema(description = "关联的商品SKU ID", example = "20020")
private Long skuId;
@Schema(description = "服务名称", example = "芋艿")
private String serviceName;
@Schema(description = "是否启用该服务")
private Boolean isEnabled;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,43 @@
package com.tashow.cloud.product.vo.skuservicesform;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 商品SKU扩展服务表单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SkuServicesFormRespVO {
@Schema(description = "扩展服务的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "24347")
@ExcelProperty("扩展服务的唯一标识符")
private Long id;
@Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("表单名称")
private String name;
@Schema(description = "关联的商品SKU ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20020")
@ExcelProperty("关联的商品SKU ID")
private Long skuId;
@Schema(description = "服务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("服务名称")
private String serviceName;
@Schema(description = "是否启用该服务", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否启用该服务")
private Boolean isEnabled;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
@ExcelProperty("最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,39 @@
package com.tashow.cloud.product.vo.skuservicesform;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 商品SKU扩展服务表单新增/修改 Request VO")
@Data
public class SkuServicesFormSaveReqVO {
@Schema(description = "扩展服务的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "24347")
private Long id;
@Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotEmpty(message = "表单名称不能为空")
private String name;
@Schema(description = "关联的商品SKU ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20020")
@NotNull(message = "关联的商品SKU ID不能为空")
private Long skuId;
@Schema(description = "服务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "服务名称不能为空")
private String serviceName;
@Schema(description = "是否启用该服务", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "是否启用该服务不能为空")
private Boolean isEnabled;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,45 @@
package com.tashow.cloud.product.vo.skuservicetransport;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.tashow.cloud.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.tashow.cloud.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 服务遗体运输分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SkuServiceTransportPageReqVO extends PageParam {
@Schema(description = "关联的扩展服务ID", example = "1035")
private Long serviceId;
@Schema(description = "联系人")
private String contacts;
@Schema(description = "详细地址")
private String address;
@Schema(description = "")
private String province;
@Schema(description = "")
private String city;
@Schema(description = "")
private String area;
@Schema(description = "电话号码")
private String tel;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,55 @@
package com.tashow.cloud.product.vo.skuservicetransport;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 服务遗体运输 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SkuServiceTransportRespVO {
@Schema(description = "服务遗体运输唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "5277")
@ExcelProperty("服务遗体运输唯一标识符")
private Long id;
@Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1035")
@ExcelProperty("关联的扩展服务ID")
private Long serviceId;
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("联系人")
private String contacts;
@Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("详细地址")
private String address;
@Schema(description = "")
@ExcelProperty("")
private String province;
@Schema(description = "")
@ExcelProperty("")
private String city;
@Schema(description = "")
@ExcelProperty("")
private String area;
@Schema(description = "电话号码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("电话号码")
private String tel;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
@ExcelProperty("最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,48 @@
package com.tashow.cloud.product.vo.skuservicetransport;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 服务遗体运输新增/修改 Request VO")
@Data
public class SkuServiceTransportSaveReqVO {
@Schema(description = "服务遗体运输唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "5277")
private Long id;
@Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1035")
@NotNull(message = "关联的扩展服务ID不能为空")
private Long serviceId;
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "联系人不能为空")
private String contacts;
@Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "详细地址不能为空")
private String address;
@Schema(description = "")
private String province;
@Schema(description = "")
private String city;
@Schema(description = "")
private String area;
@Schema(description = "电话号码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "电话号码不能为空")
private String tel;
@Schema(description = "创建时间")
private LocalDateTime createdAt;
@Schema(description = "最后更新时间")
private LocalDateTime updatedAt;
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tashow.cloud.product.mapper.SkuServiceMaterialMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tashow.cloud.product.mapper.SkuServiceTransportMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.tashow.cloud.product.mapper.SkuServicesFormMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>