diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index f586dfb06..4bdf4dbb9 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -310,23 +310,46 @@ CREATE TABLE hard_auth DROP TABLE IF EXISTS hard_spu; CREATE TABLE hard_spu ( - id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', - spu_category_id bigint NOT NULL COMMENT '商品分类id', - name varchar(64) NOT NULL COMMENT '商品名', - pic varchar(256) NOT NULL COMMENT '商品图片', - price int NOT NULL COMMENT '单价(分)', - sales_count int DEFAULT 0 NOT NULL COMMENT '销量', - repertory_count int DEFAULT 0 NOT NULL COMMENT '库存', - sort int DEFAULT 0 NOT NULL COMMENT '排序', - status char(1) DEFAULT '0' COMMENT '是否启用', - is_default char(1) DEFAULT '0' COMMENT '是否为标品', - ks_status char(1) DEFAULT NULL COMMENT '旷世审核状态', - ks_status_title varchar(64) DEFAULT NULL COMMENT '旷世审核状态标题', - ks_comments varchar(512) DEFAULT NULL COMMENT '旷世审核状态描述', - hard_id bigint NOT NULL COMMENT '硬件id', + id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + spu_category_id bigint NOT NULL COMMENT '商品分类id', + name varchar(64) NOT NULL COMMENT '商品名', + pic varchar(256) NOT NULL COMMENT '商品图片', + price int NOT NULL COMMENT '单价(分)', + sales_count int DEFAULT 0 NOT NULL COMMENT '销量', + repertory_count int DEFAULT 0 NOT NULL COMMENT '库存', + sort int DEFAULT 0 NOT NULL COMMENT '排序', + status char(1) DEFAULT '0' COMMENT '是否启用', + is_default char(1) DEFAULT '0' COMMENT '是否为标品', + specs_taste varchar(128) DEFAULT NULL COMMENT '规格-口味', + specs_capacity varchar(128) DEFAULT NULL COMMENT '规格-容量', + specs_weight varchar(128) DEFAULT NULL COMMENT '规格-重量', + sku_type varchar(32) DEFAULT NULL COMMENT 'sku类型,0:标准库;1:私有库 ', + ks_barcode varchar(32) DEFAULT NULL COMMENT '69码', + ks_has_sub_sku varchar(128) DEFAULT NULL COMMENT '是否为集合SKU', + ks_sub_sku text DEFAULT NULL COMMENT '集合SKU的子SKU信息', + ks_status char(1) DEFAULT NULL COMMENT '旷世审核状态', + ks_status_title varchar(64) DEFAULT NULL COMMENT '旷世审核状态标题', + ks_comments varchar(512) DEFAULT NULL COMMENT '旷世审核状态描述', + create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', + create_time datetime DEFAULT NULL COMMENT '创建时间', + update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', + update_time datetime DEFAULT NULL COMMENT '修改时间', + del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', + tenant_id bigint DEFAULT NULL COMMENT '租户ID', + PRIMARY KEY (id) +) ENGINE = InnoDB COMMENT ='硬件商品'; + +-- ---------------------------- +-- Table structure for hard_spu_join +-- ---------------------------- +DROP TABLE IF EXISTS hard_spu_join; +CREATE TABLE hard_spu_join +( + id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + hard_door_id bigint DEFAULT NULL COMMENT '硬件柜子id', + cabinet_no varchar(32) DEFAULT NULL COMMENT '货柜编号', + spu_id bigint DEFAULT NULL COMMENT '商品id', hard_door_number int DEFAULT NULL COMMENT '商品放置层数', - mch_id bigint NOT NULL COMMENT '商户id', - mch_dept_id bigint NOT NULL COMMENT '商户部门id', create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', @@ -334,51 +357,7 @@ CREATE TABLE hard_spu del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', tenant_id bigint DEFAULT NULL COMMENT '租户ID', PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT ='硬件商品'; - --- ---------------------------- --- Table structure for hard_ks_sku_join --- ---------------------------- -DROP TABLE IF EXISTS hard_ks_sku_join; -CREATE TABLE hard_ks_sku_join -( - id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', - ks_sku_id varchar(32) DEFAULT NULL COMMENT '该字段为超级收银员平台的商品ID', - hard_door_id varchar(32) DEFAULT NULL COMMENT '硬件柜子id', - create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', - create_time datetime DEFAULT NULL COMMENT '创建时间', - update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', - update_time datetime DEFAULT NULL COMMENT '修改时间', - del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', - tenant_id bigint DEFAULT NULL COMMENT '租户ID', - PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT ='旷世硬件商品绑定表'; - --- ---------------------------- --- Table structure for hard_ks_sku --- ---------------------------- -DROP TABLE IF EXISTS hard_ks_sku; -CREATE TABLE hard_ks_sku -( - id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', - ks_sku_id varchar(32) DEFAULT NULL COMMENT '该字段为超级收银员平台的商品ID', - barcode varchar(32) DEFAULT NULL COMMENT '69码', - sku_name varchar(64) DEFAULT NULL COMMENT '商品名称', - sku_id varchar(32) DEFAULT NULL COMMENT '业务方sku_id', - cover varchar(256) DEFAULT NULL COMMENT '商品主图缩略图url,尺寸300*300px', - sku_type varchar(32) DEFAULT NULL COMMENT 'sku类型:0:标准库 1:私有库 ', - specs varchar(512) DEFAULT NULL COMMENT '该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g', - has_sub_sku varchar(32) DEFAULT NULL COMMENT '是否为集合SKU', - sub_sku text DEFAULT NULL COMMENT '集合SKU的子SKU信息', - check_status varchar(32) DEFAULT NULL COMMENT 'sku审核状态', - create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', - create_time datetime DEFAULT NULL COMMENT '创建时间', - update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', - update_time datetime DEFAULT NULL COMMENT '修改时间', - del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', - tenant_id bigint DEFAULT NULL COMMENT '租户ID', - PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT ='旷世硬件商品'; +) ENGINE = InnoDB COMMENT ='硬件商品绑定'; -- ---------------------------- -- Table structure for hard_spu_category diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardChangeVolume.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardChangeVolume.java new file mode 100644 index 000000000..1ae4a541e --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardChangeVolume.java @@ -0,0 +1,24 @@ +package com.bsd.pjcloud.hard.api.dto.spu; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class HardChangeVolume { + + @NotNull(message = "设备id不能为空") + private Long hardId; + + /** + * 系统音量 + */ + @NotNull(message = "系统音量不能为空") + private Integer systemVolume; + + /** + * 媒体音量 + */ + @NotNull(message = "媒体音量不能为空") + private Integer mediaVolume; + +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuDto.java deleted file mode 100644 index 8b9d5cca0..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuDto.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.hard.api.dto.spu; - -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; -import lombok.Data; - -@Data -public class HardKsSkuDto extends HardKsSkuEntity { - -} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuJoinDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuJoinDto.java deleted file mode 100644 index efd7f814a..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardKsSkuJoinDto.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.bsd.pjcloud.hard.api.dto.spu; - -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity; -import lombok.Data; - -@Data -public class HardKsSkuJoinDto extends HardKsSkuJoinEntity { -} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuDto.java index 4a15a6cfc..dc5fbface 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuDto.java @@ -1,13 +1,22 @@ package com.bsd.pjcloud.hard.api.dto.spu; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.time.LocalDateTime; +import java.util.List; @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor public class HardSpuDto extends HardSpuEntity { + private List spuIdList; + private LocalDateTime[] createTimeList; } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuJoinDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuJoinDto.java new file mode 100644 index 000000000..a0224e31e --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/spu/HardSpuJoinDto.java @@ -0,0 +1,8 @@ +package com.bsd.pjcloud.hard.api.dto.spu; + +import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; +import lombok.Data; + +@Data +public class HardSpuJoinDto extends HardSpuJoinEntity { +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuEntity.java deleted file mode 100644 index 3e0846557..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuEntity.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.bsd.pjcloud.hard.api.entity.spu; - -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import com.bsd.pjcloud.common.core.util.TenantTable; -import java.time.LocalDateTime; - -/** - * 商品 - */ -@Data -@TenantTable -@TableName("hard_ks_sku") -@EqualsAndHashCode(callSuper = true) -@Schema(description = "商品") -public class HardKsSkuEntity extends Model { - - - /** - * 编号 - */ - @TableId(type = IdType.ASSIGN_ID) - @Schema(description="编号") - private Long id; - - /** - * 该字段为超级收银员平台的商品ID - */ - @Schema(description="该字段为超级收银员平台的商品ID") - private String ksSkuId; - - /** - * 69码 - */ - @Schema(description="69码") - private String barcode; - - /** - * 商品名称 - */ - @Schema(description="商品名称") - private String skuName; - - /** - * 业务方sku_id - */ - @Schema(description="业务方sku_id") - private String skuId; - - /** - * 商品主图缩略图url,尺寸300*300px - */ - @Schema(description="商品主图缩略图url,尺寸300*300px") - private String cover; - - /** - * sku类型:0:标准库 1:私有库 - */ - @Schema(description="sku类型:0:标准库 1:私有库") - private String skuType; - - /** - * 该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g - */ - @Schema(description="该字段为SKU所对应的规格,包含口味、容量、重量,taste表示口味,capacity表示容量,单位:ml,weight表示重量,单位:g") - private String specs; - - /** - * 是否为集合SKU - */ - @Schema(description="是否为集合SKU") - private String hasSubSku; - - /** - * 集合SKU的子SKU信息 - */ - @Schema(description="集合SKU的子SKU信息") - private String subSku; - - /** - * sku审核状态 - */ - @Schema(description="sku审核状态") - private String checkStatus; - - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") - private String createBy; - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") - private LocalDateTime createTime; - - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") - private String updateBy; - - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") - private LocalDateTime updateTime; - - /** - * 删除标记 - */ - @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") - private String delFlag; - - /** - * 租户ID - */ - @Schema(description="租户ID") - private Long tenantId; -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuJoinEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuJoinEntity.java deleted file mode 100644 index 8fd426a39..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardKsSkuJoinEntity.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.bsd.pjcloud.hard.api.entity.spu; - -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.extension.activerecord.Model; -import com.bsd.pjcloud.common.core.util.TenantTable; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.time.LocalDateTime; - -/** - * 旷世商品绑定 - */ -@Data -@TenantTable -@TableName("hard_ks_sku_join") -@EqualsAndHashCode(callSuper = true) -@Schema(description = "旷世商品绑定") -public class HardKsSkuJoinEntity extends Model { - - - /** - * 编号 - */ - @TableId(type = IdType.ASSIGN_ID) - @Schema(description="编号") - private Long id; - - /** - * 该字段为超级收银员平台的商品ID - */ - @Schema(description="该字段为超级收银员平台的商品ID") - private String ksSkuId; - - /** - * 硬件柜子id - */ - @Schema(description="硬件柜子id") - private String hardDoorId; - - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") - private String createBy; - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") - private LocalDateTime createTime; - - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") - private String updateBy; - - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") - private LocalDateTime updateTime; - - /** - * 删除标记 - */ - @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") - private String delFlag; - - /** - * 租户ID - */ - @Schema(description="租户ID") - private Long tenantId; -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java index 38310d93f..bbb82aa2e 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuCategoryEntity.java @@ -39,18 +39,6 @@ public class HardSpuCategoryEntity extends Model { @Schema(description = "排序") private Integer sort; - /** - * 商户id - */ - @Schema(description = "商户id") - private Long mchId; - - /** - * 商户部门id - */ - @Schema(description = "商户部门id") - private Long mchDeptId; - /** * 创建人 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java index 47ad032c8..0cb22e5b4 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuEntity.java @@ -2,7 +2,11 @@ package com.bsd.pjcloud.hard.api.entity.spu; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.bsd.pjcloud.hard.api.constant.spu.HardKsSkuTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; import com.bsd.pjcloud.common.core.util.TenantTable; @@ -31,12 +35,14 @@ public class HardSpuEntity extends Model { * 商品分类id */ @Schema(description = "商品分类id") + @NotNull(message = "分类不能为空") private Long spuCategoryId; /** * 商品名 */ @Schema(description = "商品名") + @NotEmpty(message = "商品名不能为空") private String name; /** @@ -49,6 +55,8 @@ public class HardSpuEntity extends Model { * 单价(分) */ @Schema(description = "单价(分)") + @NotNull(message = "单价不能为空") + @Min(value = 1, message = "单价不能小于0") private Integer price; /** @@ -81,6 +89,49 @@ public class HardSpuEntity extends Model { @Schema(description = "是否为标品") private String isDefault; + /** + * 规格-口味 + */ + @Schema(description = "规格-口味") + private String specsTaste; + + /** + * 规格-口味 + */ + @Schema(description = "规格-容量") + private String specsCapacity; + + /** + * 规格-口味 + */ + @Schema(description = "规格-重量") + private String specsWeight; + + /** + * sku类型,0:标准库;1:私有库 + * @see HardKsSkuTypeEnum + */ + @Schema(description = "sku类型,0:标准库;1:私有库") + private String skuType; + + /** + * 69码 + */ + @Schema(description = "69码") + private String ksBarcode; + + /** + * 是否为集合SKU + */ + @Schema(description = "'是否为集合SKU") + private String ksHasSubSku; + + /** + * 是否为集合SKU + */ + @Schema(description = "是否为集合SKU") + private String ksSubSku; + /** * 旷世审核状态 */ @@ -99,30 +150,6 @@ public class HardSpuEntity extends Model { @Schema(description = "旷世审核状态描述") private String ksComments; - /** - * 设备id - */ - @Schema(description = "设备id") - private Long hardId; - - /** - * 商品放置层数 - */ - @Schema(description = "商品放置层数") - private Long hardDoorNumber; - - /** - * 商户id - */ - @Schema(description = "商户id") - private Long mchId; - - /** - * 商户部门id - */ - @Schema(description = "商户部门id") - private Long mchDeptId; - /** * 创建人 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java new file mode 100644 index 000000000..efc49d8d2 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuJoinEntity.java @@ -0,0 +1,95 @@ +package com.bsd.pjcloud.hard.api.entity.spu; + +import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.bsd.pjcloud.common.core.util.TenantTable; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + * 柜子商品绑定 + */ +@Data +@TenantTable +@TableName("hard_spu_join") +@EqualsAndHashCode(callSuper = true) +@Schema(description = "旷世商品绑定") +public class HardSpuJoinEntity extends Model { + + + /** + * 编号 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "编号") + private Long id; + + /** + * 该字段为超级收银员平台的商品ID + */ + @Schema(description = "该字段为超级收银员平台的商品ID") + private Long spuId; + + /** + * 柜门编号 + */ + @Schema(description = "柜门编号") + private String cabinetNo; + + /** + * 硬件柜子id + */ + @Schema(description = "硬件柜子id") + private Long hardDoorId; + + /** + * 放置层数 + */ + @Schema(description = "放置层数") + private Integer hardDoorNumber; + + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") + private LocalDateTime createTime; + + /** + * 修改人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改人") + private String updateBy; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改时间") + private LocalDateTime updateTime; + + /** + * 删除标记 + */ + @TableLogic + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除标记") + private String delFlag; + + /** + * 租户ID + */ + @Schema(description = "租户ID") + private Long tenantId; +} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuJoinVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuJoinVo.java deleted file mode 100644 index 6322f4604..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuJoinVo.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.hard.api.vo.spu; - -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity; -import lombok.Data; - -@Data -public class HardKsSkuJoinVo extends HardKsSkuJoinEntity { - -} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuVo.java deleted file mode 100644 index 2a08e4c56..000000000 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardKsSkuVo.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.hard.api.vo.spu; - -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; -import lombok.Data; - -@Data -public class HardKsSkuVo extends HardKsSkuEntity { - -} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuJoinVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuJoinVo.java new file mode 100644 index 000000000..8f14c371f --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuJoinVo.java @@ -0,0 +1,14 @@ +package com.bsd.pjcloud.hard.api.vo.spu; + +import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; +import lombok.Data; + +@Data +public class HardSpuJoinVo extends HardSpuJoinEntity { + + /** + * 商品相关 + */ + private HardSpuVo spuDetail; + +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java index 3f42af1f9..77b6be85c 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuRepertoryVo.java @@ -25,7 +25,6 @@ public class HardSpuRepertoryVo extends HardSpuRepertoryEntity implements BaseMc */ private String spuCategoryName; - /** * 商户相关 */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java index 180a4cd61..4f69ea868 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/spu/HardSpuVo.java @@ -6,26 +6,10 @@ import com.bsd.pjcloud.wallet.api.vo.base.BaseMchInterface; import lombok.Data; @Data -public class HardSpuVo extends HardSpuEntity implements BaseMchInterface, BaseHardInterface { +public class HardSpuVo extends HardSpuEntity { /** * 分类相关 */ private String categoryName; - /** - * 商户相关 - */ - private Long merchantId; - - private String merchantName; - - private String logoPic; - - /** - * 设备相关 - */ - private String hardName; - - private String hardType; - } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/hard/HardApiController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/hard/HardApiController.java index 86aee512d..8b4a0b164 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/hard/HardApiController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/hard/HardApiController.java @@ -47,7 +47,7 @@ public class HardApiController { @GetMapping("/get") @Operation(summary = "获取硬件配置信息") public R get(@RequestParam Long id) { - return R.ok(hardManagerService.getById(id)); + return R.ok(hardManagerService.getByHardId(id)); } @GetMapping("/get-by-order-id") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java index ee178d2e0..c697e13f5 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardDoorManagerController.java @@ -10,9 +10,11 @@ import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.hard.api.dto.manager.HardDoorManagerDto; +import com.bsd.pjcloud.hard.api.dto.spu.HardChangeVolume; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; import com.bsd.pjcloud.hard.service.HardDoorManagerService; +import com.bsd.pjcloud.thirdparty.dto.door.DoorVolumeDto; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -21,6 +23,7 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -39,7 +42,6 @@ public class HardDoorManagerController { @Operation(summary = "绑定设备", description = "绑定设备") @PostMapping("/bind") - @PreAuthorize("@pms.hasPermission('hard_hardDoorManager_add')") public R bind(@RequestBody HardDoorManagerEntity dto) { if (ObjectUtil.isEmpty(dto.getImei())) throw new RuntimeException("设备IMEI卡号不能为空"); if (ObjectUtil.isEmpty(dto.getDeviceCode())) throw new RuntimeException("设备内置设备编号不能为空"); @@ -47,6 +49,13 @@ public class HardDoorManagerController { return R.ok(); } + @Operation(summary = "音量修改", description = "音量修改") + @PostMapping("/change-volume") + public R changeVolume(@Validated @RequestBody HardChangeVolume dto) { + hardDoorManagerService.changeVolume(dto); + return R.ok(); + } + @Operation(summary = "分页查询", description = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('hard_hardDoorManager_view')") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardManagerController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardManagerController.java index 16575c50b..e06e9978d 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardManagerController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/manager/HardManagerController.java @@ -64,7 +64,7 @@ public class HardManagerController { @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('hard_hardManager_view')") public R getById(@PathVariable("id") Long id) { - return R.ok(hardManagerService.getById(id)); + return R.ok(hardManagerService.getByHardId(id)); } @Operation(summary = "新增设备管理", description = "新增设备管理") diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardKsSkuController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardKsSkuController.java deleted file mode 100644 index 43f859bd3..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardKsSkuController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.bsd.pjcloud.hard.controller.spu; - -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.common.log.annotation.SysLog; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; -import com.bsd.pjcloud.hard.service.HardKsSkuService; -import org.springframework.security.access.prepost.PreAuthorize; -import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import org.springdoc.core.annotations.ParameterObject; -import org.springframework.http.HttpHeaders; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Operation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 商品 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/hard-ks-sku") -@Tag(description = "hard-ks-sku", name = "商品管理") -@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class HardKsSkuController { - - private final HardKsSkuService hardKsSkuService; - - @Operation(summary = "分页查询", description = "分页查询") - @GetMapping("/page") - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_view')") - public R getHardKsSkuPage(@ParameterObject Page page, @ParameterObject HardKsSkuEntity hardKsSku) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - return R.ok(hardKsSkuService.page(page, wrapper)); - } - - @Operation(summary = "通过id查询", description = "通过id查询") - @GetMapping("/{id}") - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_view')") - public R getById(@PathVariable("id") Long id) { - return R.ok(hardKsSkuService.getById(id)); - } - - @Operation(summary = "新增商品", description = "新增商品") - @SysLog("新增商品") - @PostMapping - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_add')") - public R save(@RequestBody HardKsSkuEntity hardKsSku) { - return R.ok(hardKsSkuService.save(hardKsSku)); - } - - @Operation(summary = "修改商品", description = "修改商品") - @SysLog("修改商品") - @PutMapping - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_edit')") - public R updateById(@RequestBody HardKsSkuEntity hardKsSku) { - return R.ok(hardKsSkuService.updateById(hardKsSku)); - } - - @Operation(summary = "通过id删除商品", description = "通过id删除商品") - @SysLog("通过id删除商品") - @DeleteMapping - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_del')") - public R removeById(@RequestBody Long[] ids) { - return R.ok(hardKsSkuService.removeBatchByIds(CollUtil.toList(ids))); - } - - @ResponseExcel - @GetMapping("/export") - @PreAuthorize("@pms.hasPermission('hard_hardKsSku_export')") - public List export(HardKsSkuEntity hardKsSku, Long[] ids) { - return hardKsSkuService.list(Wrappers.lambdaQuery(hardKsSku).in(ArrayUtil.isNotEmpty(ids), HardKsSkuEntity::getId, ids)); - } -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java index ecc8f56e4..77542a105 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/spu/HardSpuController.java @@ -10,6 +10,7 @@ import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo; import com.bsd.pjcloud.hard.service.HardSpuService; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; @@ -19,9 +20,11 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; import java.util.Objects; /** @@ -36,6 +39,12 @@ public class HardSpuController { private final HardSpuService hardSpuService; + @Operation(summary = "根据设备id智能柜编号查询商品", description = "根据设备id智能柜编号查询商品") + @GetMapping("/get-by-cabinet-no") + public R>>> getByCabinetNo(@RequestParam Long hardId, @RequestParam String cabinetNo) { + return R.ok(hardSpuService.getByCabinetNo(hardId, cabinetNo)); + } + @Operation(summary = "下拉查询", description = "下拉查询") @GetMapping("/select") public R select(@ParameterObject Page page, @ParameterObject HardSpuDto dto) { @@ -70,7 +79,7 @@ public class HardSpuController { @SysLog("新增硬件商品") @PostMapping @PreAuthorize("@pms.hasPermission('hard_hardSpu_add')") - public R save(@RequestBody HardSpuEntity hardSpu) { + public R save(@Validated @RequestBody HardSpuEntity hardSpu) { return R.ok(hardSpuService.create(hardSpu)); } @@ -78,7 +87,7 @@ public class HardSpuController { @SysLog("修改硬件商品") @PutMapping @PreAuthorize("@pms.hasPermission('hard_hardSpu_edit')") - public R updateById(@RequestBody HardSpuEntity hardSpu) { + public R updateById(@Validated @RequestBody HardSpuEntity hardSpu) { return R.ok(hardSpuService.edit(hardSpu)); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuJoinMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuJoinMapper.java deleted file mode 100644 index 9b2c5404b..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuJoinMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.bsd.pjcloud.hard.mapper.spu; - -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface HardKsSkuJoinMapper extends PjcloudBaseMapper { - - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuMapper.java deleted file mode 100644 index 03ed8434d..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardKsSkuMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.bsd.pjcloud.hard.mapper.spu; - -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface HardKsSkuMapper extends PjcloudBaseMapper { - - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java index 8639d817a..9158bd8e4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuCategoryMapper.java @@ -16,8 +16,6 @@ public interface HardSpuCategoryMapper extends PjcloudBaseMapper scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper() - .eq(ObjectUtil.isNotEmpty(dto.getMchId()), HardSpuCategoryEntity::getMchId, dto.getMchId()) - .eq(ObjectUtil.isNotEmpty(dto.getMchDeptId()), HardSpuCategoryEntity::getMchDeptId, dto.getMchDeptId()) .like(ObjectUtil.isNotEmpty(dto.getName()), HardSpuCategoryEntity::getName, dto.getName()) .orderByDesc(HardSpuCategoryEntity::getSort) .orderByDesc(HardSpuCategoryEntity::getCreateTime); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuJoinMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuJoinMapper.java new file mode 100644 index 000000000..b427ea793 --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuJoinMapper.java @@ -0,0 +1,14 @@ +package com.bsd.pjcloud.hard.mapper.spu; + +import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import com.bsd.pjcloud.hard.api.dto.spu.HardSpuJoinDto; +import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface HardSpuJoinMapper extends PjcloudBaseMapper { + +} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuMapper.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuMapper.java index 01fc60a70..4f82ecdb3 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuMapper.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/mapper/spu/HardSpuMapper.java @@ -9,9 +9,13 @@ import com.bsd.pjcloud.hard.api.vo.spu.HardSpuVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface HardSpuMapper extends PjcloudBaseMapper { Page scopPageJoin(Page page, @Param("dto") HardSpuDto dto, @Param("dataScope") DataScope dataScope); + List scopPageList(@Param("dto") HardSpuDto dto, @Param("dataScope") DataScope dataScope); + } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java index d8ed09d6e..8dce4677c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorManagerService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.dto.manager.HardDoorManagerDto; +import com.bsd.pjcloud.hard.api.dto.spu.HardChangeVolume; import com.bsd.pjcloud.hard.api.entity.manager.HardDoorManagerEntity; import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo; @@ -20,4 +21,9 @@ public interface HardDoorManagerService extends IService * 绑定设备 */ void bind(HardDoorManagerEntity dto); + + /** + * 音量修改 + */ + void changeVolume(HardChangeVolume dto); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuJoinService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuJoinService.java deleted file mode 100644 index ca0b70521..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuJoinService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.bsd.pjcloud.hard.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity; - -public interface HardKsSkuJoinService extends IService { - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuService.java deleted file mode 100644 index 047bebe7a..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardKsSkuService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.bsd.pjcloud.hard.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; - -public interface HardKsSkuService extends IService { - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java index f9a3c13dc..2025476c8 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardManagerService.java @@ -23,7 +23,7 @@ public interface HardManagerService extends IService { HardManagerVo bind(HardBindDto dto); - HardManagerVo getById(Long hardId); + HardManagerVo getByHardId(Long hardId); /** * 判断当前用户是否有食堂或者超市管理元权限 diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuJoinService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuJoinService.java new file mode 100644 index 000000000..14880723c --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuJoinService.java @@ -0,0 +1,13 @@ +package com.bsd.pjcloud.hard.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.hard.api.dto.spu.HardSpuJoinDto; +import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo; + +import java.util.List; + +public interface HardSpuJoinService extends IService { + + List scopeList(HardSpuJoinDto dto); +} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java index 2fea2600c..cfa14bb50 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardSpuService.java @@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; import com.bsd.pjcloud.hard.api.entity.spu.HardSpuEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo; import com.bsd.pjcloud.hard.api.vo.spu.HardSpuVo; import java.util.ArrayList; +import java.util.List; +import java.util.Map; public interface HardSpuService extends IService { @@ -31,4 +34,8 @@ public interface HardSpuService extends IService { */ void delByIds(ArrayList list); + /** + * 根据 hardwareId 和 cabinetNo 查询商品 + */ + List>> getByCabinetNo(Long hardId, String cabinetNo); } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java index 81b20fdb8..65f83bd57 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardInvoiceServiceImpl.java @@ -210,7 +210,7 @@ public class HardInvoiceServiceImpl extends ServiceImpl implements HardKsSkuJoinService { - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardKsSkuServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardKsSkuServiceImpl.java deleted file mode 100644 index f74896018..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardKsSkuServiceImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.bsd.pjcloud.hard.service.impl.spu; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity; -import com.bsd.pjcloud.hard.mapper.spu.HardKsSkuMapper; -import com.bsd.pjcloud.hard.service.HardKsSkuService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -/** - * 商品 - */ -@Validated -@Slf4j -@RequiredArgsConstructor -@Service -public class HardKsSkuServiceImpl extends ServiceImpl implements HardKsSkuService { - -} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java index b2acf076a..2343d2e50 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuCategoryServiceImpl.java @@ -42,13 +42,6 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl scopPageJoin(Page page, HardSpuCategoryDto dto, DataScope dataScope) { - // 设备id - if (ObjectUtil.isNotEmpty(dto.getHardId())) { - HardManagerEntity hardDetail = hardManagerService.getById(dto.getHardId()); - if (ObjectUtil.isNotEmpty(hardDetail)) { - dto.setMchId(hardDetail.getMerchantId()); - } - } Page pageList = baseMapper.scopPageJoin(page, dto, dataScope); disposeList(pageList.getRecords(), dto); return pageList; @@ -92,7 +85,6 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl() - .eq(ObjectUtil.isNotEmpty(dto.getMchId()), HardSpuCategoryEntity::getMchId, dto.getMchId()) .eq(ObjectUtil.isNotEmpty(dto.getName()), HardSpuCategoryEntity::getName, dto.getName()) .ne(ObjectUtil.isNotEmpty(dto.getId()), HardSpuCategoryEntity::getId, dto.getId()) ); @@ -104,14 +96,5 @@ public class HardSpuCategoryServiceImpl extends ServiceImpl list, HardSpuCategoryDto dto) { if (ObjectUtil.isEmpty(list)) return; - // 商户 - List mchIds = list.stream().map(HardSpuCategoryVo::getMchId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(mchIds)) { - list.forEach(v -> v.setMerchantId(v.getMchId())); - List mchList = remoteMchService.getByIds(mchIds).getData(); - if (ObjectUtil.isNotEmpty(mchList)) { - WalletDataUtil.convertMchList(list, CollectionUtils.convertMap(mchList, MchManageVo::getId)); - } - } } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java new file mode 100644 index 000000000..150416d7e --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuJoinServiceImpl.java @@ -0,0 +1,52 @@ +package com.bsd.pjcloud.hard.service.impl.spu; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.core.util.BeanUtils; +import com.bsd.pjcloud.hard.api.dto.spu.HardSpuDto; +import com.bsd.pjcloud.hard.api.dto.spu.HardSpuJoinDto; +import com.bsd.pjcloud.hard.api.entity.spu.HardSpuJoinEntity; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuJoinVo; +import com.bsd.pjcloud.hard.api.vo.spu.HardSpuVo; +import com.bsd.pjcloud.hard.mapper.spu.HardSpuJoinMapper; +import com.bsd.pjcloud.hard.mapper.spu.HardSpuMapper; +import com.bsd.pjcloud.hard.service.HardSpuJoinService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +/** + * 旷世商品绑定 + */ +@Validated +@Slf4j +@RequiredArgsConstructor +@Service +public class HardSpuJoinServiceImpl extends ServiceImpl implements HardSpuJoinService { + + private final HardSpuMapper hardSpuMapper; + + @Override + public List scopeList(HardSpuJoinDto dto) { + List list = baseMapper.selectList(new LambdaQueryWrapper() + .eq(HardSpuJoinEntity::getHardDoorNumber, dto.getHardDoorNumber()) + .eq(HardSpuJoinEntity::getHardDoorId, dto.getHardDoorId()) + .eq(HardSpuJoinEntity::getCabinetNo, dto.getCabinetNo()) + ); + if (ObjectUtil.isEmpty(list)) return List.of(); + List joinList = BeanUtils.toBean(list, HardSpuJoinVo.class); + List spuIds = joinList.stream().map(HardSpuJoinVo::getSpuId).toList(); + // 查询商品 + if (ObjectUtil.isNotEmpty(spuIds)) { + List spuList = hardSpuMapper.scopPageList(HardSpuDto.builder().build(), null); + for (HardSpuJoinVo v : joinList) { + spuList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getSpuId())).findFirst().ifPresent(v::setSpuDetail); + } + } + return List.of(); + } +} \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuRepertoryServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuRepertoryServiceImpl.java index 091cfcfe6..3728114e4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuRepertoryServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/spu/HardSpuRepertoryServiceImpl.java @@ -75,7 +75,7 @@ public class HardSpuRepertoryServiceImpl extends ServiceImpl implements HardSpuService { private final HardManagerService hardManagerService; + private final HardDoorManagerService hardDoorManagerService; + private final HardSpuJoinService hardSpuJoinService; private final RemoteMchService remoteMchService; - private final HardManagerMapper hardManagerMapper; /** * 分页查询 @@ -61,19 +62,10 @@ public class HardSpuServiceImpl extends ServiceImpl>> getByCabinetNo(Long hardId, String cabinetNo) { + List>> result = new LinkedList<>(); + // 查询设备 + HardDoorManagerVo doorManagerVo = hardDoorManagerService.getByHardId(hardId); + if (ObjectUtil.isEmpty(doorManagerVo)) return result; + int doorCount = 6; + int storeySpuMaxCount = 10; + if (ObjectUtil.isNotEmpty(doorCount)) { + doorCount = doorManagerVo.getDoorCount().intValue(); + } + for (int i = 1; i <= doorCount; i++) { + HardSpuJoinDto spuJoinDto = new HardSpuJoinDto(); + spuJoinDto.setHardDoorNumber(i); + spuJoinDto.setHardDoorId(hardId); + spuJoinDto.setCabinetNo(cabinetNo); + List storeySpu = hardSpuJoinService.scopeList(spuJoinDto); + int storeySpuSize = storeySpu.size(); + int emptyStoreySpuSize = storeySpuMaxCount - storeySpuSize; + for (int j = 0; j < emptyStoreySpuSize; j++) { + HardSpuJoinVo hardSpuJoinEntity = new HardSpuJoinVo(); + hardSpuJoinEntity.setHardDoorId(hardId); + hardSpuJoinEntity.setHardDoorNumber(i); + storeySpu.add(hardSpuJoinEntity); + } + Map> addMap = new HashMap<>(); + addMap.put(i, storeySpu); + result.add(addMap); + } + return List.of(); + } + /** * 商品是否重复 */ @@ -126,25 +141,6 @@ public class HardSpuServiceImpl extends ServiceImpl list, HardSpuDto dto) { if (ObjectUtil.isEmpty(list)) return; - // 商户 - List mchIds = list.stream().map(HardSpuVo::getMchId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(mchIds)) { - list.forEach(v -> v.setMerchantId(v.getMchId())); - List mchList = remoteMchService.getByIds(mchIds).getData(); - if (ObjectUtil.isNotEmpty(mchList)) { - WalletDataUtil.convertMchList(list, CollectionUtils.convertMap(mchList, MchManageVo::getId)); - } - } - // 设备 - List hardIds = list.stream().map(HardSpuVo::getHardId).filter(ObjectUtil::isNotEmpty).distinct().toList(); - if (ObjectUtil.isNotEmpty(hardIds)) { - HardManagerDto hardManagerDto = new HardManagerDto(); - hardManagerDto.setIds(hardIds); - List hardList = hardManagerMapper.list(hardManagerDto); - if (ObjectUtil.isNotEmpty(hardList)) { - HardUtil.convertHardList(list, CollectionUtils.convertMap(hardList, HardManagerEntity::getId)); - } - } } } \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuMapper.xml deleted file mode 100644 index 5f151432d..000000000 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuMapper.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuJoinMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuJoinMapper.xml similarity index 73% rename from pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuJoinMapper.xml rename to pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuJoinMapper.xml index 1853b8218..d842c3a1c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardKsSkuJoinMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuJoinMapper.xml @@ -1,11 +1,14 @@ - - + + - + + + + diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml index 49d9e6419..0fe7da6d4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuMapper.xml @@ -13,12 +13,16 @@ + + + + + + + - - - @@ -38,13 +42,16 @@ a.sort, a.status, a.is_default, + a.specs_taste, + a.specs_capacity, + a.specs_weight, + a.sku_type, + a.ks_barcode, + a.ks_has_sub_sku, + a.ks_sub_sku, a.ks_status, a.ks_status_title, a.ks_comments, - a.hard_id, - a.hard_door_number, - a.mch_id, - a.mch_dept_id, a.create_by, a.create_time, a.update_by, @@ -58,15 +65,15 @@ and a.name like concat('%', #{dto.name}, '%') + + and a.sku_type = #{dto.skuType} + and a.spu_category_id = #{dto.spuCategoryId} and a.spu_category_id = #{dto.spuCategoryId} - - and a.hard_id = #{dto.hardId} - and a.status = #{dto.status} @@ -79,9 +86,15 @@ and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]} + + and a.id in + + #{v} + + - + + + + \ No newline at end of file