diff --git a/db/800pjcloudx_hardware.sql b/db/800pjcloudx_hardware.sql index 19c13bfa2..30d10655a 100644 --- a/db/800pjcloudx_hardware.sql +++ b/db/800pjcloudx_hardware.sql @@ -329,17 +329,18 @@ CREATE TABLE hard_spu_category DROP TABLE IF EXISTS hard_spu_repertory; CREATE TABLE hard_spu_repertory ( - id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', - user_id bigint NOT NULL COMMENT '用户id', - hard_id bigint NOT NULL COMMENT '设备id', - spu_id bigint NOT NULL COMMENT '商品id', - count bigint DEFAULT 0 COMMENT '更新库存数量', - biz_type tinytext NOT 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', + id bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + user_id bigint NOT NULL COMMENT '用户id', + hard_id bigint NOT NULL COMMENT '设备id', + spu_id bigint NOT NULL COMMENT '商品id', + before_count int NOT NULL COMMENT '更新前的库存数量', + count int DEFAULT 0 COMMENT '更新库存数量', + biz_type tinytext NOT 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 ='硬件商品库存更新记录'; \ No newline at end of file diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java index ae8b854bb..96512745f 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/spu/HardSpuRepertoryEntity.java @@ -48,6 +48,12 @@ public class HardSpuRepertoryEntity extends Model { @Schema(description = "商品id") private Long spuId; + /** + * 更新前的库存数量 + */ + @Schema(description = "更新前的库存数量") + private Integer beforeCount; + /** * 更新库存数量 */ @@ -55,7 +61,7 @@ public class HardSpuRepertoryEntity extends Model { @Min(value = 1, message = "更新库存数量不能小于1") @Max(value = 100, message = "更新库存数量不能大于100") @Schema(description = "更新库存数量") - private Long count; + private Integer count; /** * 上架类型 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 7412cc58d..51627ddb2 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 @@ -1,6 +1,7 @@ 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.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.entity.SysUser; @@ -28,6 +29,7 @@ import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import java.util.ArrayList; @@ -60,16 +62,27 @@ public class HardSpuRepertoryServiceImpl extends ServiceImpl mchIds = list.stream().map(HardSpuRepertoryVo::getSpuMchId).filter(ObjectUtil::isNotEmpty).distinct().toList(); + list.forEach(v -> v.setMerchantId(v.getSpuMchId())); if (ObjectUtil.isNotEmpty(mchIds)) { List mchList = remoteMchService.getByIds(mchIds).getData(); if (ObjectUtil.isNotEmpty(mchList)) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml index d9ad45aee..32c7395ec 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/resources/mapper/spu/HardSpuRepertoryMapper.xml @@ -7,6 +7,7 @@ + @@ -22,6 +23,7 @@ a.user_id, a.hard_id, a.spu_id, + a.before_count, a.count, a.biz_type, a.create_by, @@ -55,7 +57,7 @@