Commit 894b19b8ec1526b8d8cfb3a6b64889a1f948733c
1 parent
f8db5389
新增自提门店管理
Showing
14 changed files
with
596 additions
and
30 deletions
sql/mysql/optional/mall.sql
| @@ -389,18 +389,18 @@ CREATE TABLE `trade_delivery_express_template_charge` ( | @@ -389,18 +389,18 @@ CREATE TABLE `trade_delivery_express_template_charge` ( | ||
| 389 | -- ---------------------------- | 389 | -- ---------------------------- |
| 390 | DROP TABLE IF EXISTS `trade_delivery_pick_up_store`; | 390 | DROP TABLE IF EXISTS `trade_delivery_pick_up_store`; |
| 391 | CREATE TABLE `trade_delivery_pick_up_store` ( | 391 | CREATE TABLE `trade_delivery_pick_up_store` ( |
| 392 | - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号,自增', | 392 | + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', |
| 393 | `name` varchar(64) NOT NULL COMMENT '门店名称', | 393 | `name` varchar(64) NOT NULL COMMENT '门店名称', |
| 394 | `introduction` varchar(256) COMMENT '门店简介', | 394 | `introduction` varchar(256) COMMENT '门店简介', |
| 395 | `phone` varchar(16) NOT NULL COMMENT '门店手机', | 395 | `phone` varchar(16) NOT NULL COMMENT '门店手机', |
| 396 | - `area_id` int NOT NULL COMMENT '区域id', | 396 | + `area_id` int NOT NULL COMMENT '区域编号', |
| 397 | `detail_address` varchar(256) NOT NULL COMMENT '门店详细地址', | 397 | `detail_address` varchar(256) NOT NULL COMMENT '门店详细地址', |
| 398 | - `logo` varchar(256) NOT NULL COMMENT '门店logo', | 398 | + `logo` varchar(256) NOT NULL COMMENT '门店 logo', |
| 399 | `opening_time` time NOT NULL COMMENT '营业开始时间', | 399 | `opening_time` time NOT NULL COMMENT '营业开始时间', |
| 400 | `closing_time` time NOT NULL COMMENT '营业结束时间', | 400 | `closing_time` time NOT NULL COMMENT '营业结束时间', |
| 401 | - `latitude` varchar(128) NOT NULL COMMENT '纬度', | ||
| 402 | - `longitude` varchar(128) NOT NULL COMMENT '经度', | ||
| 403 | - `status` tinyint NOT NULL DEFAULT 0 COMMENT '门店状态(0正常 1停用)', | 401 | + `latitude` double NOT NULL COMMENT '纬度', |
| 402 | + `longitude` double NOT NULL COMMENT '经度', | ||
| 403 | + `status` tinyint NOT NULL DEFAULT 0 COMMENT '门店状态', | ||
| 404 | `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | 404 | `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', |
| 405 | `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | 405 | `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| 406 | `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | 406 | `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', |
| @@ -428,25 +428,6 @@ CREATE TABLE `trade_delivery_pick_up_store_staff` ( | @@ -428,25 +428,6 @@ CREATE TABLE `trade_delivery_pick_up_store_staff` ( | ||
| 428 | ) ENGINE=InnoDB COMMENT='自提门店店员'; | 428 | ) ENGINE=InnoDB COMMENT='自提门店店员'; |
| 429 | 429 | ||
| 430 | -- ---------------------------- | 430 | -- ---------------------------- |
| 431 | --- Table structure for trade_delivery_pick_up_store_staff | ||
| 432 | --- ---------------------------- | ||
| 433 | -DROP TABLE IF EXISTS `trade_delivery_pick_up_store_staff`; | ||
| 434 | -CREATE TABLE `trade_delivery_pick_up_store_staff` ( | ||
| 435 | - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号,自增', | ||
| 436 | - `admin_user_id` bigint NOT NULL COMMENT '管理员用户id', | ||
| 437 | - store_id bigint NOT NULL COMMENT '自提门店编号', | ||
| 438 | - `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)', | ||
| 439 | - `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | ||
| 440 | - `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 441 | - `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | ||
| 442 | - `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 443 | - `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | ||
| 444 | - `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | ||
| 445 | - PRIMARY KEY (`id`) USING BTREE | ||
| 446 | -) ENGINE=InnoDB COMMENT='自提门店店员'; | ||
| 447 | - | ||
| 448 | - | ||
| 449 | --- ---------------------------- | ||
| 450 | -- Table structure for trade_delivery_express | 431 | -- Table structure for trade_delivery_express |
| 451 | -- ---------------------------- | 432 | -- ---------------------------- |
| 452 | DROP TABLE IF EXISTS `trade_delivery_express`; | 433 | DROP TABLE IF EXISTS `trade_delivery_express`; |
| @@ -541,3 +522,15 @@ INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, | @@ -541,3 +522,15 @@ INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, | ||
| 541 | INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1236, 1, '按重量', '2', 'trade_delivery_express_charge_mode', 0, '', '', '', '1', '2023-05-21 22:46:58', '1', '2023-05-21 22:46:58', b'0'); | 522 | INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1236, 1, '按重量', '2', 'trade_delivery_express_charge_mode', 0, '', '', '', '1', '2023-05-21 22:46:58', '1', '2023-05-21 22:46:58', b'0'); |
| 542 | INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1235, 0, '按件', '1', 'trade_delivery_express_charge_mode', 0, '', '', '', '1', '2023-05-21 22:46:40', '1', '2023-05-21 22:46:40', b'0'); | 523 | INSERT INTO `ruoyi-vue-pro`.`system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1235, 0, '按件', '1', 'trade_delivery_express_charge_mode', 0, '', '', '', '1', '2023-05-21 22:46:40', '1', '2023-05-21 22:46:40', b'0'); |
| 543 | COMMIT; | 524 | COMMIT; |
| 525 | + | ||
| 526 | +-- ---------------------------- | ||
| 527 | +-- 门店管理 菜单 | ||
| 528 | +-- ---------------------------- | ||
| 529 | +BEGIN; | ||
| 530 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2179, '门店管理', '', 2, 1, 2166, 'pick-up-store', '', 'mall/trade/delivery/pickUpStore/index', 'PickUpStore', 0, b'1', b'1', b'1', '1', '2023-05-25 10:50:00', '1', '2023-05-25 10:50:00', b'0'); | ||
| 531 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2180, '自提门店查询', 'trade:delivery:pick-up-store:query', 3, 1, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0'); | ||
| 532 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2181, '自提门店创建', 'trade:delivery:pick-up-store:create', 3, 2, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0'); | ||
| 533 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2182, '自提门店更新', 'trade:delivery:pick-up-store:update', 3, 3, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0'); | ||
| 534 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2183, '自提门店删除', 'trade:delivery:pick-up-store:delete', 3, 4, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0'); | ||
| 535 | +INSERT INTO `ruoyi-vue-pro`.`system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2184, '自提门店导出', 'trade:delivery:pick-up-store:export', 3, 5, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0'); | ||
| 536 | +COMMIT; |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/DeliveryPickUpStoreController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||
| 6 | +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||
| 7 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.*; | ||
| 8 | +import cn.iocoder.yudao.module.trade.convert.delivery.DeliveryPickUpStoreConvert; | ||
| 9 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | ||
| 10 | +import cn.iocoder.yudao.module.trade.service.delivery.DeliveryPickUpStoreService; | ||
| 11 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 12 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 13 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 14 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 15 | +import org.springframework.validation.annotation.Validated; | ||
| 16 | +import org.springframework.web.bind.annotation.*; | ||
| 17 | + | ||
| 18 | +import javax.annotation.Resource; | ||
| 19 | +import javax.servlet.http.HttpServletResponse; | ||
| 20 | +import javax.validation.Valid; | ||
| 21 | +import java.io.IOException; | ||
| 22 | +import java.util.Collection; | ||
| 23 | +import java.util.List; | ||
| 24 | + | ||
| 25 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 26 | +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | ||
| 27 | + | ||
| 28 | +@Tag(name = "管理后台 - 自提门店") | ||
| 29 | +@RestController | ||
| 30 | +@RequestMapping("/trade/delivery/pick-up-store") | ||
| 31 | +@Validated | ||
| 32 | +public class DeliveryPickUpStoreController { | ||
| 33 | + | ||
| 34 | + @Resource | ||
| 35 | + private DeliveryPickUpStoreService deliveryPickUpStoreService; | ||
| 36 | + | ||
| 37 | + @PostMapping("/create") | ||
| 38 | + @Operation(summary = "创建自提门店") | ||
| 39 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:create')") | ||
| 40 | + public CommonResult<Long> createDeliveryPickUpStore(@Valid @RequestBody DeliveryPickUpStoreCreateReqVO createReqVO) { | ||
| 41 | + return success(deliveryPickUpStoreService.createDeliveryPickUpStore(createReqVO)); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + @PutMapping("/update") | ||
| 45 | + @Operation(summary = "更新自提门店") | ||
| 46 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:update')") | ||
| 47 | + public CommonResult<Boolean> updateDeliveryPickUpStore(@Valid @RequestBody DeliveryPickUpStoreUpdateReqVO updateReqVO) { | ||
| 48 | + deliveryPickUpStoreService.updateDeliveryPickUpStore(updateReqVO); | ||
| 49 | + return success(true); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + @DeleteMapping("/delete") | ||
| 53 | + @Operation(summary = "删除自提门店") | ||
| 54 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 55 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:delete')") | ||
| 56 | + public CommonResult<Boolean> deleteDeliveryPickUpStore(@RequestParam("id") Long id) { | ||
| 57 | + deliveryPickUpStoreService.deleteDeliveryPickUpStore(id); | ||
| 58 | + return success(true); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + @GetMapping("/get") | ||
| 62 | + @Operation(summary = "获得自提门店") | ||
| 63 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 64 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:query')") | ||
| 65 | + public CommonResult<DeliveryPickUpStoreRespVO> getDeliveryPickUpStore(@RequestParam("id") Long id) { | ||
| 66 | + DeliveryPickUpStoreDO deliveryPickUpStore = deliveryPickUpStoreService.getDeliveryPickUpStore(id); | ||
| 67 | + return success(DeliveryPickUpStoreConvert.INSTANCE.convert(deliveryPickUpStore)); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + @GetMapping("/list") | ||
| 71 | + @Operation(summary = "获得自提门店列表") | ||
| 72 | + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") | ||
| 73 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:query')") | ||
| 74 | + public CommonResult<List<DeliveryPickUpStoreRespVO>> getDeliveryPickUpStoreList(@RequestParam("ids") Collection<Long> ids) { | ||
| 75 | + List<DeliveryPickUpStoreDO> list = deliveryPickUpStoreService.getDeliveryPickUpStoreList(ids); | ||
| 76 | + return success(DeliveryPickUpStoreConvert.INSTANCE.convertList(list)); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + @GetMapping("/page") | ||
| 80 | + @Operation(summary = "获得自提门店分页") | ||
| 81 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:query')") | ||
| 82 | + public CommonResult<PageResult<DeliveryPickUpStoreRespVO>> getDeliveryPickUpStorePage(@Valid DeliveryPickUpStorePageReqVO pageVO) { | ||
| 83 | + PageResult<DeliveryPickUpStoreDO> pageResult = deliveryPickUpStoreService.getDeliveryPickUpStorePage(pageVO); | ||
| 84 | + return success(DeliveryPickUpStoreConvert.INSTANCE.convertPage(pageResult)); | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + @GetMapping("/export-excel") | ||
| 88 | + @Operation(summary = "导出自提门店 Excel") | ||
| 89 | + @PreAuthorize("@ss.hasPermission('trade:delivery:pick-up-store:export')") | ||
| 90 | + @OperateLog(type = EXPORT) | ||
| 91 | + public void exportDeliveryPickUpStoreExcel(@Valid DeliveryPickUpStoreExportReqVO exportReqVO, | ||
| 92 | + HttpServletResponse response) throws IOException { | ||
| 93 | + List<DeliveryPickUpStoreDO> list = deliveryPickUpStoreService.getDeliveryPickUpStoreList(exportReqVO); | ||
| 94 | + // 导出 Excel | ||
| 95 | + List<DeliveryPickUpStoreExcelVO> datas = DeliveryPickUpStoreConvert.INSTANCE.convertList02(list); | ||
| 96 | + ExcelUtils.write(response, "自提门店.xls", "数据", DeliveryPickUpStoreExcelVO.class, datas); | ||
| 97 | + } | ||
| 98 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreBaseVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 4 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 5 | +import cn.iocoder.yudao.framework.common.validation.Mobile; | ||
| 6 | +import com.fasterxml.jackson.annotation.JsonFormat; | ||
| 7 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 8 | +import lombok.Data; | ||
| 9 | + | ||
| 10 | +import javax.validation.constraints.NotBlank; | ||
| 11 | +import javax.validation.constraints.NotNull; | ||
| 12 | +import java.time.LocalTime; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | +* 自提门店 Base VO,提供给添加、修改、详细的子 VO 使用 | ||
| 16 | +* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 | ||
| 17 | +*/ | ||
| 18 | +@Data | ||
| 19 | +public class DeliveryPickUpStoreBaseVO { | ||
| 20 | + | ||
| 21 | + @Schema(description = "门店名称", required = true, example = "李四") | ||
| 22 | + @NotBlank(message = "门店名称不能为空") | ||
| 23 | + private String name; | ||
| 24 | + | ||
| 25 | + @Schema(description = "门店简介") | ||
| 26 | + private String introduction; | ||
| 27 | + | ||
| 28 | + @Schema(description = "门店手机", required = true) | ||
| 29 | + @NotBlank(message = "门店手机不能为空") | ||
| 30 | + @Mobile | ||
| 31 | + private String phone; | ||
| 32 | + | ||
| 33 | + @Schema(description = "区域编号", required = true, example = "18733") | ||
| 34 | + @NotNull(message = "区域编号不能为空") | ||
| 35 | + private Integer areaId; | ||
| 36 | + | ||
| 37 | + @Schema(description = "门店详细地址", required = true) | ||
| 38 | + @NotBlank(message = "门店详细地址不能为空") | ||
| 39 | + private String detailAddress; | ||
| 40 | + | ||
| 41 | + @Schema(description = "门店 logo", required = true) | ||
| 42 | + @NotBlank(message = "门店 logo 不能为空") | ||
| 43 | + private String logo; | ||
| 44 | + | ||
| 45 | + @Schema(description = "营业开始时间", required = true) | ||
| 46 | + @NotNull(message = "营业开始时间不能为空") | ||
| 47 | + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") | ||
| 48 | + private LocalTime openingTime; | ||
| 49 | + | ||
| 50 | + @Schema(description = "营业结束时间", required = true) | ||
| 51 | + @NotNull(message = "营业结束时间不能为空") | ||
| 52 | + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm") | ||
| 53 | + private LocalTime closingTime; | ||
| 54 | + | ||
| 55 | + @Schema(description = "纬度", required = true) | ||
| 56 | + @NotNull(message = "纬度不能为空") | ||
| 57 | + private Double latitude; | ||
| 58 | + | ||
| 59 | + @Schema(description = "经度", required = true) | ||
| 60 | + @NotNull(message = "经度不能为空") | ||
| 61 | + private Double longitude; | ||
| 62 | + | ||
| 63 | + @Schema(description = "门店状态", required = true, example = "1") | ||
| 64 | + @NotNull(message = "门店状态不能为空") | ||
| 65 | + @InEnum(CommonStatusEnum.class) | ||
| 66 | + private Integer status; | ||
| 67 | + | ||
| 68 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreCreateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@Schema(description = "管理后台 - 自提门店创建 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class DeliveryPickUpStoreCreateReqVO extends DeliveryPickUpStoreBaseVO { | ||
| 13 | + | ||
| 14 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreExcelVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; | ||
| 4 | +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; | ||
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | ||
| 6 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +@Data | ||
| 12 | +public class DeliveryPickUpStoreExcelVO { | ||
| 13 | + | ||
| 14 | + @ExcelProperty("编号") | ||
| 15 | + private Long id; | ||
| 16 | + | ||
| 17 | + @ExcelProperty("门店名称") | ||
| 18 | + private String name; | ||
| 19 | + | ||
| 20 | + @ExcelProperty("门店简介") | ||
| 21 | + private String introduction; | ||
| 22 | + | ||
| 23 | + @ExcelProperty("门店手机") | ||
| 24 | + private String phone; | ||
| 25 | + | ||
| 26 | + @ExcelProperty("门店所在区域") | ||
| 27 | + private String areaName; | ||
| 28 | + | ||
| 29 | + @ExcelProperty("门店详细地址") | ||
| 30 | + private String detailAddress; | ||
| 31 | + | ||
| 32 | + @ExcelProperty("门店logo") | ||
| 33 | + private String logo; | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * easy-excel 好像暂时不支持 LocalTime. 转成string | ||
| 37 | + */ | ||
| 38 | + @ExcelProperty("营业开始时间") | ||
| 39 | + private String openingTime; | ||
| 40 | + | ||
| 41 | + @ExcelProperty("营业结束时间") | ||
| 42 | + private String closingTime; | ||
| 43 | + | ||
| 44 | + @ExcelProperty("纬度") | ||
| 45 | + private String latitude; | ||
| 46 | + | ||
| 47 | + @ExcelProperty("经度") | ||
| 48 | + private String longitude; | ||
| 49 | + | ||
| 50 | + @ExcelProperty(value = "状态", converter = DictConvert.class) | ||
| 51 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | ||
| 52 | + private Integer status; | ||
| 53 | + | ||
| 54 | + @ExcelProperty("创建时间") | ||
| 55 | + private LocalDateTime createTime; | ||
| 56 | + | ||
| 57 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreExportReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 4 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import lombok.Data; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | + | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 自提门店 Excel 导出 Request VO,参数和 DeliveryPickUpStorePageReqVO 是一致的") | ||
| 14 | +@Data | ||
| 15 | +public class DeliveryPickUpStoreExportReqVO { | ||
| 16 | + | ||
| 17 | + @Schema(description = "门店名称", example = "李四") | ||
| 18 | + private String name; | ||
| 19 | + | ||
| 20 | + @Schema(description = "门店手机") | ||
| 21 | + private String phone; | ||
| 22 | + | ||
| 23 | + @Schema(description = "区域id", example = "18733") | ||
| 24 | + private Integer areaId; | ||
| 25 | + | ||
| 26 | + @Schema(description = "门店状态", example = "1") | ||
| 27 | + @InEnum(CommonStatusEnum.class) | ||
| 28 | + private Integer status; | ||
| 29 | + | ||
| 30 | + @Schema(description = "创建时间") | ||
| 31 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 32 | + private LocalDateTime[] createTime; | ||
| 33 | + | ||
| 34 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStorePageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 4 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.time.LocalTime; | ||
| 8 | +import java.util.*; | ||
| 9 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 10 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 11 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 12 | +import java.time.LocalDateTime; | ||
| 13 | + | ||
| 14 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND; | ||
| 15 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 16 | + | ||
| 17 | +@Schema(description = "管理后台 - 自提门店分页 Request VO") | ||
| 18 | +@Data | ||
| 19 | +@EqualsAndHashCode(callSuper = true) | ||
| 20 | +@ToString(callSuper = true) | ||
| 21 | +public class DeliveryPickUpStorePageReqVO extends PageParam { | ||
| 22 | + | ||
| 23 | + @Schema(description = "门店名称", example = "李四") | ||
| 24 | + private String name; | ||
| 25 | + | ||
| 26 | + @Schema(description = "门店手机") | ||
| 27 | + private String phone; | ||
| 28 | + | ||
| 29 | + @Schema(description = "区域编号", example = "18733") | ||
| 30 | + private Integer areaId; | ||
| 31 | + | ||
| 32 | + @Schema(description = "门店状态", example = "1") | ||
| 33 | + @InEnum(CommonStatusEnum.class) | ||
| 34 | + private Integer status; | ||
| 35 | + | ||
| 36 | + @Schema(description = "创建时间") | ||
| 37 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 38 | + private LocalDateTime[] createTime; | ||
| 39 | + | ||
| 40 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.time.LocalDateTime; | ||
| 6 | + | ||
| 7 | +@Schema(description = "管理后台 - 自提门店 Response VO") | ||
| 8 | +@Data | ||
| 9 | +@EqualsAndHashCode(callSuper = true) | ||
| 10 | +@ToString(callSuper = true) | ||
| 11 | +public class DeliveryPickUpStoreRespVO extends DeliveryPickUpStoreBaseVO { | ||
| 12 | + | ||
| 13 | + @Schema(description = "编号", required = true, example = "23128") | ||
| 14 | + private Long id; | ||
| 15 | + | ||
| 16 | + @Schema(description = "创建时间", required = true) | ||
| 17 | + private LocalDateTime createTime; | ||
| 18 | + | ||
| 19 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStoreUpdateReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import javax.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@Schema(description = "管理后台 - 自提门店更新 Request VO") | ||
| 9 | +@Data | ||
| 10 | +@EqualsAndHashCode(callSuper = true) | ||
| 11 | +@ToString(callSuper = true) | ||
| 12 | +public class DeliveryPickUpStoreUpdateReqVO extends DeliveryPickUpStoreBaseVO { | ||
| 13 | + | ||
| 14 | + @Schema(description = "编号", required = true, example = "23128") | ||
| 15 | + @NotNull(message = "编号不能为空") | ||
| 16 | + private Long id; | ||
| 17 | + | ||
| 18 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/delivery/DeliveryPickUpStoreConvert.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.convert.delivery; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | + | ||
| 7 | +import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; | ||
| 8 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreCreateReqVO; | ||
| 9 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreExcelVO; | ||
| 10 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreRespVO; | ||
| 11 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreUpdateReqVO; | ||
| 12 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | ||
| 13 | +import org.mapstruct.Mapper; | ||
| 14 | +import org.mapstruct.Mapping; | ||
| 15 | +import org.mapstruct.Named; | ||
| 16 | +import org.mapstruct.factory.Mappers; | ||
| 17 | + | ||
| 18 | +@Mapper | ||
| 19 | +public interface DeliveryPickUpStoreConvert { | ||
| 20 | + | ||
| 21 | + DeliveryPickUpStoreConvert INSTANCE = Mappers.getMapper(DeliveryPickUpStoreConvert.class); | ||
| 22 | + | ||
| 23 | + DeliveryPickUpStoreDO convert(DeliveryPickUpStoreCreateReqVO bean); | ||
| 24 | + | ||
| 25 | + DeliveryPickUpStoreDO convert(DeliveryPickUpStoreUpdateReqVO bean); | ||
| 26 | + | ||
| 27 | + DeliveryPickUpStoreRespVO convert(DeliveryPickUpStoreDO bean); | ||
| 28 | + | ||
| 29 | + List<DeliveryPickUpStoreRespVO> convertList(List<DeliveryPickUpStoreDO> list); | ||
| 30 | + | ||
| 31 | + PageResult<DeliveryPickUpStoreRespVO> convertPage(PageResult<DeliveryPickUpStoreDO> page); | ||
| 32 | + | ||
| 33 | + List<DeliveryPickUpStoreExcelVO> convertList02(List<DeliveryPickUpStoreDO> list); | ||
| 34 | + | ||
| 35 | + @Mapping(source = "areaId", target = "areaName", qualifiedByName = "convertAreaIdToName") | ||
| 36 | + DeliveryPickUpStoreExcelVO convert2(DeliveryPickUpStoreDO bean); | ||
| 37 | + | ||
| 38 | + @Named("convertAreaIdToName") | ||
| 39 | + default String convertAreaIdToName(Integer areaId) { | ||
| 40 | + return AreaUtils.format(areaId); | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/delivery/DeliveryPickUpStoreDO.java
| @@ -20,7 +20,7 @@ import java.time.LocalTime; | @@ -20,7 +20,7 @@ import java.time.LocalTime; | ||
| 20 | public class DeliveryPickUpStoreDO extends BaseDO { | 20 | public class DeliveryPickUpStoreDO extends BaseDO { |
| 21 | 21 | ||
| 22 | /** | 22 | /** |
| 23 | - * 编号,自增 | 23 | + * 编号 |
| 24 | */ | 24 | */ |
| 25 | @TableId | 25 | @TableId |
| 26 | private Long id; | 26 | private Long id; |
| @@ -41,7 +41,7 @@ public class DeliveryPickUpStoreDO extends BaseDO { | @@ -41,7 +41,7 @@ public class DeliveryPickUpStoreDO extends BaseDO { | ||
| 41 | private String phone; | 41 | private String phone; |
| 42 | 42 | ||
| 43 | /** | 43 | /** |
| 44 | - * 区域 id | 44 | + * 区域编号 |
| 45 | */ | 45 | */ |
| 46 | private Integer areaId; | 46 | private Integer areaId; |
| 47 | 47 | ||
| @@ -59,20 +59,20 @@ public class DeliveryPickUpStoreDO extends BaseDO { | @@ -59,20 +59,20 @@ public class DeliveryPickUpStoreDO extends BaseDO { | ||
| 59 | * 营业开始时间 | 59 | * 营业开始时间 |
| 60 | */ | 60 | */ |
| 61 | private LocalTime openingTime; | 61 | private LocalTime openingTime; |
| 62 | + | ||
| 62 | /** | 63 | /** |
| 63 | * 营业结束时间 | 64 | * 营业结束时间 |
| 64 | */ | 65 | */ |
| 65 | private LocalTime closingTime; | 66 | private LocalTime closingTime; |
| 66 | 67 | ||
| 67 | - // TODO @Jason:应该是 double? | ||
| 68 | /** | 68 | /** |
| 69 | * 纬度 | 69 | * 纬度 |
| 70 | */ | 70 | */ |
| 71 | - private String latitude; | 71 | + private Double latitude; |
| 72 | /** | 72 | /** |
| 73 | * 经度 | 73 | * 经度 |
| 74 | */ | 74 | */ |
| 75 | - private String longitude; | 75 | + private Double longitude; |
| 76 | 76 | ||
| 77 | /** | 77 | /** |
| 78 | * 门店状态 | 78 | * 门店状态 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/delivery/DeliveryPickUpStoreMapper.java
| 1 | package cn.iocoder.yudao.module.trade.dal.mysql.delivery; | 1 | package cn.iocoder.yudao.module.trade.dal.mysql.delivery; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 6 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreExportReqVO; | ||
| 7 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStorePageReqVO; | ||
| 4 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | 8 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; |
| 5 | import org.apache.ibatis.annotations.Mapper; | 9 | import org.apache.ibatis.annotations.Mapper; |
| 6 | 10 | ||
| 11 | +import java.util.List; | ||
| 12 | + | ||
| 7 | @Mapper | 13 | @Mapper |
| 8 | public interface DeliveryPickUpStoreMapper extends BaseMapperX<DeliveryPickUpStoreDO> { | 14 | public interface DeliveryPickUpStoreMapper extends BaseMapperX<DeliveryPickUpStoreDO> { |
| 15 | + | ||
| 16 | + default PageResult<DeliveryPickUpStoreDO> selectPage(DeliveryPickUpStorePageReqVO reqVO) { | ||
| 17 | + return selectPage(reqVO, new LambdaQueryWrapperX<DeliveryPickUpStoreDO>() | ||
| 18 | + .likeIfPresent(DeliveryPickUpStoreDO::getName, reqVO.getName()) | ||
| 19 | + .eqIfPresent(DeliveryPickUpStoreDO::getPhone, reqVO.getPhone()) | ||
| 20 | + .eqIfPresent(DeliveryPickUpStoreDO::getAreaId, reqVO.getAreaId()) | ||
| 21 | + .eqIfPresent(DeliveryPickUpStoreDO::getStatus, reqVO.getStatus()) | ||
| 22 | + .betweenIfPresent(DeliveryPickUpStoreDO::getCreateTime, reqVO.getCreateTime()) | ||
| 23 | + .orderByDesc(DeliveryPickUpStoreDO::getId)); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + default List<DeliveryPickUpStoreDO> selectList(DeliveryPickUpStoreExportReqVO reqVO) { | ||
| 27 | + return selectList(new LambdaQueryWrapperX<DeliveryPickUpStoreDO>() | ||
| 28 | + .likeIfPresent(DeliveryPickUpStoreDO::getName, reqVO.getName()) | ||
| 29 | + .eqIfPresent(DeliveryPickUpStoreDO::getPhone, reqVO.getPhone()) | ||
| 30 | + .eqIfPresent(DeliveryPickUpStoreDO::getAreaId, reqVO.getAreaId()) | ||
| 31 | + .eqIfPresent(DeliveryPickUpStoreDO::getStatus, reqVO.getStatus()) | ||
| 32 | + .betweenIfPresent(DeliveryPickUpStoreDO::getCreateTime, reqVO.getCreateTime()) | ||
| 33 | + .orderByDesc(DeliveryPickUpStoreDO::getId)); | ||
| 34 | + } | ||
| 9 | } | 35 | } |
| 10 | 36 | ||
| 11 | 37 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.service.delivery; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import javax.validation.*; | ||
| 5 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 6 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreCreateReqVO; | ||
| 7 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreExportReqVO; | ||
| 8 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStorePageReqVO; | ||
| 9 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreUpdateReqVO; | ||
| 10 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 自提门店 Service 接口 | ||
| 14 | + * | ||
| 15 | + * @author jason | ||
| 16 | + */ | ||
| 17 | +public interface DeliveryPickUpStoreService { | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * 创建自提门店 | ||
| 21 | + * | ||
| 22 | + * @param createReqVO 创建信息 | ||
| 23 | + * @return 编号 | ||
| 24 | + */ | ||
| 25 | + Long createDeliveryPickUpStore(@Valid DeliveryPickUpStoreCreateReqVO createReqVO); | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 更新自提门店 | ||
| 29 | + * | ||
| 30 | + * @param updateReqVO 更新信息 | ||
| 31 | + */ | ||
| 32 | + void updateDeliveryPickUpStore(@Valid DeliveryPickUpStoreUpdateReqVO updateReqVO); | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * 删除自提门店 | ||
| 36 | + * | ||
| 37 | + * @param id 编号 | ||
| 38 | + */ | ||
| 39 | + void deleteDeliveryPickUpStore(Long id); | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 获得自提门店 | ||
| 43 | + * | ||
| 44 | + * @param id 编号 | ||
| 45 | + * @return 自提门店 | ||
| 46 | + */ | ||
| 47 | + DeliveryPickUpStoreDO getDeliveryPickUpStore(Long id); | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 获得自提门店列表 | ||
| 51 | + * | ||
| 52 | + * @param ids 编号 | ||
| 53 | + * @return 自提门店列表 | ||
| 54 | + */ | ||
| 55 | + List<DeliveryPickUpStoreDO> getDeliveryPickUpStoreList(Collection<Long> ids); | ||
| 56 | + | ||
| 57 | + /** | ||
| 58 | + * 获得自提门店分页 | ||
| 59 | + * | ||
| 60 | + * @param pageReqVO 分页查询 | ||
| 61 | + * @return 自提门店分页 | ||
| 62 | + */ | ||
| 63 | + PageResult<DeliveryPickUpStoreDO> getDeliveryPickUpStorePage(DeliveryPickUpStorePageReqVO pageReqVO); | ||
| 64 | + | ||
| 65 | + /** | ||
| 66 | + * 获得自提门店列表, 用于 Excel 导出 | ||
| 67 | + * | ||
| 68 | + * @param exportReqVO 查询条件 | ||
| 69 | + * @return 自提门店列表 | ||
| 70 | + */ | ||
| 71 | + List<DeliveryPickUpStoreDO> getDeliveryPickUpStoreList(DeliveryPickUpStoreExportReqVO exportReqVO); | ||
| 72 | +} |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.trade.service.delivery; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreCreateReqVO; | ||
| 5 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreExportReqVO; | ||
| 6 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStorePageReqVO; | ||
| 7 | +import cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.pickup.DeliveryPickUpStoreUpdateReqVO; | ||
| 8 | +import cn.iocoder.yudao.module.trade.convert.delivery.DeliveryPickUpStoreConvert; | ||
| 9 | +import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO; | ||
| 10 | +import cn.iocoder.yudao.module.trade.dal.mysql.delivery.DeliveryPickUpStoreMapper; | ||
| 11 | +import org.springframework.stereotype.Service; | ||
| 12 | +import javax.annotation.Resource; | ||
| 13 | +import org.springframework.validation.annotation.Validated; | ||
| 14 | + | ||
| 15 | +import java.util.*; | ||
| 16 | + | ||
| 17 | + | ||
| 18 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 19 | +import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; | ||
| 20 | + | ||
| 21 | +/** | ||
| 22 | + * 自提门店 Service 实现类 | ||
| 23 | + * | ||
| 24 | + * @author jason | ||
| 25 | + */ | ||
| 26 | +@Service | ||
| 27 | +@Validated | ||
| 28 | +public class DeliveryPickUpStoreServiceImpl implements DeliveryPickUpStoreService { | ||
| 29 | + | ||
| 30 | + @Resource | ||
| 31 | + private DeliveryPickUpStoreMapper deliveryPickUpStoreMapper; | ||
| 32 | + | ||
| 33 | + @Override | ||
| 34 | + public Long createDeliveryPickUpStore(DeliveryPickUpStoreCreateReqVO createReqVO) { | ||
| 35 | + // 插入 | ||
| 36 | + DeliveryPickUpStoreDO deliveryPickUpStore = DeliveryPickUpStoreConvert.INSTANCE.convert(createReqVO); | ||
| 37 | + deliveryPickUpStoreMapper.insert(deliveryPickUpStore); | ||
| 38 | + // 返回 | ||
| 39 | + return deliveryPickUpStore.getId(); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + @Override | ||
| 43 | + public void updateDeliveryPickUpStore(DeliveryPickUpStoreUpdateReqVO updateReqVO) { | ||
| 44 | + // 校验存在 | ||
| 45 | + validateDeliveryPickUpStoreExists(updateReqVO.getId()); | ||
| 46 | + // 更新 | ||
| 47 | + DeliveryPickUpStoreDO updateObj = DeliveryPickUpStoreConvert.INSTANCE.convert(updateReqVO); | ||
| 48 | + deliveryPickUpStoreMapper.updateById(updateObj); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + @Override | ||
| 52 | + public void deleteDeliveryPickUpStore(Long id) { | ||
| 53 | + // 校验存在 | ||
| 54 | + validateDeliveryPickUpStoreExists(id); | ||
| 55 | + // 删除 | ||
| 56 | + deliveryPickUpStoreMapper.deleteById(id); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + private void validateDeliveryPickUpStoreExists(Long id) { | ||
| 60 | + if (deliveryPickUpStoreMapper.selectById(id) == null) { | ||
| 61 | + throw exception(PICK_UP_STORE_NOT_EXISTS); | ||
| 62 | + } | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @Override | ||
| 66 | + public DeliveryPickUpStoreDO getDeliveryPickUpStore(Long id) { | ||
| 67 | + return deliveryPickUpStoreMapper.selectById(id); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + @Override | ||
| 71 | + public List<DeliveryPickUpStoreDO> getDeliveryPickUpStoreList(Collection<Long> ids) { | ||
| 72 | + return deliveryPickUpStoreMapper.selectBatchIds(ids); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + @Override | ||
| 76 | + public PageResult<DeliveryPickUpStoreDO> getDeliveryPickUpStorePage(DeliveryPickUpStorePageReqVO pageReqVO) { | ||
| 77 | + return deliveryPickUpStoreMapper.selectPage(pageReqVO); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + @Override | ||
| 81 | + public List<DeliveryPickUpStoreDO> getDeliveryPickUpStoreList(DeliveryPickUpStoreExportReqVO exportReqVO) { | ||
| 82 | + return deliveryPickUpStoreMapper.selectList(exportReqVO); | ||
| 83 | + } | ||
| 84 | +} |