feat:旷世数据库生成

This commit is contained in:
dzc committed 2025-04-09 19:45:27 +08:00
1 parent 891cb59376
commit 7818bea206
29 files changed
+647 -11

No files matched your search

+45
View File
@@ -46,6 +46,7 @@ CREATE TABLE hard_door_manager
imei varchar(32) NOT NULL COMMENT '设备 IMEI 号(15 位)',
device_code int DEFAULT NULL COMMENT '设备编号',
cabinet_num int DEFAULT NULL COMMENT '货柜数量',
door_count int DEFAULT NULL COMMENT '货柜层数',
cabinet_camera_num int DEFAULT NULL COMMENT '每个货柜中摄像头数量',
cabinet_weight_unit_num int DEFAULT NULL COMMENT '每个货柜中称重单元数量',
power_status int DEFAULT NULL COMMENT '1:通电;2:断电',
@@ -335,6 +336,50 @@ CREATE TABLE hard_spu
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 ='旷世硬件商品';
-- ----------------------------
-- Table structure for hard_spu_category
-- ----------------------------
@@ -29,4 +29,7 @@ public interface CommonRoleConstant {
// 自动创建钱包
String AUTO_CREATE_WALLET = "WALLET_AUTO_CREATE";
// 商户角色
String MCH_USER = "MCH_USER";
}
@@ -0,0 +1,30 @@
package com.bsd.pjcloud.hard.api.constant.spu;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
/**
* 旷世sku审核状态
*/
@AllArgsConstructor
@Getter
public enum HardKsCheckStatusEnum {
STANDARD("1", "识别进行中"),
DONE("2", "识别完成(人工未二次复核)"),
SECOND_CHECK("3", "二次验证中"),
AUTO_SECOND_CHECK("4", "自动二次验证中"),
CHECK_DONE("5", "识别完成(人工二次复核)"),
;
private final String type;
private final String description;
public static HardKsCheckStatusEnum valueOfByType(String type) {
if (ObjectUtil.isEmpty(type)) return null;
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
}
@@ -0,0 +1,34 @@
package com.bsd.pjcloud.hard.api.constant.spu;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
/**
* 旷世订单审核状态
*/
@AllArgsConstructor
@Getter
public enum HardKsOrderStatusEnum {
IDENTIFYING("1", "识别中"),
SUCCESS("2", "成功"),
SUCCESS_NO_ITEM_TAKEN("3", "成功:未拿商品"),
FAILED_UNRECOGNIZABLE("4", "失败:无法识别"),
ALARM_INTENTIONAL_OBSTRUCTION("6", "告警:故意遮挡"),
ALARM_SKU_NOT_IN_CABINET("7", "告警:柜中无此SKU"),
ALARM_OTHER_ALARM("8", "告警:其他告警"),
ALARM_FOREIGN_OBJECT("9", "告警:异物拿放"),
ALARM_SUSPECTED_DEVICE_FAILURE("10", "告警:疑似设备故障");
private final String type;
private final String description;
public static HardKsOrderStatusEnum valueOfByType(String type) {
if (ObjectUtil.isEmpty(type)) return null;
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
}
@@ -0,0 +1,26 @@
package com.bsd.pjcloud.hard.api.constant.spu;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import java.util.Arrays;
/**
* 旷世sku类型
*/
@AllArgsConstructor
@Getter
public enum HardKsSkuTypeEnum {
STANDARD("0", "标准库"),
SELF("1", "私有库"),
;
private final String type;
private final String description;
public static HardKsSkuTypeEnum valueOfByType(String type) {
if (ObjectUtil.isEmpty(type)) return null;
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
}
@@ -1,7 +1,6 @@
package com.bsd.pjcloud.hard.api.constant.spu;
import cn.hutool.core.util.ObjectUtil;
import com.bsd.pjcloud.hard.api.constant.HardPrintStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -12,14 +11,14 @@ import java.util.Arrays;
*/
@AllArgsConstructor
@Getter
public enum SpuRepertoryTypeEnum {
public enum HardSpuRepertoryTypeEnum {
HANDLER("10", "手动上架"),
AUTO("20", "自动上架"),
;
private final String type;
private final String description;
public static SpuRepertoryTypeEnum valueOfByType(String type) {
public static HardSpuRepertoryTypeEnum valueOfByType(String type) {
if (ObjectUtil.isEmpty(type)) return null;
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
@@ -0,0 +1,9 @@
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 {
}
@@ -0,0 +1,8 @@
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 {
}
@@ -10,9 +10,6 @@ import java.time.LocalDateTime;
/**
* 智能柜设置
*
* @author dzc
* @date 2025-04-08 18:50:53
*/
@Builder
@AllArgsConstructor
@@ -38,6 +35,12 @@ public class HardDoorManagerEntity extends Model<HardDoorManagerEntity> {
@Schema(description = "设备编号")
private Long hardId;
/**
* 设备层数
*/
@Schema(description = "设备层数")
private Long doorCount;
/**
* 内置设备编号
*/
@@ -9,9 +9,6 @@ import java.time.LocalDateTime;
/**
* 设备管理
*
* @author dzc
* @date 2025-01-05 14:16:52
*/
@Builder
@AllArgsConstructor
@@ -0,0 +1,130 @@
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<HardKsSkuEntity> {
/**
* 编号
*/
@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;
}
@@ -0,0 +1,83 @@
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<HardKsSkuJoinEntity> {
/**
* 编号
*/
@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;
}
@@ -0,0 +1,9 @@
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 {
}
@@ -0,0 +1,9 @@
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 {
}
@@ -135,6 +135,21 @@ public class HardOrderController {
public R appMchPageJoin(@ParameterObject Page page, @ParameterObject HardOrderDto dto) {
dto.setIsFindCarList(false);
PjcloudUser user = SecurityUtils.getUser();
// 判断是否为合作超市管理员工
if (!hardManagerService.isSuperMarketAdmin(user)) {
return R.ok(new Page());
}
// 查询商户和下面的子商户
List<Long> mchDtoIds = dto.getMchIds();
if (ObjectUtil.isNotEmpty(mchDtoIds) && mchDtoIds.size() == 1) {
Long mchId = mchDtoIds.get(0);
List<MchManageVo> mchList = mchService.getByParentId(mchId).getData();
if (ObjectUtil.isNotEmpty(mchList)) {
List<Long> mchIds = mchList.stream().map(MchManageVo::getId).toList();
mchDtoIds.addAll(mchIds);
dto.setMchIds(mchDtoIds);
}
}
return R.ok(hardwareOrderService.appMchPageJoin(page, dto, user));
}
@@ -22,6 +22,7 @@ import com.bsd.pjcloud.hard.api.vo.order.HardDeptTotalVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderCsVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderPayTypeVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderSbVo;
import com.bsd.pjcloud.hard.service.HardManagerService;
import com.bsd.pjcloud.hard.service.HardOrderTotalService;
import com.bsd.pjcloud.wallet.api.feign.RemoteMchService;
import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
@@ -51,6 +52,7 @@ import java.util.Map;
public class HardOrderTotalController {
private final HardOrderTotalService hardOrderTotalService;
private final HardManagerService hardManagerService;
private final RemoteMchService mchService;
@@ -65,6 +67,21 @@ public class HardOrderTotalController {
public R appMchTotal(@ParameterObject Page page, @ParameterObject HardOrderDto dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setIsFindCarList(false);
// 判断是否为合作超市管理员工
if (!hardManagerService.isSuperMarketAdmin(user)) {
return R.ok(new Page());
}
// 查询商户和下面的子商户
List<Long> mchDtoIds = dto.getMchIds();
if (ObjectUtil.isNotEmpty(mchDtoIds) && mchDtoIds.size() == 1) {
Long mchId = mchDtoIds.get(0);
List<MchManageVo> mchList = mchService.getByParentId(mchId).getData();
if (ObjectUtil.isNotEmpty(mchList)) {
List<Long> mchIds = mchList.stream().map(MchManageVo::getId).toList();
mchDtoIds.addAll(mchIds);
dto.setMchIds(mchDtoIds);
}
}
return R.ok(hardOrderTotalService.listCsByDay(page, dto, user));
}
/* ************************************* end app end ************************************* */
@@ -0,0 +1,81 @@
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<HardKsSkuEntity> 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<HardKsSkuEntity> export(HardKsSkuEntity hardKsSku, Long[] ids) {
return hardKsSkuService.list(Wrappers.lambdaQuery(hardKsSku).in(ArrayUtil.isNotEmpty(ids), HardKsSkuEntity::getId, ids));
}
}
@@ -0,0 +1,11 @@
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<HardKsSkuJoinEntity> {
}
@@ -0,0 +1,11 @@
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<HardKsSkuEntity> {
}
@@ -0,0 +1,8 @@
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<HardKsSkuJoinEntity> {
}
@@ -0,0 +1,8 @@
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<HardKsSkuEntity> {
}
@@ -34,4 +34,9 @@ public interface HardManagerService extends IService<HardManagerEntity> {
* 判断当前用户有哪些商户的权限
*/
List<Long> getCurrentUserMchInfo(PjcloudUser user, List<Long> mchIds);
/**
* 判断当前用户是否为合作商家超市管理员
*/
boolean isSuperMarketAdmin(PjcloudUser user);
}
@@ -258,6 +258,16 @@ public class HardManagerServiceImpl extends ServiceImpl<HardManagerMapper, HardM
return mchIds;
}
@Override
public boolean isSuperMarketAdmin(PjcloudUser user) {
UserInfo userInfo = userService.getByUserId(user.getId()).getData();
if (ObjectUtil.isEmpty(userInfo)) return false;
String[] roles = userInfo.getRoleCodes();
if (roles.length == 0) return false;
List<String> roleList = Arrays.asList(roles);
return roleList.contains(CommonRoleConstant.MCH_USER);
}
private boolean existUniqueCode(String uniqueCode, Long id) {
Long count = baseMapper.selectCount(new LambdaQueryWrapper<HardManagerEntity>()
.eq(ObjectUtil.isNotEmpty(uniqueCode), HardManagerEntity::getUniqueCode, uniqueCode)
@@ -0,0 +1,21 @@
package com.bsd.pjcloud.hard.service.impl.spu;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity;
import com.bsd.pjcloud.hard.mapper.spu.HardKsSkuJoinMapper;
import com.bsd.pjcloud.hard.service.HardKsSkuJoinService;
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 HardKsSkuJoinServiceImpl extends ServiceImpl<HardKsSkuJoinMapper, HardKsSkuJoinEntity> implements HardKsSkuJoinService {
}
@@ -0,0 +1,21 @@
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<HardKsSkuMapper, HardKsSkuEntity> implements HardKsSkuService {
}
@@ -11,7 +11,7 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.hard.api.constant.spu.SpuRepertoryTypeEnum;
import com.bsd.pjcloud.hard.api.constant.spu.HardSpuRepertoryTypeEnum;
import com.bsd.pjcloud.hard.api.dto.manager.HardManagerDto;
import com.bsd.pjcloud.hard.api.dto.spu.HardSpuRepertoryDto;
import com.bsd.pjcloud.hard.api.entity.manager.HardManagerEntity;
@@ -76,7 +76,7 @@ public class HardSpuRepertoryServiceImpl extends ServiceImpl<HardSpuRepertoryMap
entity.setBeforeCount(beforeCount);
entity.setUserId(user.getId());
entity.setHardId(spuDetail.getHardId());
entity.setBizType(SpuRepertoryTypeEnum.HANDLER.getType());
entity.setBizType(HardSpuRepertoryTypeEnum.HANDLER.getType());
baseMapper.insert(entity);
// 更新商品库存
HardSpuEntity spu = new HardSpuEntity();
@@ -7,6 +7,7 @@
<result property="hardId" column="hard_id"/>
<result property="imei" column="imei"/>
<result property="deviceCode" column="device_code"/>
<result property="doorCount" column="door_count"/>
<result property="cabinetNum" column="cabinet_num"/>
<result property="cabinetCameraNum" column="cabinet_camera_num"/>
<result property="cabinetWeightUnitNum" column="cabinet_weight_unit_num"/>
@@ -30,6 +31,7 @@
select a.id,
a.hard_id,
a.imei,
a.door_count,
a.device_code,
a.cabinet_num,
a.cabinet_camera_num,
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsd.pjcloud.hard.mapper.spu.HardKsSkuJoinMapper">
<resultMap id="hardKsSkuJoinMap" type="com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuJoinEntity">
<id property="id" column="id"/>
<result property="ksSkuId" column="ks_sku_id"/>
<result property="hardDoorId" column="hard_door_id"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
</mapper>
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsd.pjcloud.hard.mapper.spu.HardKsSkuMapper">
<resultMap id="hardKsSkuMap" type="com.bsd.pjcloud.hard.api.entity.spu.HardKsSkuEntity">
<id property="id" column="id"/>
<result property="ksSkuId" column="ks_sku_id"/>
<result property="barcode" column="barcode"/>
<result property="skuName" column="sku_name"/>
<result property="skuId" column="sku_id"/>
<result property="cover" column="cover"/>
<result property="skuType" column="sku_type"/>
<result property="specs" column="specs"/>
<result property="hasSubSku" column="has_sub_sku"/>
<result property="subSku" column="sub_sku"/>
<result property="checkStatus" column="check_status"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
</mapper>