feat:旷世数据库生成
This commit is contained in:
1 parent
891cb59376
commit
7818bea206
29 files changed
+647
-11
No files matched your search
@@ -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
|
||||
-- ----------------------------
|
||||
|
||||
+3
@@ -29,4 +29,7 @@ public interface CommonRoleConstant {
|
||||
// 自动创建钱包
|
||||
String AUTO_CREATE_WALLET = "WALLET_AUTO_CREATE";
|
||||
|
||||
// 商户角色
|
||||
String MCH_USER = "MCH_USER";
|
||||
|
||||
}
|
||||
+30
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
+34
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
+26
@@ -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();
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -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();
|
||||
}
|
||||
+9
@@ -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 {
|
||||
|
||||
}
|
||||
+8
@@ -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 {
|
||||
}
|
||||
+6
-3
@@ -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;
|
||||
|
||||
/**
|
||||
* 内置设备编号
|
||||
*/
|
||||
|
||||
-3
@@ -9,9 +9,6 @@ import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 设备管理
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-05 14:16:52
|
||||
*/
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
+130
@@ -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;
|
||||
}
|
||||
+83
@@ -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;
|
||||
}
|
||||
+9
@@ -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 {
|
||||
|
||||
}
|
||||
+9
@@ -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 {
|
||||
|
||||
}
|
||||
+15
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
+17
@@ -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 ************************************* */
|
||||
|
||||
+81
@@ -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));
|
||||
}
|
||||
}
|
||||
+11
@@ -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> {
|
||||
|
||||
|
||||
}
|
||||
+11
@@ -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> {
|
||||
|
||||
|
||||
}
|
||||
+8
@@ -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> {
|
||||
|
||||
}
|
||||
+8
@@ -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> {
|
||||
|
||||
}
|
||||
+5
@@ -34,4 +34,9 @@ public interface HardManagerService extends IService<HardManagerEntity> {
|
||||
* 判断当前用户有哪些商户的权限
|
||||
*/
|
||||
List<Long> getCurrentUserMchInfo(PjcloudUser user, List<Long> mchIds);
|
||||
|
||||
/**
|
||||
* 判断当前用户是否为合作商家超市管理员
|
||||
*/
|
||||
boolean isSuperMarketAdmin(PjcloudUser user);
|
||||
}
|
||||
+10
@@ -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)
|
||||
|
||||
+21
@@ -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 {
|
||||
|
||||
}
|
||||
+21
@@ -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 {
|
||||
|
||||
}
|
||||
+2
-2
@@ -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();
|
||||
|
||||
+2
@@ -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,
|
||||
|
||||
+16
@@ -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>
|
||||
+25
@@ -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>
|
||||
Reference in new issue
Block a user