diff --git a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/enums/ErrorCodeConstants.java b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/enums/ErrorCodeConstants.java index 64fc66d..2a9cc9b 100644 --- a/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/enums/ErrorCodeConstants.java +++ b/tashow-feign/tashow-product-api/src/main/java/com/tashow/cloud/productapi/enums/ErrorCodeConstants.java @@ -16,4 +16,16 @@ public interface ErrorCodeConstants { ErrorCode PROD_ADDITIONAL_FEE_PERIODS_NOT_EXISTS = new ErrorCode(10004, "特殊时段附加费用规则不存在"); ErrorCode PROD_EMERGENCY_RESPONSE_NOT_EXISTS = new ErrorCode(10005, "商品紧急响应服务设置不存在"); ErrorCode PROD_EMERGENCY_RESPONSE_INTERVALS_NOT_EXISTS = new ErrorCode(10006, "紧急响应时间区间设置不存在"); + ErrorCode PROD_PROP_NOT_EXISTS = new ErrorCode(10007, "商品属性不存在"); + ErrorCode PROD_PROP_VALUE_NOT_EXISTS = new ErrorCode(10008, "属性规则不存在"); + ErrorCode PROD_RESERVATION_CONFIG_NOT_EXISTS = new ErrorCode(10009, "商品预约配置不存在"); + ErrorCode PROD_SERVICE_AREA_RELEVANCE_NOT_EXISTS = new ErrorCode(10010, "商品与服务区域关联不存在"); + ErrorCode PROD_SERVICE_AREAS_NOT_EXISTS = new ErrorCode(10011, "服务区域不存在"); + ErrorCode PROD_SERVICE_OVER_AREA_RULES_NOT_EXISTS = new ErrorCode(10012, "超区规则不存在"); + ErrorCode PROD_TAGS_NOT_EXISTS = new ErrorCode(10013, "商品和标签管理不存在"); + ErrorCode PRODUCT_ORDER_LIMIT_NOT_EXISTS = new ErrorCode(10014, "商品接单上限设置不存在"); + ErrorCode PROD_WEIGHT_RANGE_PRICES_NOT_EXISTS = new ErrorCode(10015, "体重区间价格不存在"); + ErrorCode SHOP_DETAIL_NOT_EXISTS = new ErrorCode(10016, "店铺信息不存在"); + ErrorCode SKU_NOT_EXISTS = new ErrorCode(10017, "单品SKU不存在"); + ErrorCode SKU_SERVICE_DELIVER_NOT_EXISTS = new ErrorCode(10016, "服务交付方式不存在"); } diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropController.java new file mode 100644 index 0000000..6c8bf74 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdPropDO; +import com.tashow.cloud.product.service.ProdPropService; +import com.tashow.cloud.product.vo.prodprop.ProdPropPageReqVO; +import com.tashow.cloud.product.vo.prodprop.ProdPropRespVO; +import com.tashow.cloud.product.vo.prodprop.ProdPropSaveReqVO; +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/prod-prop") +@Validated +public class ProdPropController { + + @Resource + private ProdPropService prodPropService; + + @PostMapping("/create") + @Operation(summary = "创建商品属性") + @PreAuthorize("@ss.hasPermission('tz:prod-prop:create')") + public CommonResult createProdProp(@Valid @RequestBody ProdPropSaveReqVO createReqVO) { + return success(prodPropService.createProdProp(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品属性") + @PreAuthorize("@ss.hasPermission('tz:prod-prop:update')") + public CommonResult updateProdProp(@Valid @RequestBody ProdPropSaveReqVO updateReqVO) { + prodPropService.updateProdProp(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品属性") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-prop:delete')") + public CommonResult deleteProdProp(@RequestParam("id") Long id) { + prodPropService.deleteProdProp(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品属性") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-prop:query')") + public CommonResult getProdProp(@RequestParam("id") Long id) { + ProdPropDO prodProp = prodPropService.getProdProp(id); + return success(BeanUtils.toBean(prodProp, ProdPropRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品属性分页") + @PreAuthorize("@ss.hasPermission('tz:prod-prop:query')") + public CommonResult> getProdPropPage(@Valid ProdPropPageReqVO pageReqVO) { + PageResult pageResult = prodPropService.getProdPropPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdPropRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品属性 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-prop:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdPropExcel(@Valid ProdPropPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodPropService.getProdPropPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品属性.xls", "数据", ProdPropRespVO.class, + BeanUtils.toBean(list, ProdPropRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropValueController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropValueController.java new file mode 100644 index 0000000..e1be643 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdPropValueController.java @@ -0,0 +1,97 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdPropValueDO; +import com.tashow.cloud.product.service.ProdPropValueService; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValuePageReqVO; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValueRespVO; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValueSaveReqVO; +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/prod-prop-value") +@Validated +public class ProdPropValueController { + + @Resource + private ProdPropValueService prodPropValueService; + + @PostMapping("/create") + @Operation(summary = "创建属性规则") + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:create')") + public CommonResult createProdPropValue(@Valid @RequestBody ProdPropValueSaveReqVO createReqVO) { + return success(prodPropValueService.createProdPropValue(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新属性规则") + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:update')") + public CommonResult updateProdPropValue(@Valid @RequestBody ProdPropValueSaveReqVO updateReqVO) { + prodPropValueService.updateProdPropValue(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除属性规则") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:delete')") + public CommonResult deleteProdPropValue(@RequestParam("id") Long id) { + prodPropValueService.deleteProdPropValue(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得属性规则") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:query')") + public CommonResult getProdPropValue(@RequestParam("id") Long id) { + ProdPropValueDO prodPropValue = prodPropValueService.getProdPropValue(id); + return success(BeanUtils.toBean(prodPropValue, ProdPropValueRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得属性规则分页") + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:query')") + public CommonResult> getProdPropValuePage(@Valid ProdPropValuePageReqVO pageReqVO) { + PageResult pageResult = prodPropValueService.getProdPropValuePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdPropValueRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出属性规则 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-prop-value:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdPropValueExcel(@Valid ProdPropValuePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodPropValueService.getProdPropValuePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "属性规则.xls", "数据", ProdPropValueRespVO.class, + BeanUtils.toBean(list, ProdPropValueRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdReservationConfigController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdReservationConfigController.java new file mode 100644 index 0000000..6bd64cf --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdReservationConfigController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdReservationConfigDO; +import com.tashow.cloud.product.service.ProdReservationConfigService; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigPageReqVO; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigRespVO; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigSaveReqVO; +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/prod-reservation-config") +@Validated +public class ProdReservationConfigController { + + @Resource + private ProdReservationConfigService prodReservationConfigService; + + @PostMapping("/create") + @Operation(summary = "创建商品预约配置") + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:create')") + public CommonResult createProdReservationConfig(@Valid @RequestBody ProdReservationConfigSaveReqVO createReqVO) { + return success(prodReservationConfigService.createProdReservationConfig(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品预约配置") + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:update')") + public CommonResult updateProdReservationConfig(@Valid @RequestBody ProdReservationConfigSaveReqVO updateReqVO) { + prodReservationConfigService.updateProdReservationConfig(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品预约配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:delete')") + public CommonResult deleteProdReservationConfig(@RequestParam("id") Long id) { + prodReservationConfigService.deleteProdReservationConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品预约配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:query')") + public CommonResult getProdReservationConfig(@RequestParam("id") Long id) { + ProdReservationConfigDO prodReservationConfig = prodReservationConfigService.getProdReservationConfig(id); + return success(BeanUtils.toBean(prodReservationConfig, ProdReservationConfigRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品预约配置分页") + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:query')") + public CommonResult> getProdReservationConfigPage(@Valid ProdReservationConfigPageReqVO pageReqVO) { + PageResult pageResult = prodReservationConfigService.getProdReservationConfigPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdReservationConfigRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品预约配置 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-reservation-config:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdReservationConfigExcel(@Valid ProdReservationConfigPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodReservationConfigService.getProdReservationConfigPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品预约配置.xls", "数据", ProdReservationConfigRespVO.class, + BeanUtils.toBean(list, ProdReservationConfigRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreaRelevanceController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreaRelevanceController.java new file mode 100644 index 0000000..61ba834 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreaRelevanceController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdServiceAreaRelevanceDO; +import com.tashow.cloud.product.service.ProdServiceAreaRelevanceService; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevancePageReqVO; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevanceRespVO; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevanceSaveReqVO; +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/prod-service-area-relevance") +@Validated +public class ProdServiceAreaRelevanceController { + + @Resource + private ProdServiceAreaRelevanceService prodServiceAreaRelevanceService; + + @PostMapping("/create") + @Operation(summary = "创建商品与服务区域关联") + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:create')") + public CommonResult createProdServiceAreaRelevance(@Valid @RequestBody ProdServiceAreaRelevanceSaveReqVO createReqVO) { + return success(prodServiceAreaRelevanceService.createProdServiceAreaRelevance(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品与服务区域关联") + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:update')") + public CommonResult updateProdServiceAreaRelevance(@Valid @RequestBody ProdServiceAreaRelevanceSaveReqVO updateReqVO) { + prodServiceAreaRelevanceService.updateProdServiceAreaRelevance(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品与服务区域关联") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:delete')") + public CommonResult deleteProdServiceAreaRelevance(@RequestParam("id") Long id) { + prodServiceAreaRelevanceService.deleteProdServiceAreaRelevance(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品与服务区域关联") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:query')") + public CommonResult getProdServiceAreaRelevance(@RequestParam("id") Long id) { + ProdServiceAreaRelevanceDO prodServiceAreaRelevance = prodServiceAreaRelevanceService.getProdServiceAreaRelevance(id); + return success(BeanUtils.toBean(prodServiceAreaRelevance, ProdServiceAreaRelevanceRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品与服务区域关联分页") + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:query')") + public CommonResult> getProdServiceAreaRelevancePage(@Valid ProdServiceAreaRelevancePageReqVO pageReqVO) { + PageResult pageResult = prodServiceAreaRelevanceService.getProdServiceAreaRelevancePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdServiceAreaRelevanceRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品与服务区域关联 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-service-area-relevance:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdServiceAreaRelevanceExcel(@Valid ProdServiceAreaRelevancePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodServiceAreaRelevanceService.getProdServiceAreaRelevancePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品与服务区域关联.xls", "数据", ProdServiceAreaRelevanceRespVO.class, + BeanUtils.toBean(list, ProdServiceAreaRelevanceRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreasController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreasController.java new file mode 100644 index 0000000..081c859 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceAreasController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdServiceAreasDO; +import com.tashow.cloud.product.service.ProdServiceAreasService; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasPageReqVO; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasRespVO; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasSaveReqVO; +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/prod-service-areas") +@Validated +public class ProdServiceAreasController { + + @Resource + private ProdServiceAreasService prodServiceAreasService; + + @PostMapping("/create") + @Operation(summary = "创建服务区域") + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:create')") + public CommonResult createProdServiceAreas(@Valid @RequestBody ProdServiceAreasSaveReqVO createReqVO) { + return success(prodServiceAreasService.createProdServiceAreas(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新服务区域") + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:update')") + public CommonResult updateProdServiceAreas(@Valid @RequestBody ProdServiceAreasSaveReqVO updateReqVO) { + prodServiceAreasService.updateProdServiceAreas(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除服务区域") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:delete')") + public CommonResult deleteProdServiceAreas(@RequestParam("id") Long id) { + prodServiceAreasService.deleteProdServiceAreas(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得服务区域") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:query')") + public CommonResult getProdServiceAreas(@RequestParam("id") Long id) { + ProdServiceAreasDO prodServiceAreas = prodServiceAreasService.getProdServiceAreas(id); + return success(BeanUtils.toBean(prodServiceAreas, ProdServiceAreasRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得服务区域分页") + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:query')") + public CommonResult> getProdServiceAreasPage(@Valid ProdServiceAreasPageReqVO pageReqVO) { + PageResult pageResult = prodServiceAreasService.getProdServiceAreasPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdServiceAreasRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出服务区域 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-service-areas:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdServiceAreasExcel(@Valid ProdServiceAreasPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodServiceAreasService.getProdServiceAreasPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "服务区域.xls", "数据", ProdServiceAreasRespVO.class, + BeanUtils.toBean(list, ProdServiceAreasRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceOverAreaRulesController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceOverAreaRulesController.java new file mode 100644 index 0000000..1c65770 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdServiceOverAreaRulesController.java @@ -0,0 +1,97 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdServiceOverAreaRulesDO; +import com.tashow.cloud.product.service.ProdServiceOverAreaRulesService; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesPageReqVO; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesRespVO; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesSaveReqVO; +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/prod-service-over-area-rules") +@Validated +public class ProdServiceOverAreaRulesController { + + @Resource + private ProdServiceOverAreaRulesService prodServiceOverAreaRulesService; + + @PostMapping("/create") + @Operation(summary = "创建超区规则") + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:create')") + public CommonResult createProdServiceOverAreaRules(@Valid @RequestBody ProdServiceOverAreaRulesSaveReqVO createReqVO) { + return success(prodServiceOverAreaRulesService.createProdServiceOverAreaRules(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新超区规则") + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:update')") + public CommonResult updateProdServiceOverAreaRules(@Valid @RequestBody ProdServiceOverAreaRulesSaveReqVO updateReqVO) { + prodServiceOverAreaRulesService.updateProdServiceOverAreaRules(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除超区规则") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:delete')") + public CommonResult deleteProdServiceOverAreaRules(@RequestParam("id") Long id) { + prodServiceOverAreaRulesService.deleteProdServiceOverAreaRules(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得超区规则") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:query')") + public CommonResult getProdServiceOverAreaRules(@RequestParam("id") Long id) { + ProdServiceOverAreaRulesDO prodServiceOverAreaRules = prodServiceOverAreaRulesService.getProdServiceOverAreaRules(id); + return success(BeanUtils.toBean(prodServiceOverAreaRules, ProdServiceOverAreaRulesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得超区规则分页") + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:query')") + public CommonResult> getProdServiceOverAreaRulesPage(@Valid ProdServiceOverAreaRulesPageReqVO pageReqVO) { + PageResult pageResult = prodServiceOverAreaRulesService.getProdServiceOverAreaRulesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdServiceOverAreaRulesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出超区规则 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-service-over-area-rules:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdServiceOverAreaRulesExcel(@Valid ProdServiceOverAreaRulesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodServiceOverAreaRulesService.getProdServiceOverAreaRulesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "超区规则.xls", "数据", ProdServiceOverAreaRulesRespVO.class, + BeanUtils.toBean(list, ProdServiceOverAreaRulesRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdTagsController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdTagsController.java new file mode 100644 index 0000000..2eece01 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdTagsController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdTagsDO; +import com.tashow.cloud.product.service.ProdTagsService; +import com.tashow.cloud.product.vo.prodtags.ProdTagsPageReqVO; +import com.tashow.cloud.product.vo.prodtags.ProdTagsRespVO; +import com.tashow.cloud.product.vo.prodtags.ProdTagsSaveReqVO; +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/prod-tags") +@Validated +public class ProdTagsController { + + @Resource + private ProdTagsService prodTagsService; + + @PostMapping("/create") + @Operation(summary = "创建商品和标签管理") + @PreAuthorize("@ss.hasPermission('tz:prod-tags:create')") + public CommonResult createProdTags(@Valid @RequestBody ProdTagsSaveReqVO createReqVO) { + return success(prodTagsService.createProdTags(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品和标签管理") + @PreAuthorize("@ss.hasPermission('tz:prod-tags:update')") + public CommonResult updateProdTags(@Valid @RequestBody ProdTagsSaveReqVO updateReqVO) { + prodTagsService.updateProdTags(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品和标签管理") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-tags:delete')") + public CommonResult deleteProdTags(@RequestParam("id") Long id) { + prodTagsService.deleteProdTags(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品和标签管理") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-tags:query')") + public CommonResult getProdTags(@RequestParam("id") Long id) { + ProdTagsDO prodTags = prodTagsService.getProdTags(id); + return success(BeanUtils.toBean(prodTags, ProdTagsRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品和标签管理分页") + @PreAuthorize("@ss.hasPermission('tz:prod-tags:query')") + public CommonResult> getProdTagsPage(@Valid ProdTagsPageReqVO pageReqVO) { + PageResult pageResult = prodTagsService.getProdTagsPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdTagsRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品和标签管理 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-tags:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdTagsExcel(@Valid ProdTagsPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodTagsService.getProdTagsPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品和标签管理.xls", "数据", ProdTagsRespVO.class, + BeanUtils.toBean(list, ProdTagsRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdWeightRangePricesController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdWeightRangePricesController.java new file mode 100644 index 0000000..a3cd582 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProdWeightRangePricesController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProdWeightRangePricesDO; +import com.tashow.cloud.product.service.ProdWeightRangePricesService; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesPageReqVO; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesRespVO; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesSaveReqVO; +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/prod-weight-range-prices") +@Validated +public class ProdWeightRangePricesController { + + @Resource + private ProdWeightRangePricesService prodWeightRangePricesService; + + @PostMapping("/create") + @Operation(summary = "创建体重区间价格") + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:create')") + public CommonResult createProdWeightRangePrices(@Valid @RequestBody ProdWeightRangePricesSaveReqVO createReqVO) { + return success(prodWeightRangePricesService.createProdWeightRangePrices(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新体重区间价格") + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:update')") + public CommonResult updateProdWeightRangePrices(@Valid @RequestBody ProdWeightRangePricesSaveReqVO updateReqVO) { + prodWeightRangePricesService.updateProdWeightRangePrices(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除体重区间价格") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:delete')") + public CommonResult deleteProdWeightRangePrices(@RequestParam("id") Long id) { + prodWeightRangePricesService.deleteProdWeightRangePrices(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得体重区间价格") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:query')") + public CommonResult getProdWeightRangePrices(@RequestParam("id") Long id) { + ProdWeightRangePricesDO prodWeightRangePrices = prodWeightRangePricesService.getProdWeightRangePrices(id); + return success(BeanUtils.toBean(prodWeightRangePrices, ProdWeightRangePricesRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得体重区间价格分页") + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:query')") + public CommonResult> getProdWeightRangePricesPage(@Valid ProdWeightRangePricesPageReqVO pageReqVO) { + PageResult pageResult = prodWeightRangePricesService.getProdWeightRangePricesPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProdWeightRangePricesRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出体重区间价格 Excel") + @PreAuthorize("@ss.hasPermission('tz:prod-weight-range-prices:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProdWeightRangePricesExcel(@Valid ProdWeightRangePricesPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = prodWeightRangePricesService.getProdWeightRangePricesPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "体重区间价格.xls", "数据", ProdWeightRangePricesRespVO.class, + BeanUtils.toBean(list, ProdWeightRangePricesRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProductOrderLimitController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProductOrderLimitController.java new file mode 100644 index 0000000..7b57e4c --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ProductOrderLimitController.java @@ -0,0 +1,97 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ProductOrderLimitDO; +import com.tashow.cloud.product.service.ProductOrderLimitService; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitPageReqVO; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitRespVO; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitSaveReqVO; +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/product-order-limit") +@Validated +public class ProductOrderLimitController { + + @Resource + private ProductOrderLimitService productOrderLimitService; + + @PostMapping("/create") + @Operation(summary = "创建商品接单上限设置") + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:create')") + public CommonResult createProductOrderLimit(@Valid @RequestBody ProductOrderLimitSaveReqVO createReqVO) { + return success(productOrderLimitService.createProductOrderLimit(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品接单上限设置") + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:update')") + public CommonResult updateProductOrderLimit(@Valid @RequestBody ProductOrderLimitSaveReqVO updateReqVO) { + productOrderLimitService.updateProductOrderLimit(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品接单上限设置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:delete')") + public CommonResult deleteProductOrderLimit(@RequestParam("id") Long id) { + productOrderLimitService.deleteProductOrderLimit(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品接单上限设置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:query')") + public CommonResult getProductOrderLimit(@RequestParam("id") Long id) { + ProductOrderLimitDO productOrderLimit = productOrderLimitService.getProductOrderLimit(id); + return success(BeanUtils.toBean(productOrderLimit, ProductOrderLimitRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品接单上限设置分页") + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:query')") + public CommonResult> getProductOrderLimitPage(@Valid ProductOrderLimitPageReqVO pageReqVO) { + PageResult pageResult = productOrderLimitService.getProductOrderLimitPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProductOrderLimitRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品接单上限设置 Excel") + @PreAuthorize("@ss.hasPermission('tz:product-order-limit:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProductOrderLimitExcel(@Valid ProductOrderLimitPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productOrderLimitService.getProductOrderLimitPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品接单上限设置.xls", "数据", ProductOrderLimitRespVO.class, + BeanUtils.toBean(list, ProductOrderLimitRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ShopDetailController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ShopDetailController.java new file mode 100644 index 0000000..a28007e --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/ShopDetailController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.ShopDetailDO; +import com.tashow.cloud.product.service.ShopDetailService; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailPageReqVO; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailRespVO; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailSaveReqVO; +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/shop-detail") +@Validated +public class ShopDetailController { + + @Resource + private ShopDetailService shopDetailService; + + @PostMapping("/create") + @Operation(summary = "创建店铺信息") + @PreAuthorize("@ss.hasPermission('tz:shop-detail:create')") + public CommonResult createShopDetail(@Valid @RequestBody ShopDetailSaveReqVO createReqVO) { + return success(shopDetailService.createShopDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新店铺信息") + @PreAuthorize("@ss.hasPermission('tz:shop-detail:update')") + public CommonResult updateShopDetail(@Valid @RequestBody ShopDetailSaveReqVO updateReqVO) { + shopDetailService.updateShopDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除店铺信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:shop-detail:delete')") + public CommonResult deleteShopDetail(@RequestParam("id") Long id) { + shopDetailService.deleteShopDetail(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得店铺信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:shop-detail:query')") + public CommonResult getShopDetail(@RequestParam("id") Long id) { + ShopDetailDO shopDetail = shopDetailService.getShopDetail(id); + return success(BeanUtils.toBean(shopDetail, ShopDetailRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得店铺信息分页") + @PreAuthorize("@ss.hasPermission('tz:shop-detail:query')") + public CommonResult> getShopDetailPage(@Valid ShopDetailPageReqVO pageReqVO) { + PageResult pageResult = shopDetailService.getShopDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ShopDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出店铺信息 Excel") + @PreAuthorize("@ss.hasPermission('tz:shop-detail:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportShopDetailExcel(@Valid ShopDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = shopDetailService.getShopDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "店铺信息.xls", "数据", ShopDetailRespVO.class, + BeanUtils.toBean(list, ShopDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuController.java new file mode 100644 index 0000000..ba92b74 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.SkuDO; +import com.tashow.cloud.product.service.SkuService; +import com.tashow.cloud.product.vo.sku.SkuPageReqVO; +import com.tashow.cloud.product.vo.sku.SkuRespVO; +import com.tashow.cloud.product.vo.sku.SkuSaveReqVO; +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") +@Validated +public class SkuController { + + @Resource + private SkuService skuService; + + @PostMapping("/create") + @Operation(summary = "创建单品SKU") + @PreAuthorize("@ss.hasPermission('tz:sku:create')") + public CommonResult createSku(@Valid @RequestBody SkuSaveReqVO createReqVO) { + return success(skuService.createSku(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新单品SKU") + @PreAuthorize("@ss.hasPermission('tz:sku:update')") + public CommonResult updateSku(@Valid @RequestBody SkuSaveReqVO updateReqVO) { + skuService.updateSku(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除单品SKU") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:sku:delete')") + public CommonResult deleteSku(@RequestParam("id") Long id) { + skuService.deleteSku(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得单品SKU") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:sku:query')") + public CommonResult getSku(@RequestParam("id") Long id) { + SkuDO sku = skuService.getSku(id); + return success(BeanUtils.toBean(sku, SkuRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得单品SKU分页") + @PreAuthorize("@ss.hasPermission('tz:sku:query')") + public CommonResult> getSkuPage(@Valid SkuPageReqVO pageReqVO) { + PageResult pageResult = skuService.getSkuPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SkuRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出单品SKU Excel") + @PreAuthorize("@ss.hasPermission('tz:sku:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportSkuExcel(@Valid SkuPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = skuService.getSkuPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "单品SKU.xls", "数据", SkuRespVO.class, + BeanUtils.toBean(list, SkuRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuServiceDeliverController.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuServiceDeliverController.java new file mode 100644 index 0000000..87d4f84 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/controller/SkuServiceDeliverController.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.controller; + +import com.tashow.cloud.product.dto.SkuServiceDeliverDO; +import com.tashow.cloud.product.service.SkuServiceDeliverService; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverPageReqVO; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverRespVO; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverSaveReqVO; +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-deliver") +@Validated +public class SkuServiceDeliverController { + + @Resource + private SkuServiceDeliverService skuServiceDeliverService; + + @PostMapping("/create") + @Operation(summary = "创建服务交付方式") + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:create')") + public CommonResult createSkuServiceDeliver(@Valid @RequestBody SkuServiceDeliverSaveReqVO createReqVO) { + return success(skuServiceDeliverService.createSkuServiceDeliver(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新服务交付方式") + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:update')") + public CommonResult updateSkuServiceDeliver(@Valid @RequestBody SkuServiceDeliverSaveReqVO updateReqVO) { + skuServiceDeliverService.updateSkuServiceDeliver(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除服务交付方式") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:delete')") + public CommonResult deleteSkuServiceDeliver(@RequestParam("id") Long id) { + skuServiceDeliverService.deleteSkuServiceDeliver(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得服务交付方式") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:query')") + public CommonResult getSkuServiceDeliver(@RequestParam("id") Long id) { + SkuServiceDeliverDO skuServiceDeliver = skuServiceDeliverService.getSkuServiceDeliver(id); + return success(BeanUtils.toBean(skuServiceDeliver, SkuServiceDeliverRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得服务交付方式分页") + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:query')") + public CommonResult> getSkuServiceDeliverPage(@Valid SkuServiceDeliverPageReqVO pageReqVO) { + PageResult pageResult = skuServiceDeliverService.getSkuServiceDeliverPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SkuServiceDeliverRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出服务交付方式 Excel") + @PreAuthorize("@ss.hasPermission('tz:sku-service-deliver:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportSkuServiceDeliverExcel(@Valid SkuServiceDeliverPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = skuServiceDeliverService.getSkuServiceDeliverPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "服务交付方式.xls", "数据", SkuServiceDeliverRespVO.class, + BeanUtils.toBean(list, SkuServiceDeliverRespVO.class)); + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropDO.java new file mode 100644 index 0000000..fa66b18 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropDO.java @@ -0,0 +1,49 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import com.baomidou.mybatisplus.annotation.*; +import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; + +/** + * 商品属性 DO + * + * @author 芋道源码 + */ +@TableName("tz_prod_prop") +@KeySequence("tz_prod_prop_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdPropDO extends BaseDO { + + /** + * 属性id + */ + @TableId + private Long propId; + /** + * 属性名称 + */ + private String propName; + /** + * ProdPropRule 1:销售属性(规格); 2:参数属性; + */ + private Integer rule; + /** + * 店铺id + */ + private Long shopId; + /** + * 商品id + */ + private Integer prodId; + /** + * 是否删除0否1是 + */ + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropValueDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropValueDO.java new file mode 100644 index 0000000..86e63fb --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdPropValueDO.java @@ -0,0 +1,41 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import com.baomidou.mybatisplus.annotation.*; +import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; + +/** + * 属性规则 DO + * + * @author 芋道源码 + */ +@TableName("tz_prod_prop_value") +@KeySequence("tz_prod_prop_value_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdPropValueDO extends BaseDO { + + /** + * 属性值ID + */ + @TableId + private Long valueId; + /** + * 属性值名称 + */ + private String propValue; + /** + * 属性ID + */ + private Long propId; + /** + * 是否删除0否1是 + */ + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdReservationConfigDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdReservationConfigDO.java new file mode 100644 index 0000000..49c0122 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdReservationConfigDO.java @@ -0,0 +1,83 @@ +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_prod_reservation_config") +@KeySequence("tz_prod_reservation_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdReservationConfigDO extends BaseDO { + + /** + * 预约配置的唯一标识符 + */ + @TableId + private Long id; + /** + * 关联的商品ID + */ + private Long prodId; + /** + * 预约时段设置(JSON格式存储) + */ + private String reservationTimeSlots; + /** + * 需提前多少小时预约 + */ + private Integer advanceHours; + /** + * 预约日期范围 7天 10天 15天 30天 + */ + private Integer reservationDateRange; + /** + * 是否允许更改预约时间 1可以 0不可以 + */ + private Boolean allowChange; + /** + * 更改预约时间的时间规则(如服务开始前1小时可更改) + */ + private Integer changeTimeRule; + /** + * 允许更改预约时间的最大次数 + */ + private Integer maxChangeTimes; + /** + * 黑名自定义日期(JSON格式存储) + */ + private String blacklistedDates; + /** + * 黑名单指定日期(JSON格式存储) + */ + private String blackAppointDates; + /** + * 法定节假日是否开启0:关闭1开启 + */ + private Boolean blackHappy; + /** + * 固定休息日周末是否开启0关闭1开启 + */ + private Boolean blackWeekend; + /** + * 配置创建时间 + */ + private LocalDateTime createdAt; + /** + * 配置最后更新时间 + */ + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreaRelevanceDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreaRelevanceDO.java new file mode 100644 index 0000000..dde95df --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreaRelevanceDO.java @@ -0,0 +1,34 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import com.baomidou.mybatisplus.annotation.*; +import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; + +/** + * 商品与服务区域关联 DO + * + * @author 芋道源码 + */ +@TableName("tz_prod_service_area_relevance") +@KeySequence("tz_prod_service_area_relevance_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdServiceAreaRelevanceDO extends BaseDO { + + /** + * 关联的商品ID + */ + @TableId + private Long prodId; + /** + * 关联的服务区域ID + */ + @TableId + private Long areaId; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreasDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreasDO.java new file mode 100644 index 0000000..8cbe2e9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceAreasDO.java @@ -0,0 +1,34 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; + +/** + * 服务区域 DO + * + * @author 芋道源码 + */ +@TableName("tz_prod_service_areas") +@KeySequence("tz_prod_service_areas_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdServiceAreasDO extends BaseDO { + + /** + * 服务区域的唯一标识符 + */ + @TableId + private Long id; + /** + * 服务区域名称(如台江区、鼓楼区) + */ + private String areaName; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceOverAreaRulesDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceOverAreaRulesDO.java new file mode 100644 index 0000000..287a176 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdServiceOverAreaRulesDO.java @@ -0,0 +1,52 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +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_prod_service_over_area_rules") +@KeySequence("tz_prod_service_over_area_rules_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdServiceOverAreaRulesDO extends BaseDO { + + /** + * 超区规则的唯一标识符 + */ + @TableId + private Long id; + /** + * 关联的商品ID + */ + private Long prodId; + /** + * 超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费) + */ + private Boolean ruleType; + /** + * 超区费用(仅在rule_type为accept_with_fee时有效) + */ + private BigDecimal fee; + /** + * 规则创建时间 + */ + private LocalDateTime createdAt; + /** + * 规则最后更新时间 + */ + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdTagsDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdTagsDO.java new file mode 100644 index 0000000..a692b52 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdTagsDO.java @@ -0,0 +1,35 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; + +/** + * 商品和标签管理 DO + * + * @author 芋道源码 + */ +@TableName("tz_prod_tags") +@KeySequence("tz_prod_tags_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdTagsDO extends BaseDO { + + /** + * 商品id + */ + @TableId + private Long productId; + /** + * 标签id + */ + @TableId + private Long tagId; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdWeightRangePricesDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdWeightRangePricesDO.java new file mode 100644 index 0000000..f0c3440 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProdWeightRangePricesDO.java @@ -0,0 +1,56 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +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_prod_weight_range_prices") +@KeySequence("tz_prod_weight_range_prices_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProdWeightRangePricesDO extends BaseDO { + + /** + * 体重区间价格的唯一标识符 + */ + @TableId + private Long id; + /** + * 关联的体重配置ID + */ + private Long prodId; + /** + * 体重区间 + */ + private String weightRange; + /** + * 价格 + */ + private BigDecimal price; + /** + * 是否启用该规则0否1是 + */ + private Boolean isEnabled; + /** + * 创建时间 + */ + private LocalDateTime createdAt; + /** + * 更新时间 + */ + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProductOrderLimitDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProductOrderLimitDO.java new file mode 100644 index 0000000..8fa80f8 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ProductOrderLimitDO.java @@ -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_product_order_limit") +@KeySequence("tz_product_order_limit_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductOrderLimitDO extends BaseDO { + + /** + * 接单上限配置的唯一标识符 + */ + @TableId + private Long id; + /** + * 关联的商品ID + */ + private Long prodId; + /** + * 限制单位'0:按自然天',1:'按自然周',2:'按自然月' + */ + private Boolean limitUnit; + /** + * 上限阈值 + */ + private Integer maxOrders; + /** + * 配置创建时间 + */ + private LocalDateTime createdAt; + /** + * 配置最后更新时间 + */ + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ShopDetailDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ShopDetailDO.java new file mode 100644 index 0000000..231b3c8 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/ShopDetailDO.java @@ -0,0 +1,129 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +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_shop_detail") +@KeySequence("tz_shop_detail_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ShopDetailDO extends BaseDO { + + /** + * 店铺id + */ + @TableId + private Long shopId; + /** + * 店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一 + */ + private String shopName; + /** + * 店长用户id + */ + private String userId; + /** + * 店铺类型 + */ + private Integer shopType; + /** + * 店铺简介(可修改) + */ + private String intro; + /** + * 店铺公告(可修改) + */ + private String shopNotice; + /** + * 店铺行业(餐饮、生鲜果蔬、鲜花等) + */ + private Integer shopIndustry; + /** + * 店长 + */ + private String shopOwner; + /** + * 店铺绑定的手机(登录账号:唯一) + */ + private String mobile; + /** + * 店铺联系电话 + */ + private String tel; + /** + * 店铺所在纬度(可修改) + */ + private String shopLat; + /** + * 店铺所在经度(可修改) + */ + private String shopLng; + /** + * 店铺详细地址 + */ + private String shopAddress; + /** + * 店铺所在省份(描述) + */ + private String province; + /** + * 店铺所在城市(描述) + */ + private String city; + /** + * 店铺所在区域(描述) + */ + private String area; + /** + * 店铺省市区代码,用于回显 + */ + private String pcaCode; + /** + * 店铺logo(可修改) + */ + private String shopLogo; + /** + * 店铺相册 + */ + private String shopPhotos; + /** + * 每天营业时间段(可修改) + */ + private String openTime; + /** + * 店铺状态(-1:未开通 0: 停业中 1:营业中),可修改 + */ + private Integer shopStatus; + /** + * 0:商家承担运费; 1:买家承担运费 + */ + private Integer transportType; + /** + * 固定运费 + */ + private BigDecimal fixedFreight; + /** + * 满X包邮 + */ + private BigDecimal fullFreeShipping; + /** + * 分销开关(0:开启 1:关闭) + */ + private Integer isDistribution; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuDO.java new file mode 100644 index 0000000..43c25cc --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuDO.java @@ -0,0 +1,136 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +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") +@KeySequence("tz_sku_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SkuDO extends BaseDO { + + /** + * 单品ID + */ + @TableId + private Long skuId; + /** + * 商品ID + */ + private Long prodId; + /** + * 销售属性组合字符串 格式是p1:v1;p2:v2 + */ + private String properties; + /** + * 别名 + */ + private String alias; + /** + * 价格 + */ + private BigDecimal price; + /** + * 最低价格 + */ + private BigDecimal minPrice; + /** + * 最高价格 + */ + private BigDecimal maxPrice; + /** + * 成本价 + */ + private BigDecimal originalPrice; + /** + * 市场价 + */ + private BigDecimal marketPrice; + /** + * 单位 + */ + private String unit; + /** + * 0:主服务1:待定 + */ + private Integer type; + /** + * 概述 + */ + private String overview; + /** + * 库存 + */ + private Integer stocks; + /** + * 预警库存 + */ + private Integer warnStocks; + /** + * 库存扣款时机0:付款扣1:下单扣 + */ + private Boolean stocksType; + /** + * sku编码 + */ + private String skuCode; + /** + * 商品条形码 + */ + private String modelId; + /** + * sku图片 + */ + private String pic; + /** + * sku名称 + */ + private String skuName; + /** + * 商品名称 + */ + private String prodName; + /** + * 版本号 + */ + private Integer version; + /** + * 商品重量 + */ + private Double weight; + /** + * 商品体积 + */ + private Double volume; + /** + * 0 禁用 1 启用 + */ + private Integer status; + /** + * 0 正常 1 已被删除 + */ + private Integer isDelete; + /** + * 最小购买数量 + */ + private Integer moq; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuServiceDeliverDO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuServiceDeliverDO.java new file mode 100644 index 0000000..297fc2f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/dto/SkuServiceDeliverDO.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.dto; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +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_deliver") +@KeySequence("tz_sku_service_deliver_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SkuServiceDeliverDO extends BaseDO { + + /** + * 服务遗体运输唯一标识符 + */ + @TableId + private Long id; + /** + * 关联的扩展服务ID + */ + private Long serviceId; + /** + * 交互方式0:快递物流 1:到店自提 2:商家自送 + */ + private Boolean type; + /** + * 价格 + */ + private BigDecimal price; + /** + * 是否收费0:免费1收费 + */ + private Boolean isCharge; + /** + * 详细地址 + */ + private String address; + /** + * 省 + */ + private String province; + /** + * 市 + */ + private String city; + /** + * 区 + */ + private String area; + /** + * 电话号码 + */ + private String tel; + /** + * 创建时间 + */ + private LocalDateTime createdAt; + /** + * 最后更新时间 + */ + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropMapper.java new file mode 100644 index 0000000..7af1b10 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropMapper.java @@ -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.ProdPropDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 商品属性 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdPropMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropValueMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropValueMapper.java new file mode 100644 index 0000000..012573f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdPropValueMapper.java @@ -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.ProdPropValueDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 属性规则 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdPropValueMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdReservationConfigMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdReservationConfigMapper.java new file mode 100644 index 0000000..c6c612a --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdReservationConfigMapper.java @@ -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.ProdReservationConfigDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 商品预约配置 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdReservationConfigMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreaRelevanceMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreaRelevanceMapper.java new file mode 100644 index 0000000..e82dea0 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreaRelevanceMapper.java @@ -0,0 +1,19 @@ +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.ProdServiceAreaRelevanceDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 商品与服务区域关联 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdServiceAreaRelevanceMapper extends BaseMapperX { + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreasMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreasMapper.java new file mode 100644 index 0000000..aa4c1a9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceAreasMapper.java @@ -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.ProdServiceAreasDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 服务区域 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdServiceAreasMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceOverAreaRulesMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceOverAreaRulesMapper.java new file mode 100644 index 0000000..a1bb897 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdServiceOverAreaRulesMapper.java @@ -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.ProdServiceOverAreaRulesDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 超区规则 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdServiceOverAreaRulesMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdTagsMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdTagsMapper.java new file mode 100644 index 0000000..d33c3b7 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdTagsMapper.java @@ -0,0 +1,19 @@ +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.ProdTagsDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 商品和标签管理 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdTagsMapper extends BaseMapperX { + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdWeightRangePricesMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdWeightRangePricesMapper.java new file mode 100644 index 0000000..88a48b9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProdWeightRangePricesMapper.java @@ -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.ProdWeightRangePricesDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 体重区间价格 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProdWeightRangePricesMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProductOrderLimitMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProductOrderLimitMapper.java new file mode 100644 index 0000000..6ac35f1 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ProductOrderLimitMapper.java @@ -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.ProductOrderLimitDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 商品接单上限设置 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProductOrderLimitMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ShopDetailMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ShopDetailMapper.java new file mode 100644 index 0000000..a9cc1f3 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/ShopDetailMapper.java @@ -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.ShopDetailDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 店铺信息 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ShopDetailMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuMapper.java new file mode 100644 index 0000000..f8042e0 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuMapper.java @@ -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.SkuDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 单品SKU Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface SkuMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuServiceDeliverMapper.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuServiceDeliverMapper.java new file mode 100644 index 0000000..59fce24 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/mapper/SkuServiceDeliverMapper.java @@ -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.SkuServiceDeliverDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 服务交付方式 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface SkuServiceDeliverMapper extends BaseMapperX { + + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropService.java new file mode 100644 index 0000000..e9b1b14 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdPropDO; +import com.tashow.cloud.product.vo.prodprop.ProdPropPageReqVO; +import com.tashow.cloud.product.vo.prodprop.ProdPropSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 商品属性 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdPropService { + + /** + * 创建商品属性 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdProp(@Valid ProdPropSaveReqVO createReqVO); + + /** + * 更新商品属性 + * + * @param updateReqVO 更新信息 + */ + void updateProdProp(@Valid ProdPropSaveReqVO updateReqVO); + + /** + * 删除商品属性 + * + * @param id 编号 + */ + void deleteProdProp(Long id); + + /** + * 获得商品属性 + * + * @param id 编号 + * @return 商品属性 + */ + ProdPropDO getProdProp(Long id); + + /** + * 获得商品属性分页 + * + * @param pageReqVO 分页查询 + * @return 商品属性分页 + */ + PageResult getProdPropPage(ProdPropPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropValueService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropValueService.java new file mode 100644 index 0000000..466cf68 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdPropValueService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdPropValueDO; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValuePageReqVO; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValueSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 属性规则 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdPropValueService { + + /** + * 创建属性规则 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdPropValue(@Valid ProdPropValueSaveReqVO createReqVO); + + /** + * 更新属性规则 + * + * @param updateReqVO 更新信息 + */ + void updateProdPropValue(@Valid ProdPropValueSaveReqVO updateReqVO); + + /** + * 删除属性规则 + * + * @param id 编号 + */ + void deleteProdPropValue(Long id); + + /** + * 获得属性规则 + * + * @param id 编号 + * @return 属性规则 + */ + ProdPropValueDO getProdPropValue(Long id); + + /** + * 获得属性规则分页 + * + * @param pageReqVO 分页查询 + * @return 属性规则分页 + */ + PageResult getProdPropValuePage(ProdPropValuePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdReservationConfigService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdReservationConfigService.java new file mode 100644 index 0000000..2a19183 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdReservationConfigService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdReservationConfigDO; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigPageReqVO; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 商品预约配置 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdReservationConfigService { + + /** + * 创建商品预约配置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdReservationConfig(@Valid ProdReservationConfigSaveReqVO createReqVO); + + /** + * 更新商品预约配置 + * + * @param updateReqVO 更新信息 + */ + void updateProdReservationConfig(@Valid ProdReservationConfigSaveReqVO updateReqVO); + + /** + * 删除商品预约配置 + * + * @param id 编号 + */ + void deleteProdReservationConfig(Long id); + + /** + * 获得商品预约配置 + * + * @param id 编号 + * @return 商品预约配置 + */ + ProdReservationConfigDO getProdReservationConfig(Long id); + + /** + * 获得商品预约配置分页 + * + * @param pageReqVO 分页查询 + * @return 商品预约配置分页 + */ + PageResult getProdReservationConfigPage(ProdReservationConfigPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreaRelevanceService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreaRelevanceService.java new file mode 100644 index 0000000..761f3bf --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreaRelevanceService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdServiceAreaRelevanceDO; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevancePageReqVO; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevanceSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 商品与服务区域关联 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdServiceAreaRelevanceService { + + /** + * 创建商品与服务区域关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdServiceAreaRelevance(@Valid ProdServiceAreaRelevanceSaveReqVO createReqVO); + + /** + * 更新商品与服务区域关联 + * + * @param updateReqVO 更新信息 + */ + void updateProdServiceAreaRelevance(@Valid ProdServiceAreaRelevanceSaveReqVO updateReqVO); + + /** + * 删除商品与服务区域关联 + * + * @param id 编号 + */ + void deleteProdServiceAreaRelevance(Long id); + + /** + * 获得商品与服务区域关联 + * + * @param id 编号 + * @return 商品与服务区域关联 + */ + ProdServiceAreaRelevanceDO getProdServiceAreaRelevance(Long id); + + /** + * 获得商品与服务区域关联分页 + * + * @param pageReqVO 分页查询 + * @return 商品与服务区域关联分页 + */ + PageResult getProdServiceAreaRelevancePage(ProdServiceAreaRelevancePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreasService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreasService.java new file mode 100644 index 0000000..9fb87db --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceAreasService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdServiceAreasDO; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasPageReqVO; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 服务区域 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdServiceAreasService { + + /** + * 创建服务区域 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdServiceAreas(@Valid ProdServiceAreasSaveReqVO createReqVO); + + /** + * 更新服务区域 + * + * @param updateReqVO 更新信息 + */ + void updateProdServiceAreas(@Valid ProdServiceAreasSaveReqVO updateReqVO); + + /** + * 删除服务区域 + * + * @param id 编号 + */ + void deleteProdServiceAreas(Long id); + + /** + * 获得服务区域 + * + * @param id 编号 + * @return 服务区域 + */ + ProdServiceAreasDO getProdServiceAreas(Long id); + + /** + * 获得服务区域分页 + * + * @param pageReqVO 分页查询 + * @return 服务区域分页 + */ + PageResult getProdServiceAreasPage(ProdServiceAreasPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceOverAreaRulesService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceOverAreaRulesService.java new file mode 100644 index 0000000..7702d3c --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdServiceOverAreaRulesService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdServiceOverAreaRulesDO; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesPageReqVO; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 超区规则 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdServiceOverAreaRulesService { + + /** + * 创建超区规则 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdServiceOverAreaRules(@Valid ProdServiceOverAreaRulesSaveReqVO createReqVO); + + /** + * 更新超区规则 + * + * @param updateReqVO 更新信息 + */ + void updateProdServiceOverAreaRules(@Valid ProdServiceOverAreaRulesSaveReqVO updateReqVO); + + /** + * 删除超区规则 + * + * @param id 编号 + */ + void deleteProdServiceOverAreaRules(Long id); + + /** + * 获得超区规则 + * + * @param id 编号 + * @return 超区规则 + */ + ProdServiceOverAreaRulesDO getProdServiceOverAreaRules(Long id); + + /** + * 获得超区规则分页 + * + * @param pageReqVO 分页查询 + * @return 超区规则分页 + */ + PageResult getProdServiceOverAreaRulesPage(ProdServiceOverAreaRulesPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdTagsService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdTagsService.java new file mode 100644 index 0000000..805c72f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdTagsService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdTagsDO; +import com.tashow.cloud.product.vo.prodtags.ProdTagsPageReqVO; +import com.tashow.cloud.product.vo.prodtags.ProdTagsSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 商品和标签管理 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdTagsService { + + /** + * 创建商品和标签管理 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdTags(@Valid ProdTagsSaveReqVO createReqVO); + + /** + * 更新商品和标签管理 + * + * @param updateReqVO 更新信息 + */ + void updateProdTags(@Valid ProdTagsSaveReqVO updateReqVO); + + /** + * 删除商品和标签管理 + * + * @param id 编号 + */ + void deleteProdTags(Long id); + + /** + * 获得商品和标签管理 + * + * @param id 编号 + * @return 商品和标签管理 + */ + ProdTagsDO getProdTags(Long id); + + /** + * 获得商品和标签管理分页 + * + * @param pageReqVO 分页查询 + * @return 商品和标签管理分页 + */ + PageResult getProdTagsPage(ProdTagsPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdWeightRangePricesService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdWeightRangePricesService.java new file mode 100644 index 0000000..b85d681 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProdWeightRangePricesService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProdWeightRangePricesDO; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesPageReqVO; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 体重区间价格 Service 接口 + * + * @author 芋道源码 + */ +public interface ProdWeightRangePricesService { + + /** + * 创建体重区间价格 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProdWeightRangePrices(@Valid ProdWeightRangePricesSaveReqVO createReqVO); + + /** + * 更新体重区间价格 + * + * @param updateReqVO 更新信息 + */ + void updateProdWeightRangePrices(@Valid ProdWeightRangePricesSaveReqVO updateReqVO); + + /** + * 删除体重区间价格 + * + * @param id 编号 + */ + void deleteProdWeightRangePrices(Long id); + + /** + * 获得体重区间价格 + * + * @param id 编号 + * @return 体重区间价格 + */ + ProdWeightRangePricesDO getProdWeightRangePrices(Long id); + + /** + * 获得体重区间价格分页 + * + * @param pageReqVO 分页查询 + * @return 体重区间价格分页 + */ + PageResult getProdWeightRangePricesPage(ProdWeightRangePricesPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProductOrderLimitService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProductOrderLimitService.java new file mode 100644 index 0000000..566ed04 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ProductOrderLimitService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ProductOrderLimitDO; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitPageReqVO; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 商品接单上限设置 Service 接口 + * + * @author 芋道源码 + */ +public interface ProductOrderLimitService { + + /** + * 创建商品接单上限设置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProductOrderLimit(@Valid ProductOrderLimitSaveReqVO createReqVO); + + /** + * 更新商品接单上限设置 + * + * @param updateReqVO 更新信息 + */ + void updateProductOrderLimit(@Valid ProductOrderLimitSaveReqVO updateReqVO); + + /** + * 删除商品接单上限设置 + * + * @param id 编号 + */ + void deleteProductOrderLimit(Long id); + + /** + * 获得商品接单上限设置 + * + * @param id 编号 + * @return 商品接单上限设置 + */ + ProductOrderLimitDO getProductOrderLimit(Long id); + + /** + * 获得商品接单上限设置分页 + * + * @param pageReqVO 分页查询 + * @return 商品接单上限设置分页 + */ + PageResult getProductOrderLimitPage(ProductOrderLimitPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ShopDetailService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ShopDetailService.java new file mode 100644 index 0000000..917a9d7 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/ShopDetailService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.ShopDetailDO; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailPageReqVO; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 店铺信息 Service 接口 + * + * @author 芋道源码 + */ +public interface ShopDetailService { + + /** + * 创建店铺信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createShopDetail(@Valid ShopDetailSaveReqVO createReqVO); + + /** + * 更新店铺信息 + * + * @param updateReqVO 更新信息 + */ + void updateShopDetail(@Valid ShopDetailSaveReqVO updateReqVO); + + /** + * 删除店铺信息 + * + * @param id 编号 + */ + void deleteShopDetail(Long id); + + /** + * 获得店铺信息 + * + * @param id 编号 + * @return 店铺信息 + */ + ShopDetailDO getShopDetail(Long id); + + /** + * 获得店铺信息分页 + * + * @param pageReqVO 分页查询 + * @return 店铺信息分页 + */ + PageResult getShopDetailPage(ShopDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuService.java new file mode 100644 index 0000000..053105c --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.SkuDO; +import com.tashow.cloud.product.vo.sku.SkuPageReqVO; +import com.tashow.cloud.product.vo.sku.SkuSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 单品SKU Service 接口 + * + * @author 芋道源码 + */ +public interface SkuService { + + /** + * 创建单品SKU + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createSku(@Valid SkuSaveReqVO createReqVO); + + /** + * 更新单品SKU + * + * @param updateReqVO 更新信息 + */ + void updateSku(@Valid SkuSaveReqVO updateReqVO); + + /** + * 删除单品SKU + * + * @param id 编号 + */ + void deleteSku(Long id); + + /** + * 获得单品SKU + * + * @param id 编号 + * @return 单品SKU + */ + SkuDO getSku(Long id); + + /** + * 获得单品SKU分页 + * + * @param pageReqVO 分页查询 + * @return 单品SKU分页 + */ + PageResult getSkuPage(SkuPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuServiceDeliverService.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuServiceDeliverService.java new file mode 100644 index 0000000..f9678d8 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/SkuServiceDeliverService.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.service; + +import java.util.*; + +import com.tashow.cloud.product.dto.SkuServiceDeliverDO; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverPageReqVO; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverSaveReqVO; +import jakarta.validation.*; +import com.tashow.cloud.common.pojo.PageResult; +import com.tashow.cloud.common.pojo.PageParam; + +/** + * 服务交付方式 Service 接口 + * + * @author 芋道源码 + */ +public interface SkuServiceDeliverService { + + /** + * 创建服务交付方式 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createSkuServiceDeliver(@Valid SkuServiceDeliverSaveReqVO createReqVO); + + /** + * 更新服务交付方式 + * + * @param updateReqVO 更新信息 + */ + void updateSkuServiceDeliver(@Valid SkuServiceDeliverSaveReqVO updateReqVO); + + /** + * 删除服务交付方式 + * + * @param id 编号 + */ + void deleteSkuServiceDeliver(Long id); + + /** + * 获得服务交付方式 + * + * @param id 编号 + * @return 服务交付方式 + */ + SkuServiceDeliverDO getSkuServiceDeliver(Long id); + + /** + * 获得服务交付方式分页 + * + * @param pageReqVO 分页查询 + * @return 服务交付方式分页 + */ + PageResult getSkuServiceDeliverPage(SkuServiceDeliverPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropServiceImpl.java new file mode 100644 index 0000000..c5cdf55 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdPropDO; +import com.tashow.cloud.product.mapper.ProdPropMapper; +import com.tashow.cloud.product.service.ProdPropService; +import com.tashow.cloud.product.vo.prodprop.ProdPropPageReqVO; +import com.tashow.cloud.product.vo.prodprop.ProdPropSaveReqVO; +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 ProdPropServiceImpl implements ProdPropService { + + @Resource + private ProdPropMapper prodPropMapper; + + @Override + public Long createProdProp(ProdPropSaveReqVO createReqVO) { + // 插入 + ProdPropDO prodProp = BeanUtils.toBean(createReqVO, ProdPropDO.class); + prodPropMapper.insert(prodProp); + // 返回 + return prodProp.getPropId(); + } + + @Override + public void updateProdProp(ProdPropSaveReqVO updateReqVO) { + // 校验存在 + validateProdPropExists(updateReqVO.getPropId()); + // 更新 + ProdPropDO updateObj = BeanUtils.toBean(updateReqVO, ProdPropDO.class); + prodPropMapper.updateById(updateObj); + } + + @Override + public void deleteProdProp(Long id) { + // 校验存在 + validateProdPropExists(id); + // 删除 + prodPropMapper.deleteById(id); + } + + private void validateProdPropExists(Long id) { + if (prodPropMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_PROP_NOT_EXISTS); + } + } + + @Override + public ProdPropDO getProdProp(Long id) { + return prodPropMapper.selectById(id); + } + + @Override + public PageResult getProdPropPage(ProdPropPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropValueServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropValueServiceImpl.java new file mode 100644 index 0000000..cc531d8 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdPropValueServiceImpl.java @@ -0,0 +1,73 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdPropValueDO; +import com.tashow.cloud.product.mapper.ProdPropValueMapper; +import com.tashow.cloud.product.service.ProdPropValueService; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValuePageReqVO; +import com.tashow.cloud.product.vo.prodpropvalue.ProdPropValueSaveReqVO; +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 ProdPropValueServiceImpl implements ProdPropValueService { + + @Resource + private ProdPropValueMapper prodPropValueMapper; + + @Override + public Long createProdPropValue(ProdPropValueSaveReqVO createReqVO) { + // 插入 + ProdPropValueDO prodPropValue = BeanUtils.toBean(createReqVO, ProdPropValueDO.class); + prodPropValueMapper.insert(prodPropValue); + // 返回 + return prodPropValue.getPropId(); + } + + @Override + public void updateProdPropValue(ProdPropValueSaveReqVO updateReqVO) { + // 校验存在 + validateProdPropValueExists(updateReqVO.getPropId()); + // 更新 + ProdPropValueDO updateObj = BeanUtils.toBean(updateReqVO, ProdPropValueDO.class); + prodPropValueMapper.updateById(updateObj); + } + + @Override + public void deleteProdPropValue(Long id) { + // 校验存在 + validateProdPropValueExists(id); + // 删除 + prodPropValueMapper.deleteById(id); + } + + private void validateProdPropValueExists(Long id) { + if (prodPropValueMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_PROP_VALUE_NOT_EXISTS); + } + } + + @Override + public ProdPropValueDO getProdPropValue(Long id) { + return prodPropValueMapper.selectById(id); + } + + @Override + public PageResult getProdPropValuePage(ProdPropValuePageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdReservationConfigServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdReservationConfigServiceImpl.java new file mode 100644 index 0000000..b580c8f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdReservationConfigServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdReservationConfigDO; +import com.tashow.cloud.product.mapper.ProdReservationConfigMapper; +import com.tashow.cloud.product.service.ProdReservationConfigService; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigPageReqVO; +import com.tashow.cloud.product.vo.prodreservationconfig.ProdReservationConfigSaveReqVO; +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 ProdReservationConfigServiceImpl implements ProdReservationConfigService { + + @Resource + private ProdReservationConfigMapper prodReservationConfigMapper; + + @Override + public Long createProdReservationConfig(ProdReservationConfigSaveReqVO createReqVO) { + // 插入 + ProdReservationConfigDO prodReservationConfig = BeanUtils.toBean(createReqVO, ProdReservationConfigDO.class); + prodReservationConfigMapper.insert(prodReservationConfig); + // 返回 + return prodReservationConfig.getId(); + } + + @Override + public void updateProdReservationConfig(ProdReservationConfigSaveReqVO updateReqVO) { + // 校验存在 + validateProdReservationConfigExists(updateReqVO.getId()); + // 更新 + ProdReservationConfigDO updateObj = BeanUtils.toBean(updateReqVO, ProdReservationConfigDO.class); + prodReservationConfigMapper.updateById(updateObj); + } + + @Override + public void deleteProdReservationConfig(Long id) { + // 校验存在 + validateProdReservationConfigExists(id); + // 删除 + prodReservationConfigMapper.deleteById(id); + } + + private void validateProdReservationConfigExists(Long id) { + if (prodReservationConfigMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_RESERVATION_CONFIG_NOT_EXISTS); + } + } + + @Override + public ProdReservationConfigDO getProdReservationConfig(Long id) { + return prodReservationConfigMapper.selectById(id); + } + + @Override + public PageResult getProdReservationConfigPage(ProdReservationConfigPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreaRelevanceServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreaRelevanceServiceImpl.java new file mode 100644 index 0000000..d3ffd2b --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreaRelevanceServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdServiceAreaRelevanceDO; +import com.tashow.cloud.product.mapper.ProdServiceAreaRelevanceMapper; +import com.tashow.cloud.product.service.ProdServiceAreaRelevanceService; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevancePageReqVO; +import com.tashow.cloud.product.vo.prodservicearearelevance.ProdServiceAreaRelevanceSaveReqVO; +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 ProdServiceAreaRelevanceServiceImpl implements ProdServiceAreaRelevanceService { + + @Resource + private ProdServiceAreaRelevanceMapper prodServiceAreaRelevanceMapper; + + @Override + public Long createProdServiceAreaRelevance(ProdServiceAreaRelevanceSaveReqVO createReqVO) { + // 插入 + ProdServiceAreaRelevanceDO prodServiceAreaRelevance = BeanUtils.toBean(createReqVO, ProdServiceAreaRelevanceDO.class); + prodServiceAreaRelevanceMapper.insert(prodServiceAreaRelevance); + // 返回 + return prodServiceAreaRelevance.getProdId(); + } + + @Override + public void updateProdServiceAreaRelevance(ProdServiceAreaRelevanceSaveReqVO updateReqVO) { + // 校验存在 + validateProdServiceAreaRelevanceExists(updateReqVO.getProdId()); + // 更新 + ProdServiceAreaRelevanceDO updateObj = BeanUtils.toBean(updateReqVO, ProdServiceAreaRelevanceDO.class); + prodServiceAreaRelevanceMapper.updateById(updateObj); + } + + @Override + public void deleteProdServiceAreaRelevance(Long id) { + // 校验存在 + validateProdServiceAreaRelevanceExists(id); + // 删除 + prodServiceAreaRelevanceMapper.deleteById(id); + } + + private void validateProdServiceAreaRelevanceExists(Long id) { + if (prodServiceAreaRelevanceMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_SERVICE_AREA_RELEVANCE_NOT_EXISTS); + } + } + + @Override + public ProdServiceAreaRelevanceDO getProdServiceAreaRelevance(Long id) { + return prodServiceAreaRelevanceMapper.selectById(id); + } + + @Override + public PageResult getProdServiceAreaRelevancePage(ProdServiceAreaRelevancePageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreasServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreasServiceImpl.java new file mode 100644 index 0000000..107329f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceAreasServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdServiceAreasDO; +import com.tashow.cloud.product.mapper.ProdServiceAreasMapper; +import com.tashow.cloud.product.service.ProdServiceAreasService; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasPageReqVO; +import com.tashow.cloud.product.vo.prodserviceareas.ProdServiceAreasSaveReqVO; +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 ProdServiceAreasServiceImpl implements ProdServiceAreasService { + + @Resource + private ProdServiceAreasMapper prodServiceAreasMapper; + + @Override + public Long createProdServiceAreas(ProdServiceAreasSaveReqVO createReqVO) { + // 插入 + ProdServiceAreasDO prodServiceAreas = BeanUtils.toBean(createReqVO, ProdServiceAreasDO.class); + prodServiceAreasMapper.insert(prodServiceAreas); + // 返回 + return prodServiceAreas.getId(); + } + + @Override + public void updateProdServiceAreas(ProdServiceAreasSaveReqVO updateReqVO) { + // 校验存在 + validateProdServiceAreasExists(updateReqVO.getId()); + // 更新 + ProdServiceAreasDO updateObj = BeanUtils.toBean(updateReqVO, ProdServiceAreasDO.class); + prodServiceAreasMapper.updateById(updateObj); + } + + @Override + public void deleteProdServiceAreas(Long id) { + // 校验存在 + validateProdServiceAreasExists(id); + // 删除 + prodServiceAreasMapper.deleteById(id); + } + + private void validateProdServiceAreasExists(Long id) { + if (prodServiceAreasMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_SERVICE_AREAS_NOT_EXISTS); + } + } + + @Override + public ProdServiceAreasDO getProdServiceAreas(Long id) { + return prodServiceAreasMapper.selectById(id); + } + + @Override + public PageResult getProdServiceAreasPage(ProdServiceAreasPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceOverAreaRulesServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceOverAreaRulesServiceImpl.java new file mode 100644 index 0000000..fe89c2e --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdServiceOverAreaRulesServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdServiceOverAreaRulesDO; +import com.tashow.cloud.product.mapper.ProdServiceOverAreaRulesMapper; +import com.tashow.cloud.product.service.ProdServiceOverAreaRulesService; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesPageReqVO; +import com.tashow.cloud.product.vo.prodserviceoverarearules.ProdServiceOverAreaRulesSaveReqVO; +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 ProdServiceOverAreaRulesServiceImpl implements ProdServiceOverAreaRulesService { + + @Resource + private ProdServiceOverAreaRulesMapper prodServiceOverAreaRulesMapper; + + @Override + public Long createProdServiceOverAreaRules(ProdServiceOverAreaRulesSaveReqVO createReqVO) { + // 插入 + ProdServiceOverAreaRulesDO prodServiceOverAreaRules = BeanUtils.toBean(createReqVO, ProdServiceOverAreaRulesDO.class); + prodServiceOverAreaRulesMapper.insert(prodServiceOverAreaRules); + // 返回 + return prodServiceOverAreaRules.getId(); + } + + @Override + public void updateProdServiceOverAreaRules(ProdServiceOverAreaRulesSaveReqVO updateReqVO) { + // 校验存在 + validateProdServiceOverAreaRulesExists(updateReqVO.getId()); + // 更新 + ProdServiceOverAreaRulesDO updateObj = BeanUtils.toBean(updateReqVO, ProdServiceOverAreaRulesDO.class); + prodServiceOverAreaRulesMapper.updateById(updateObj); + } + + @Override + public void deleteProdServiceOverAreaRules(Long id) { + // 校验存在 + validateProdServiceOverAreaRulesExists(id); + // 删除 + prodServiceOverAreaRulesMapper.deleteById(id); + } + + private void validateProdServiceOverAreaRulesExists(Long id) { + if (prodServiceOverAreaRulesMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_SERVICE_OVER_AREA_RULES_NOT_EXISTS); + } + } + + @Override + public ProdServiceOverAreaRulesDO getProdServiceOverAreaRules(Long id) { + return prodServiceOverAreaRulesMapper.selectById(id); + } + + @Override + public PageResult getProdServiceOverAreaRulesPage(ProdServiceOverAreaRulesPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdTagsServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdTagsServiceImpl.java new file mode 100644 index 0000000..c7600c9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdTagsServiceImpl.java @@ -0,0 +1,73 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdTagsDO; +import com.tashow.cloud.product.mapper.ProdTagsMapper; +import com.tashow.cloud.product.service.ProdTagsService; +import com.tashow.cloud.product.vo.prodtags.ProdTagsPageReqVO; +import com.tashow.cloud.product.vo.prodtags.ProdTagsSaveReqVO; +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 ProdTagsServiceImpl implements ProdTagsService { + + @Resource + private ProdTagsMapper prodTagsMapper; + + @Override + public Long createProdTags(ProdTagsSaveReqVO createReqVO) { + // 插入 + ProdTagsDO prodTags = BeanUtils.toBean(createReqVO, ProdTagsDO.class); + prodTagsMapper.insert(prodTags); + // 返回 + return prodTags.getProductId(); + } + + @Override + public void updateProdTags(ProdTagsSaveReqVO updateReqVO) { + // 校验存在 + validateProdTagsExists(updateReqVO.getProductId()); + // 更新 + ProdTagsDO updateObj = BeanUtils.toBean(updateReqVO, ProdTagsDO.class); + prodTagsMapper.updateById(updateObj); + } + + @Override + public void deleteProdTags(Long id) { + // 校验存在 + validateProdTagsExists(id); + // 删除 + prodTagsMapper.deleteById(id); + } + + private void validateProdTagsExists(Long id) { + if (prodTagsMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_TAGS_NOT_EXISTS); + } + } + + @Override + public ProdTagsDO getProdTags(Long id) { + return prodTagsMapper.selectById(id); + } + + @Override + public PageResult getProdTagsPage(ProdTagsPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdWeightRangePricesServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdWeightRangePricesServiceImpl.java new file mode 100644 index 0000000..8f4e423 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProdWeightRangePricesServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProdWeightRangePricesDO; +import com.tashow.cloud.product.mapper.ProdWeightRangePricesMapper; +import com.tashow.cloud.product.service.ProdWeightRangePricesService; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesPageReqVO; +import com.tashow.cloud.product.vo.prodweightrangeprices.ProdWeightRangePricesSaveReqVO; +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 ProdWeightRangePricesServiceImpl implements ProdWeightRangePricesService { + + @Resource + private ProdWeightRangePricesMapper prodWeightRangePricesMapper; + + @Override + public Long createProdWeightRangePrices(ProdWeightRangePricesSaveReqVO createReqVO) { + // 插入 + ProdWeightRangePricesDO prodWeightRangePrices = BeanUtils.toBean(createReqVO, ProdWeightRangePricesDO.class); + prodWeightRangePricesMapper.insert(prodWeightRangePrices); + // 返回 + return prodWeightRangePrices.getId(); + } + + @Override + public void updateProdWeightRangePrices(ProdWeightRangePricesSaveReqVO updateReqVO) { + // 校验存在 + validateProdWeightRangePricesExists(updateReqVO.getId()); + // 更新 + ProdWeightRangePricesDO updateObj = BeanUtils.toBean(updateReqVO, ProdWeightRangePricesDO.class); + prodWeightRangePricesMapper.updateById(updateObj); + } + + @Override + public void deleteProdWeightRangePrices(Long id) { + // 校验存在 + validateProdWeightRangePricesExists(id); + // 删除 + prodWeightRangePricesMapper.deleteById(id); + } + + private void validateProdWeightRangePricesExists(Long id) { + if (prodWeightRangePricesMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PROD_WEIGHT_RANGE_PRICES_NOT_EXISTS); + } + } + + @Override + public ProdWeightRangePricesDO getProdWeightRangePrices(Long id) { + return prodWeightRangePricesMapper.selectById(id); + } + + @Override + public PageResult getProdWeightRangePricesPage(ProdWeightRangePricesPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProductOrderLimitServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProductOrderLimitServiceImpl.java new file mode 100644 index 0000000..9a35f06 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ProductOrderLimitServiceImpl.java @@ -0,0 +1,74 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ProductOrderLimitDO; +import com.tashow.cloud.product.mapper.ProductOrderLimitMapper; +import com.tashow.cloud.product.service.ProductOrderLimitService; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitPageReqVO; +import com.tashow.cloud.product.vo.productorderlimit.ProductOrderLimitSaveReqVO; +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 ProductOrderLimitServiceImpl implements ProductOrderLimitService { + + @Resource + private ProductOrderLimitMapper productOrderLimitMapper; + + @Override + public Long createProductOrderLimit(ProductOrderLimitSaveReqVO createReqVO) { + // 插入 + ProductOrderLimitDO productOrderLimit = BeanUtils.toBean(createReqVO, ProductOrderLimitDO.class); + productOrderLimitMapper.insert(productOrderLimit); + // 返回 + return productOrderLimit.getId(); + } + + @Override + public void updateProductOrderLimit(ProductOrderLimitSaveReqVO updateReqVO) { + // 校验存在 + validateProductOrderLimitExists(updateReqVO.getId()); + // 更新 + ProductOrderLimitDO updateObj = BeanUtils.toBean(updateReqVO, ProductOrderLimitDO.class); + productOrderLimitMapper.updateById(updateObj); + } + + @Override + public void deleteProductOrderLimit(Long id) { + // 校验存在 + validateProductOrderLimitExists(id); + // 删除 + productOrderLimitMapper.deleteById(id); + } + + private void validateProductOrderLimitExists(Long id) { + if (productOrderLimitMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.PRODUCT_ORDER_LIMIT_NOT_EXISTS); + } + } + + @Override + public ProductOrderLimitDO getProductOrderLimit(Long id) { + return productOrderLimitMapper.selectById(id); + } + + @Override + public PageResult getProductOrderLimitPage(ProductOrderLimitPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ShopDetailServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ShopDetailServiceImpl.java new file mode 100644 index 0000000..6c1ee51 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/ShopDetailServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.ShopDetailDO; +import com.tashow.cloud.product.mapper.ShopDetailMapper; +import com.tashow.cloud.product.service.ShopDetailService; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailPageReqVO; +import com.tashow.cloud.product.vo.shopdetail.ShopDetailSaveReqVO; +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 ShopDetailServiceImpl implements ShopDetailService { + + @Resource + private ShopDetailMapper shopDetailMapper; + + @Override + public Long createShopDetail(ShopDetailSaveReqVO createReqVO) { + // 插入 + ShopDetailDO shopDetail = BeanUtils.toBean(createReqVO, ShopDetailDO.class); + shopDetailMapper.insert(shopDetail); + // 返回 + return shopDetail.getShopId(); + } + + @Override + public void updateShopDetail(ShopDetailSaveReqVO updateReqVO) { + // 校验存在 + validateShopDetailExists(updateReqVO.getShopId()); + // 更新 + ShopDetailDO updateObj = BeanUtils.toBean(updateReqVO, ShopDetailDO.class); + shopDetailMapper.updateById(updateObj); + } + + @Override + public void deleteShopDetail(Long id) { + // 校验存在 + validateShopDetailExists(id); + // 删除 + shopDetailMapper.deleteById(id); + } + + private void validateShopDetailExists(Long id) { + if (shopDetailMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.SHOP_DETAIL_NOT_EXISTS); + } + } + + @Override + public ShopDetailDO getShopDetail(Long id) { + return shopDetailMapper.selectById(id); + } + + @Override + public PageResult getShopDetailPage(ShopDetailPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceDeliverServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceDeliverServiceImpl.java new file mode 100644 index 0000000..ed8e9e9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceDeliverServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.SkuServiceDeliverDO; +import com.tashow.cloud.product.mapper.SkuServiceDeliverMapper; +import com.tashow.cloud.product.service.SkuServiceDeliverService; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverPageReqVO; +import com.tashow.cloud.product.vo.skuservicedeliver.SkuServiceDeliverSaveReqVO; +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 SkuServiceDeliverServiceImpl implements SkuServiceDeliverService { + + @Resource + private SkuServiceDeliverMapper skuServiceDeliverMapper; + + @Override + public Long createSkuServiceDeliver(SkuServiceDeliverSaveReqVO createReqVO) { + // 插入 + SkuServiceDeliverDO skuServiceDeliver = BeanUtils.toBean(createReqVO, SkuServiceDeliverDO.class); + skuServiceDeliverMapper.insert(skuServiceDeliver); + // 返回 + return skuServiceDeliver.getId(); + } + + @Override + public void updateSkuServiceDeliver(SkuServiceDeliverSaveReqVO updateReqVO) { + // 校验存在 + validateSkuServiceDeliverExists(updateReqVO.getId()); + // 更新 + SkuServiceDeliverDO updateObj = BeanUtils.toBean(updateReqVO, SkuServiceDeliverDO.class); + skuServiceDeliverMapper.updateById(updateObj); + } + + @Override + public void deleteSkuServiceDeliver(Long id) { + // 校验存在 + validateSkuServiceDeliverExists(id); + // 删除 + skuServiceDeliverMapper.deleteById(id); + } + + private void validateSkuServiceDeliverExists(Long id) { + if (skuServiceDeliverMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.SKU_SERVICE_DELIVER_NOT_EXISTS); + } + } + + @Override + public SkuServiceDeliverDO getSkuServiceDeliver(Long id) { + return skuServiceDeliverMapper.selectById(id); + } + + @Override + public PageResult getSkuServiceDeliverPage(SkuServiceDeliverPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceImpl.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceImpl.java new file mode 100644 index 0000000..5fccb11 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/service/impl/SkuServiceImpl.java @@ -0,0 +1,76 @@ +package com.tashow.cloud.product.service.impl; + +import com.tashow.cloud.product.dto.SkuDO; +import com.tashow.cloud.product.mapper.SkuMapper; +import com.tashow.cloud.product.service.SkuService; +import com.tashow.cloud.product.vo.sku.SkuPageReqVO; +import com.tashow.cloud.product.vo.sku.SkuSaveReqVO; +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 SkuServiceImpl implements SkuService { + + @Resource + private SkuMapper skuMapper; + + @Override + public Long createSku(SkuSaveReqVO createReqVO) { + // 插入 + SkuDO sku = BeanUtils.toBean(createReqVO, SkuDO.class); + skuMapper.insert(sku); + // 返回 + return sku.getSkuId(); + } + + @Override + public void updateSku(SkuSaveReqVO updateReqVO) { + // 校验存在 + validateSkuExists(updateReqVO.getSkuId()); + // 更新 + SkuDO updateObj = BeanUtils.toBean(updateReqVO, SkuDO.class); + skuMapper.updateById(updateObj); + } + + @Override + public void deleteSku(Long id) { + // 校验存在 + validateSkuExists(id); + // 删除 + skuMapper.deleteById(id); + } + + private void validateSkuExists(Long id) { + if (skuMapper.selectById(id) == null) { + throw exception(ErrorCodeConstants.SKU_NOT_EXISTS); + } + } + + @Override + public SkuDO getSku(Long id) { + return skuMapper.selectById(id); + } + + @Override + public PageResult getSkuPage(SkuPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropPageReqVO.java new file mode 100644 index 0000000..997846b --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropPageReqVO.java @@ -0,0 +1,29 @@ +package com.tashow.cloud.product.vo.prodprop; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; + +@Schema(description = "管理后台 - 商品属性分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProdPropPageReqVO extends PageParam { + + @Schema(description = "属性名称", example = "李四") + private String propName; + + @Schema(description = "ProdPropRule 1:销售属性(规格); 2:参数属性;") + private Integer rule; + + @Schema(description = "店铺id", example = "2806") + private Long shopId; + + @Schema(description = "商品id", example = "21671") + private Integer prodId; + + @Schema(description = "是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropRespVO.java new file mode 100644 index 0000000..57f0bde --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropRespVO.java @@ -0,0 +1,37 @@ +package com.tashow.cloud.product.vo.prodprop; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 商品属性 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProdPropRespVO { + + @Schema(description = "属性id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14271") + @ExcelProperty("属性id") + private Long propId; + + @Schema(description = "属性名称", example = "李四") + @ExcelProperty("属性名称") + private String propName; + + @Schema(description = "ProdPropRule 1:销售属性(规格); 2:参数属性;") + @ExcelProperty("ProdPropRule 1:销售属性(规格); 2:参数属性;") + private Integer rule; + + @Schema(description = "店铺id", example = "2806") + @ExcelProperty("店铺id") + private Long shopId; + + @Schema(description = "商品id", example = "21671") + @ExcelProperty("商品id") + private Integer prodId; + + @Schema(description = "是否删除0否1是") + @ExcelProperty("是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropSaveReqVO.java new file mode 100644 index 0000000..caabecb --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodprop/ProdPropSaveReqVO.java @@ -0,0 +1,30 @@ +package com.tashow.cloud.product.vo.prodprop; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 商品属性新增/修改 Request VO") +@Data +public class ProdPropSaveReqVO { + + @Schema(description = "属性id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14271") + private Long propId; + + @Schema(description = "属性名称", example = "李四") + private String propName; + + @Schema(description = "ProdPropRule 1:销售属性(规格); 2:参数属性;") + private Integer rule; + + @Schema(description = "店铺id", example = "2806") + private Long shopId; + + @Schema(description = "商品id", example = "21671") + private Integer prodId; + + @Schema(description = "是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValuePageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValuePageReqVO.java new file mode 100644 index 0000000..e70a613 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValuePageReqVO.java @@ -0,0 +1,23 @@ +package com.tashow.cloud.product.vo.prodpropvalue; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; + +@Schema(description = "管理后台 - 属性规则分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProdPropValuePageReqVO extends PageParam { + + @Schema(description = "属性值名称") + private String propValue; + + @Schema(description = "属性ID", example = "28282") + private Long propId; + + @Schema(description = "是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueRespVO.java new file mode 100644 index 0000000..3f3cf9e --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueRespVO.java @@ -0,0 +1,29 @@ +package com.tashow.cloud.product.vo.prodpropvalue; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 属性规则 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProdPropValueRespVO { + + @Schema(description = "属性值ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13799") + @ExcelProperty("属性值ID") + private Long valueId; + + @Schema(description = "属性值名称") + @ExcelProperty("属性值名称") + private String propValue; + + @Schema(description = "属性ID", example = "28282") + @ExcelProperty("属性ID") + private Long propId; + + @Schema(description = "是否删除0否1是") + @ExcelProperty("是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueSaveReqVO.java new file mode 100644 index 0000000..b1c93a3 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodpropvalue/ProdPropValueSaveReqVO.java @@ -0,0 +1,24 @@ +package com.tashow.cloud.product.vo.prodpropvalue; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 属性规则新增/修改 Request VO") +@Data +public class ProdPropValueSaveReqVO { + + @Schema(description = "属性值ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13799") + private Long valueId; + + @Schema(description = "属性值名称") + private String propValue; + + @Schema(description = "属性ID", example = "28282") + private Long propId; + + @Schema(description = "是否删除0否1是") + private Boolean isDelete; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java new file mode 100644 index 0000000..1539bd0 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigPageReqVO.java @@ -0,0 +1,57 @@ +package com.tashow.cloud.product.vo.prodreservationconfig; + +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 ProdReservationConfigPageReqVO extends PageParam { + + @Schema(description = "关联的商品ID", example = "19369") + private Long prodId; + + @Schema(description = "预约时段设置(JSON格式存储)") + private String reservationTimeSlots; + + @Schema(description = "需提前多少小时预约") + private Integer advanceHours; + + @Schema(description = "预约日期范围 7天 10天 15天 30天") + private Integer reservationDateRange; + + @Schema(description = "是否允许更改预约时间 1可以 0不可以") + private Boolean allowChange; + + @Schema(description = "更改预约时间的时间规则(如服务开始前1小时可更改)") + private Integer changeTimeRule; + + @Schema(description = "允许更改预约时间的最大次数") + private Integer maxChangeTimes; + + @Schema(description = "黑名自定义日期(JSON格式存储)") + private String blacklistedDates; + + @Schema(description = "黑名单指定日期(JSON格式存储)") + private String blackAppointDates; + + @Schema(description = "法定节假日是否开启0:关闭1开启") + private Boolean blackHappy; + + @Schema(description = "固定休息日周末是否开启0关闭1开启") + private Boolean blackWeekend; + + @Schema(description = "配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java new file mode 100644 index 0000000..406dd2d --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigRespVO.java @@ -0,0 +1,71 @@ +package com.tashow.cloud.product.vo.prodreservationconfig; + +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 ProdReservationConfigRespVO { + + @Schema(description = "预约配置的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "20606") + @ExcelProperty("预约配置的唯一标识符") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19369") + @ExcelProperty("关联的商品ID") + private Long prodId; + + @Schema(description = "预约时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("预约时段设置(JSON格式存储)") + private String reservationTimeSlots; + + @Schema(description = "需提前多少小时预约", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("需提前多少小时预约") + private Integer advanceHours; + + @Schema(description = "预约日期范围 7天 10天 15天 30天", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("预约日期范围 7天 10天 15天 30天") + private Integer reservationDateRange; + + @Schema(description = "是否允许更改预约时间 1可以 0不可以", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否允许更改预约时间 1可以 0不可以") + private Boolean allowChange; + + @Schema(description = "更改预约时间的时间规则(如服务开始前1小时可更改)") + @ExcelProperty("更改预约时间的时间规则(如服务开始前1小时可更改)") + private Integer changeTimeRule; + + @Schema(description = "允许更改预约时间的最大次数") + @ExcelProperty("允许更改预约时间的最大次数") + private Integer maxChangeTimes; + + @Schema(description = "黑名自定义日期(JSON格式存储)") + @ExcelProperty("黑名自定义日期(JSON格式存储)") + private String blacklistedDates; + + @Schema(description = "黑名单指定日期(JSON格式存储)") + @ExcelProperty("黑名单指定日期(JSON格式存储)") + private String blackAppointDates; + + @Schema(description = "法定节假日是否开启0:关闭1开启") + @ExcelProperty("法定节假日是否开启0:关闭1开启") + private Boolean blackHappy; + + @Schema(description = "固定休息日周末是否开启0关闭1开启") + @ExcelProperty("固定休息日周末是否开启0关闭1开启") + private Boolean blackWeekend; + + @Schema(description = "配置创建时间") + @ExcelProperty("配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + @ExcelProperty("配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java new file mode 100644 index 0000000..f3e8db7 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodreservationconfig/ProdReservationConfigSaveReqVO.java @@ -0,0 +1,61 @@ +package com.tashow.cloud.product.vo.prodreservationconfig; + +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 ProdReservationConfigSaveReqVO { + + @Schema(description = "预约配置的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "20606") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19369") + @NotNull(message = "关联的商品ID不能为空") + private Long prodId; + + @Schema(description = "预约时段设置(JSON格式存储)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "预约时段设置(JSON格式存储)不能为空") + private String reservationTimeSlots; + + @Schema(description = "需提前多少小时预约", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "需提前多少小时预约不能为空") + private Integer advanceHours; + + @Schema(description = "预约日期范围 7天 10天 15天 30天", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "预约日期范围 7天 10天 15天 30天不能为空") + private Integer reservationDateRange; + + @Schema(description = "是否允许更改预约时间 1可以 0不可以", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否允许更改预约时间 1可以 0不可以不能为空") + private Boolean allowChange; + + @Schema(description = "更改预约时间的时间规则(如服务开始前1小时可更改)") + private Integer changeTimeRule; + + @Schema(description = "允许更改预约时间的最大次数") + private Integer maxChangeTimes; + + @Schema(description = "黑名自定义日期(JSON格式存储)") + private String blacklistedDates; + + @Schema(description = "黑名单指定日期(JSON格式存储)") + private String blackAppointDates; + + @Schema(description = "法定节假日是否开启0:关闭1开启") + private Boolean blackHappy; + + @Schema(description = "固定休息日周末是否开启0关闭1开启") + private Boolean blackWeekend; + + @Schema(description = "配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevancePageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevancePageReqVO.java new file mode 100644 index 0000000..5db12e1 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevancePageReqVO.java @@ -0,0 +1,14 @@ +package com.tashow.cloud.product.vo.prodservicearearelevance; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; + +@Schema(description = "管理后台 - 商品与服务区域关联分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProdServiceAreaRelevancePageReqVO extends PageParam { + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceRespVO.java new file mode 100644 index 0000000..d32d6a5 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceRespVO.java @@ -0,0 +1,21 @@ +package com.tashow.cloud.product.vo.prodservicearearelevance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 商品与服务区域关联 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProdServiceAreaRelevanceRespVO { + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23588") + @ExcelProperty("关联的商品ID") + private Long prodId; + + @Schema(description = "关联的服务区域ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28293") + @ExcelProperty("关联的服务区域ID") + private Long areaId; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceSaveReqVO.java new file mode 100644 index 0000000..4952162 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodservicearearelevance/ProdServiceAreaRelevanceSaveReqVO.java @@ -0,0 +1,18 @@ +package com.tashow.cloud.product.vo.prodservicearearelevance; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 商品与服务区域关联新增/修改 Request VO") +@Data +public class ProdServiceAreaRelevanceSaveReqVO { + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23588") + private Long prodId; + + @Schema(description = "关联的服务区域ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28293") + private Long areaId; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasPageReqVO.java new file mode 100644 index 0000000..a8f653e --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasPageReqVO.java @@ -0,0 +1,25 @@ +package com.tashow.cloud.product.vo.prodserviceareas; + +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 ProdServiceAreasPageReqVO extends PageParam { + + @Schema(description = "服务区域名称(如台江区、鼓楼区)", example = "芋艿") + private String areaName; + + @Schema(description = "区域创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasRespVO.java new file mode 100644 index 0000000..90fb4f3 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasRespVO.java @@ -0,0 +1,27 @@ +package com.tashow.cloud.product.vo.prodserviceareas; + +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 ProdServiceAreasRespVO { + + @Schema(description = "服务区域的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "26474") + @ExcelProperty("服务区域的唯一标识符") + private Long id; + + @Schema(description = "服务区域名称(如台江区、鼓楼区)", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("服务区域名称(如台江区、鼓楼区)") + private String areaName; + + @Schema(description = "区域创建时间") + @ExcelProperty("区域创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasSaveReqVO.java new file mode 100644 index 0000000..c63d605 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceareas/ProdServiceAreasSaveReqVO.java @@ -0,0 +1,19 @@ +package com.tashow.cloud.product.vo.prodserviceareas; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 服务区域新增/修改 Request VO") +@Data +public class ProdServiceAreasSaveReqVO { + + @Schema(description = "服务区域的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "26474") + private Long id; + + @Schema(description = "服务区域名称(如台江区、鼓楼区)", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "服务区域名称(如台江区、鼓楼区)不能为空") + private String areaName; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesPageReqVO.java new file mode 100644 index 0000000..c509dfc --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesPageReqVO.java @@ -0,0 +1,34 @@ +package com.tashow.cloud.product.vo.prodserviceoverarearules; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; +import java.math.BigDecimal; +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 ProdServiceOverAreaRulesPageReqVO extends PageParam { + + @Schema(description = "关联的商品ID", example = "20133") + private Long prodId; + + @Schema(description = "超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费)", example = "1") + private Boolean ruleType; + + @Schema(description = "超区费用(仅在rule_type为accept_with_fee时有效)") + private BigDecimal fee; + + @Schema(description = "规则创建时间") + private LocalDateTime createdAt; + + @Schema(description = "规则最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesRespVO.java new file mode 100644 index 0000000..a4f55b2 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesRespVO.java @@ -0,0 +1,40 @@ +package com.tashow.cloud.product.vo.prodserviceoverarearules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 超区规则 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProdServiceOverAreaRulesRespVO { + + @Schema(description = "超区规则的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "32421") + @ExcelProperty("超区规则的唯一标识符") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20133") + @ExcelProperty("关联的商品ID") + private Long prodId; + + @Schema(description = "超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费)") + private Boolean ruleType; + + @Schema(description = "超区费用(仅在rule_type为accept_with_fee时有效)") + @ExcelProperty("超区费用(仅在rule_type为accept_with_fee时有效)") + private BigDecimal fee; + + @Schema(description = "规则创建时间") + @ExcelProperty("规则创建时间") + private LocalDateTime createdAt; + + @Schema(description = "规则最后更新时间") + @ExcelProperty("规则最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesSaveReqVO.java new file mode 100644 index 0000000..e62ce66 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodserviceoverarearules/ProdServiceOverAreaRulesSaveReqVO.java @@ -0,0 +1,35 @@ +package com.tashow.cloud.product.vo.prodserviceoverarearules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 超区规则新增/修改 Request VO") +@Data +public class ProdServiceOverAreaRulesSaveReqVO { + + @Schema(description = "超区规则的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "32421") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20133") + @NotNull(message = "关联的商品ID不能为空") + private Long prodId; + + @Schema(description = "超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "超区规则类型(0:拒单、2:接单并收取超区费、3:接单并免超区费)不能为空") + private Boolean ruleType; + + @Schema(description = "超区费用(仅在rule_type为accept_with_fee时有效)") + private BigDecimal fee; + + @Schema(description = "规则创建时间") + private LocalDateTime createdAt; + + @Schema(description = "规则最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsPageReqVO.java new file mode 100644 index 0000000..6bf6034 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsPageReqVO.java @@ -0,0 +1,22 @@ +package com.tashow.cloud.product.vo.prodtags; + +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 ProdTagsPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsRespVO.java new file mode 100644 index 0000000..e4694bc --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsRespVO.java @@ -0,0 +1,27 @@ +package com.tashow.cloud.product.vo.prodtags; + +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 ProdTagsRespVO { + + @Schema(description = "商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8574") + @ExcelProperty("商品id") + private Long productId; + + @Schema(description = "标签id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24317") + @ExcelProperty("标签id") + private Long tagId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsSaveReqVO.java new file mode 100644 index 0000000..a43c371 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodtags/ProdTagsSaveReqVO.java @@ -0,0 +1,18 @@ +package com.tashow.cloud.product.vo.prodtags; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 商品和标签管理新增/修改 Request VO") +@Data +public class ProdTagsSaveReqVO { + + @Schema(description = "商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8574") + private Long productId; + + @Schema(description = "标签id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24317") + private Long tagId; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitPageReqVO.java new file mode 100644 index 0000000..99ba638 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitPageReqVO.java @@ -0,0 +1,33 @@ +package com.tashow.cloud.product.vo.productorderlimit; + +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 ProductOrderLimitPageReqVO extends PageParam { + + @Schema(description = "关联的商品ID", example = "10171") + private Long prodId; + + @Schema(description = "限制单位'0:按自然天',1:'按自然周',2:'按自然月'") + private Boolean limitUnit; + + @Schema(description = "上限阈值") + private Integer maxOrders; + + @Schema(description = "配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitRespVO.java new file mode 100644 index 0000000..fd26956 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitRespVO.java @@ -0,0 +1,39 @@ +package com.tashow.cloud.product.vo.productorderlimit; + +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 ProductOrderLimitRespVO { + + @Schema(description = "接单上限配置的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "10334") + @ExcelProperty("接单上限配置的唯一标识符") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10171") + @ExcelProperty("关联的商品ID") + private Long prodId; + + @Schema(description = "限制单位'0:按自然天',1:'按自然周',2:'按自然月'", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("限制单位'0:按自然天',1:'按自然周',2:'按自然月'") + private Boolean limitUnit; + + @Schema(description = "上限阈值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("上限阈值") + private Integer maxOrders; + + @Schema(description = "配置创建时间") + @ExcelProperty("配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + @ExcelProperty("配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitSaveReqVO.java new file mode 100644 index 0000000..c7a5ead --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/productorderlimit/ProductOrderLimitSaveReqVO.java @@ -0,0 +1,35 @@ +package com.tashow.cloud.product.vo.productorderlimit; + +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 ProductOrderLimitSaveReqVO { + + @Schema(description = "接单上限配置的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "10334") + private Long id; + + @Schema(description = "关联的商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10171") + @NotNull(message = "关联的商品ID不能为空") + private Long prodId; + + @Schema(description = "限制单位'0:按自然天',1:'按自然周',2:'按自然月'", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "限制单位'0:按自然天',1:'按自然周',2:'按自然月'不能为空") + private Boolean limitUnit; + + @Schema(description = "上限阈值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "上限阈值不能为空") + private Integer maxOrders; + + @Schema(description = "配置创建时间") + private LocalDateTime createdAt; + + @Schema(description = "配置最后更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesPageReqVO.java new file mode 100644 index 0000000..d9a215f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesPageReqVO.java @@ -0,0 +1,37 @@ +package com.tashow.cloud.product.vo.prodweightrangeprices; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; +import java.math.BigDecimal; +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 ProdWeightRangePricesPageReqVO extends PageParam { + + @Schema(description = "关联的体重配置ID", example = "6754") + private Long prodId; + + @Schema(description = "体重区间") + private String weightRange; + + @Schema(description = "价格", example = "11575") + private BigDecimal price; + + @Schema(description = "是否启用该规则0否1是") + private Boolean isEnabled; + + @Schema(description = "创建时间") + private LocalDateTime createdAt; + + @Schema(description = "更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesRespVO.java new file mode 100644 index 0000000..4f6f46b --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesRespVO.java @@ -0,0 +1,44 @@ +package com.tashow.cloud.product.vo.prodweightrangeprices; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 体重区间价格 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProdWeightRangePricesRespVO { + + @Schema(description = "体重区间价格的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "26157") + @ExcelProperty("体重区间价格的唯一标识符") + private Long id; + + @Schema(description = "关联的体重配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6754") + @ExcelProperty("关联的体重配置ID") + private Long prodId; + + @Schema(description = "体重区间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("体重区间") + private String weightRange; + + @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11575") + @ExcelProperty("价格") + private BigDecimal price; + + @Schema(description = "是否启用该规则0否1是", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("是否启用该规则0否1是") + private Boolean isEnabled; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createdAt; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesSaveReqVO.java new file mode 100644 index 0000000..a1c34c9 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/prodweightrangeprices/ProdWeightRangePricesSaveReqVO.java @@ -0,0 +1,40 @@ +package com.tashow.cloud.product.vo.prodweightrangeprices; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 体重区间价格新增/修改 Request VO") +@Data +public class ProdWeightRangePricesSaveReqVO { + + @Schema(description = "体重区间价格的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "26157") + private Long id; + + @Schema(description = "关联的体重配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6754") + @NotNull(message = "关联的体重配置ID不能为空") + private Long prodId; + + @Schema(description = "体重区间", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "体重区间不能为空") + private String weightRange; + + @Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11575") + @NotNull(message = "价格不能为空") + private BigDecimal price; + + @Schema(description = "是否启用该规则0否1是", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否启用该规则0否1是不能为空") + private Boolean isEnabled; + + @Schema(description = "创建时间") + private LocalDateTime createdAt; + + @Schema(description = "更新时间") + private LocalDateTime updatedAt; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailPageReqVO.java new file mode 100644 index 0000000..939d6a7 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailPageReqVO.java @@ -0,0 +1,96 @@ +package com.tashow.cloud.product.vo.shopdetail; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; +import java.math.BigDecimal; +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 ShopDetailPageReqVO extends PageParam { + + @Schema(description = "店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一", example = "芋艿") + private String shopName; + + @Schema(description = "店长用户id", example = "15607") + private String userId; + + @Schema(description = "店铺类型", example = "2") + private Integer shopType; + + @Schema(description = "店铺简介(可修改)") + private String intro; + + @Schema(description = "店铺公告(可修改)") + private String shopNotice; + + @Schema(description = "店铺行业(餐饮、生鲜果蔬、鲜花等)") + private Integer shopIndustry; + + @Schema(description = "店长") + private String shopOwner; + + @Schema(description = "店铺绑定的手机(登录账号:唯一)") + private String mobile; + + @Schema(description = "店铺联系电话") + private String tel; + + @Schema(description = "店铺所在纬度(可修改)") + private String shopLat; + + @Schema(description = "店铺所在经度(可修改)") + private String shopLng; + + @Schema(description = "店铺详细地址") + private String shopAddress; + + @Schema(description = "店铺所在省份(描述)") + private String province; + + @Schema(description = "店铺所在城市(描述)") + private String city; + + @Schema(description = "店铺所在区域(描述)") + private String area; + + @Schema(description = "店铺省市区代码,用于回显") + private String pcaCode; + + @Schema(description = "店铺logo(可修改)") + private String shopLogo; + + @Schema(description = "店铺相册") + private String shopPhotos; + + @Schema(description = "每天营业时间段(可修改)") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] openTime; + + @Schema(description = "店铺状态(-1:未开通 0: 停业中 1:营业中),可修改", example = "2") + private Integer shopStatus; + + @Schema(description = "0:商家承担运费; 1:买家承担运费", example = "2") + private Integer transportType; + + @Schema(description = "固定运费") + private BigDecimal fixedFreight; + + @Schema(description = "满X包邮") + private BigDecimal fullFreeShipping; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "分销开关(0:开启 1:关闭)") + private Integer isDistribution; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailRespVO.java new file mode 100644 index 0000000..9278140 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailRespVO.java @@ -0,0 +1,120 @@ +package com.tashow.cloud.product.vo.shopdetail; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 店铺信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ShopDetailRespVO { + + @Schema(description = "店铺id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5101") + @ExcelProperty("店铺id") + private Long shopId; + + @Schema(description = "店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一", example = "芋艿") + @ExcelProperty("店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一") + private String shopName; + + @Schema(description = "店长用户id", example = "15607") + @ExcelProperty("店长用户id") + private String userId; + + @Schema(description = "店铺类型", example = "2") + @ExcelProperty("店铺类型") + private Integer shopType; + + @Schema(description = "店铺简介(可修改)") + @ExcelProperty("店铺简介(可修改)") + private String intro; + + @Schema(description = "店铺公告(可修改)") + @ExcelProperty("店铺公告(可修改)") + private String shopNotice; + + @Schema(description = "店铺行业(餐饮、生鲜果蔬、鲜花等)") + @ExcelProperty("店铺行业(餐饮、生鲜果蔬、鲜花等)") + private Integer shopIndustry; + + @Schema(description = "店长") + @ExcelProperty("店长") + private String shopOwner; + + @Schema(description = "店铺绑定的手机(登录账号:唯一)") + @ExcelProperty("店铺绑定的手机(登录账号:唯一)") + private String mobile; + + @Schema(description = "店铺联系电话") + @ExcelProperty("店铺联系电话") + private String tel; + + @Schema(description = "店铺所在纬度(可修改)") + @ExcelProperty("店铺所在纬度(可修改)") + private String shopLat; + + @Schema(description = "店铺所在经度(可修改)") + @ExcelProperty("店铺所在经度(可修改)") + private String shopLng; + + @Schema(description = "店铺详细地址") + @ExcelProperty("店铺详细地址") + private String shopAddress; + + @Schema(description = "店铺所在省份(描述)") + @ExcelProperty("店铺所在省份(描述)") + private String province; + + @Schema(description = "店铺所在城市(描述)") + @ExcelProperty("店铺所在城市(描述)") + private String city; + + @Schema(description = "店铺所在区域(描述)") + @ExcelProperty("店铺所在区域(描述)") + private String area; + + @Schema(description = "店铺省市区代码,用于回显") + @ExcelProperty("店铺省市区代码,用于回显") + private String pcaCode; + + @Schema(description = "店铺logo(可修改)") + @ExcelProperty("店铺logo(可修改)") + private String shopLogo; + + @Schema(description = "店铺相册") + @ExcelProperty("店铺相册") + private String shopPhotos; + + @Schema(description = "每天营业时间段(可修改)") + @ExcelProperty("每天营业时间段(可修改)") + private String openTime; + + @Schema(description = "店铺状态(-1:未开通 0: 停业中 1:营业中),可修改", example = "2") + @ExcelProperty("店铺状态(-1:未开通 0: 停业中 1:营业中),可修改") + private Integer shopStatus; + + @Schema(description = "0:商家承担运费; 1:买家承担运费", example = "2") + @ExcelProperty("0:商家承担运费; 1:买家承担运费") + private Integer transportType; + + @Schema(description = "固定运费") + @ExcelProperty("固定运费") + private BigDecimal fixedFreight; + + @Schema(description = "满X包邮") + @ExcelProperty("满X包邮") + private BigDecimal fullFreeShipping; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "分销开关(0:开启 1:关闭)") + @ExcelProperty("分销开关(0:开启 1:关闭)") + private Integer isDistribution; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailSaveReqVO.java new file mode 100644 index 0000000..5d64c4e --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/shopdetail/ShopDetailSaveReqVO.java @@ -0,0 +1,88 @@ +package com.tashow.cloud.product.vo.shopdetail; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 店铺信息新增/修改 Request VO") +@Data +public class ShopDetailSaveReqVO { + + @Schema(description = "店铺id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5101") + private Long shopId; + + @Schema(description = "店铺名称(数字、中文,英文(可混合,不可有特殊字符),可修改)、不唯一", example = "芋艿") + private String shopName; + + @Schema(description = "店长用户id", example = "15607") + private String userId; + + @Schema(description = "店铺类型", example = "2") + private Integer shopType; + + @Schema(description = "店铺简介(可修改)") + private String intro; + + @Schema(description = "店铺公告(可修改)") + private String shopNotice; + + @Schema(description = "店铺行业(餐饮、生鲜果蔬、鲜花等)") + private Integer shopIndustry; + + @Schema(description = "店长") + private String shopOwner; + + @Schema(description = "店铺绑定的手机(登录账号:唯一)") + private String mobile; + + @Schema(description = "店铺联系电话") + private String tel; + + @Schema(description = "店铺所在纬度(可修改)") + private String shopLat; + + @Schema(description = "店铺所在经度(可修改)") + private String shopLng; + + @Schema(description = "店铺详细地址") + private String shopAddress; + + @Schema(description = "店铺所在省份(描述)") + private String province; + + @Schema(description = "店铺所在城市(描述)") + private String city; + + @Schema(description = "店铺所在区域(描述)") + private String area; + + @Schema(description = "店铺省市区代码,用于回显") + private String pcaCode; + + @Schema(description = "店铺logo(可修改)") + private String shopLogo; + + @Schema(description = "店铺相册") + private String shopPhotos; + + @Schema(description = "每天营业时间段(可修改)") + private String openTime; + + @Schema(description = "店铺状态(-1:未开通 0: 停业中 1:营业中),可修改", example = "2") + private Integer shopStatus; + + @Schema(description = "0:商家承担运费; 1:买家承担运费", example = "2") + private Integer transportType; + + @Schema(description = "固定运费") + private BigDecimal fixedFreight; + + @Schema(description = "满X包邮") + private BigDecimal fullFreeShipping; + + @Schema(description = "分销开关(0:开启 1:关闭)") + private Integer isDistribution; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuPageReqVO.java new file mode 100644 index 0000000..f4009cc --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuPageReqVO.java @@ -0,0 +1,98 @@ +package com.tashow.cloud.product.vo.sku; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; +import java.math.BigDecimal; +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 SkuPageReqVO extends PageParam { + + @Schema(description = "商品ID", example = "18784") + private Long prodId; + + @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2") + private String properties; + + @Schema(description = "别名") + private String alias; + + @Schema(description = "价格", example = "32405") + private BigDecimal price; + + @Schema(description = "最低价格", example = "5040") + private BigDecimal minPrice; + + @Schema(description = "最高价格", example = "11547") + private BigDecimal maxPrice; + + @Schema(description = "成本价", example = "28062") + private BigDecimal originalPrice; + + @Schema(description = "市场价", example = "11547") + private BigDecimal marketPrice; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "0:主服务1:待定", example = "1") + private Integer type; + + @Schema(description = "概述") + private String overview; + + @Schema(description = "库存") + private Integer stocks; + + @Schema(description = "预警库存") + private Integer warnStocks; + + @Schema(description = "库存扣款时机0:付款扣1:下单扣", example = "1") + private Boolean stocksType; + + @Schema(description = "sku编码") + private String skuCode; + + @Schema(description = "商品条形码", example = "14390") + private String modelId; + + @Schema(description = "sku图片") + private String pic; + + @Schema(description = "sku名称", example = "张三") + private String skuName; + + @Schema(description = "商品名称", example = "芋艿") + private String prodName; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "商品重量") + private Double weight; + + @Schema(description = "商品体积") + private Double volume; + + @Schema(description = "0 禁用 1 启用", example = "1") + private Integer status; + + @Schema(description = "0 正常 1 已被删除") + private Integer isDelete; + + @Schema(description = "最小购买数量") + private Integer moq; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuRespVO.java new file mode 100644 index 0000000..a1db220 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuRespVO.java @@ -0,0 +1,124 @@ +package com.tashow.cloud.product.vo.sku; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 单品SKU Response VO") +@Data +@ExcelIgnoreUnannotated +public class SkuRespVO { + + @Schema(description = "单品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32230") + @ExcelProperty("单品ID") + private Long skuId; + + @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18784") + @ExcelProperty("商品ID") + private Long prodId; + + @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2") + @ExcelProperty("销售属性组合字符串 格式是p1:v1;p2:v2") + private String properties; + + @Schema(description = "别名") + @ExcelProperty("别名") + private String alias; + + @Schema(description = "价格", example = "32405") + @ExcelProperty("价格") + private BigDecimal price; + + @Schema(description = "最低价格", example = "5040") + @ExcelProperty("最低价格") + private BigDecimal minPrice; + + @Schema(description = "最高价格", example = "11547") + @ExcelProperty("最高价格") + private BigDecimal maxPrice; + + @Schema(description = "成本价", example = "28062") + @ExcelProperty("成本价") + private BigDecimal originalPrice; + + @Schema(description = "市场价", example = "11547") + @ExcelProperty("市场价") + private BigDecimal marketPrice; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "0:主服务1:待定", example = "1") + @ExcelProperty("0:主服务1:待定") + private Integer type; + + @Schema(description = "概述") + @ExcelProperty("概述") + private String overview; + + @Schema(description = "库存") + @ExcelProperty("库存") + private Integer stocks; + + @Schema(description = "预警库存") + @ExcelProperty("预警库存") + private Integer warnStocks; + + @Schema(description = "库存扣款时机0:付款扣1:下单扣", example = "1") + @ExcelProperty("库存扣款时机0:付款扣1:下单扣") + private Boolean stocksType; + + @Schema(description = "sku编码") + @ExcelProperty("sku编码") + private String skuCode; + + @Schema(description = "商品条形码", example = "14390") + @ExcelProperty("商品条形码") + private String modelId; + + @Schema(description = "sku图片") + @ExcelProperty("sku图片") + private String pic; + + @Schema(description = "sku名称", example = "张三") + @ExcelProperty("sku名称") + private String skuName; + + @Schema(description = "商品名称", example = "芋艿") + @ExcelProperty("商品名称") + private String prodName; + + @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("版本号") + private Integer version; + + @Schema(description = "商品重量") + @ExcelProperty("商品重量") + private Double weight; + + @Schema(description = "商品体积") + @ExcelProperty("商品体积") + private Double volume; + + @Schema(description = "0 禁用 1 启用", example = "1") + @ExcelProperty("0 禁用 1 启用") + private Integer status; + + @Schema(description = "0 正常 1 已被删除") + @ExcelProperty("0 正常 1 已被删除") + private Integer isDelete; + + @Schema(description = "最小购买数量") + @ExcelProperty("最小购买数量") + private Integer moq; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuSaveReqVO.java new file mode 100644 index 0000000..387b10d --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/sku/SkuSaveReqVO.java @@ -0,0 +1,93 @@ +package com.tashow.cloud.product.vo.sku; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 单品SKU新增/修改 Request VO") +@Data +public class SkuSaveReqVO { + + @Schema(description = "单品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32230") + private Long skuId; + + @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18784") + @NotNull(message = "商品ID不能为空") + private Long prodId; + + @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2") + private String properties; + + @Schema(description = "别名") + private String alias; + + @Schema(description = "价格", example = "32405") + private BigDecimal price; + + @Schema(description = "最低价格", example = "5040") + private BigDecimal minPrice; + + @Schema(description = "最高价格", example = "11547") + private BigDecimal maxPrice; + + @Schema(description = "成本价", example = "28062") + private BigDecimal originalPrice; + + @Schema(description = "市场价", example = "11547") + private BigDecimal marketPrice; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "0:主服务1:待定", example = "1") + private Integer type; + + @Schema(description = "概述") + private String overview; + + @Schema(description = "库存") + private Integer stocks; + + @Schema(description = "预警库存") + private Integer warnStocks; + + @Schema(description = "库存扣款时机0:付款扣1:下单扣", example = "1") + private Boolean stocksType; + + @Schema(description = "sku编码") + private String skuCode; + + @Schema(description = "商品条形码", example = "14390") + private String modelId; + + @Schema(description = "sku图片") + private String pic; + + @Schema(description = "sku名称", example = "张三") + private String skuName; + + @Schema(description = "商品名称", example = "芋艿") + private String prodName; + + @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "版本号不能为空") + private Integer version; + + @Schema(description = "商品重量") + private Double weight; + + @Schema(description = "商品体积") + private Double volume; + + @Schema(description = "0 禁用 1 启用", example = "1") + private Integer status; + + @Schema(description = "0 正常 1 已被删除") + private Integer isDelete; + + @Schema(description = "最小购买数量") + private Integer moq; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverPageReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverPageReqVO.java new file mode 100644 index 0000000..96a8451 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverPageReqVO.java @@ -0,0 +1,52 @@ +package com.tashow.cloud.product.vo.skuservicedeliver; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.tashow.cloud.common.pojo.PageParam; +import java.math.BigDecimal; +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 SkuServiceDeliverPageReqVO extends PageParam { + + @Schema(description = "关联的扩展服务ID", example = "27072") + private Long serviceId; + + @Schema(description = "交互方式0:快递物流 1:到店自提 2:商家自送", example = "2") + private Boolean type; + + @Schema(description = "价格", example = "23915") + private BigDecimal price; + + @Schema(description = "是否收费0:免费1收费") + private Boolean isCharge; + + @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; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverRespVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverRespVO.java new file mode 100644 index 0000000..2a16d98 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverRespVO.java @@ -0,0 +1,64 @@ +package com.tashow.cloud.product.vo.skuservicedeliver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 服务交付方式 Response VO") +@Data +@ExcelIgnoreUnannotated +public class SkuServiceDeliverRespVO { + + @Schema(description = "服务遗体运输唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "12984") + @ExcelProperty("服务遗体运输唯一标识符") + private Long id; + + @Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27072") + @ExcelProperty("关联的扩展服务ID") + private Long serviceId; + + @Schema(description = "交互方式0:快递物流 1:到店自提 2:商家自送", example = "2") + @ExcelProperty("交互方式0:快递物流 1:到店自提 2:商家自送") + private Boolean type; + + @Schema(description = "价格", example = "23915") + @ExcelProperty("价格") + private BigDecimal price; + + @Schema(description = "是否收费0:免费1收费") + @ExcelProperty("是否收费0:免费1收费") + private Boolean isCharge; + + @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; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverSaveReqVO.java b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverSaveReqVO.java new file mode 100644 index 0000000..39f8101 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/java/com/tashow/cloud/product/vo/skuservicedeliver/SkuServiceDeliverSaveReqVO.java @@ -0,0 +1,54 @@ +package com.tashow.cloud.product.vo.skuservicedeliver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 服务交付方式新增/修改 Request VO") +@Data +public class SkuServiceDeliverSaveReqVO { + + @Schema(description = "服务遗体运输唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "12984") + private Long id; + + @Schema(description = "关联的扩展服务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27072") + @NotNull(message = "关联的扩展服务ID不能为空") + private Long serviceId; + + @Schema(description = "交互方式0:快递物流 1:到店自提 2:商家自送", example = "2") + private Boolean type; + + @Schema(description = "价格", example = "23915") + private BigDecimal price; + + @Schema(description = "是否收费0:免费1收费") + private Boolean isCharge; + + @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; + +} \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdEmergencyResponseIntervalsMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdEmergencyResponseIntervalsMapper.xml new file mode 100644 index 0000000..48ab32c --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdEmergencyResponseIntervalsMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropMapper.xml new file mode 100644 index 0000000..0450b57 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropValueMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropValueMapper.xml new file mode 100644 index 0000000..2cde235 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdPropValueMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdReservationConfigMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdReservationConfigMapper.xml new file mode 100644 index 0000000..e63b0dd --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdReservationConfigMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreaRelevanceMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreaRelevanceMapper.xml new file mode 100644 index 0000000..4462eb4 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreaRelevanceMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreasMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreasMapper.xml new file mode 100644 index 0000000..c9c6983 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceAreasMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceOverAreaRulesMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceOverAreaRulesMapper.xml new file mode 100644 index 0000000..f9d6186 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdServiceOverAreaRulesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdTagsMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdTagsMapper.xml new file mode 100644 index 0000000..31b83fe --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdTagsMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdWeightRangePricesMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdWeightRangePricesMapper.xml new file mode 100644 index 0000000..497aa0f --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProdWeightRangePricesMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProductOrderLimitMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProductOrderLimitMapper.xml new file mode 100644 index 0000000..080f880 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ProductOrderLimitMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/ShopDetailMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ShopDetailMapper.xml new file mode 100644 index 0000000..e7edae8 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/ShopDetailMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuMapper.xml new file mode 100644 index 0000000..cd6f22a --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuServiceDeliverMapper.xml b/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuServiceDeliverMapper.xml new file mode 100644 index 0000000..55f1873 --- /dev/null +++ b/tashow-module/tashow-module-product/src/main/resources/mapper/product/SkuServiceDeliverMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file