29 changed files with 1430 additions and 54 deletions
@ -0,0 +1,104 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.qs.serve.mbp.handler.SplitStringTypeHandler; |
|||
import lombok.Data; |
|||
import org.apache.ibatis.type.JdbcType; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 区域档案 实体类 |
|||
* @author YenHex |
|||
* @since 2022-10-10 |
|||
*/ |
|||
@Data |
|||
@TableName(value = "bms_region",autoResultMap = true) |
|||
public class BmsRegion implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.INPUT) |
|||
private String id; |
|||
|
|||
/** 名称 */ |
|||
@Length(max = 20,message = "名称长度不能超过20字") |
|||
private String name; |
|||
|
|||
/** 别名 */ |
|||
private String aliasRegion; |
|||
|
|||
/** 编码 */ |
|||
@Length(max = 20,message = "编码长度不能超过20字") |
|||
private String code; |
|||
|
|||
/** 父级ID */ |
|||
@Length(max = 32,message = "父级ID长度不能超过32字") |
|||
private String pid; |
|||
|
|||
/** 备注 */ |
|||
private String remark; |
|||
|
|||
/** 层级 */ |
|||
private Integer level; |
|||
|
|||
/** 祖级id */ |
|||
private String pathIds; |
|||
|
|||
/** 祖级id */ |
|||
private String pathNames; |
|||
|
|||
/** 是否停用 */ |
|||
private Integer stopFlag; |
|||
|
|||
/** 工厂产地ID */ |
|||
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) |
|||
private String[] factoryIds; |
|||
|
|||
/** 系统编码1 */ |
|||
private String sysCode1; |
|||
/** 系统编码2 */ |
|||
private String sysCode2; |
|||
/** 系统编码3 */ |
|||
private String sysCode3; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
} |
|||
|
@ -0,0 +1,91 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 区域档案 实体类 |
|||
* @author YenHex |
|||
* @since 2022-10-10 |
|||
*/ |
|||
@Data |
|||
@TableName(value = "bms_region2") |
|||
public class BmsRegion2 implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.INPUT) |
|||
private String id; |
|||
|
|||
/** 名称 */ |
|||
@Length(max = 20,message = "名称长度不能超过20字") |
|||
private String name; |
|||
|
|||
/** 编码 */ |
|||
@Length(max = 20,message = "编码长度不能超过20字") |
|||
private String code; |
|||
|
|||
/** 父级ID */ |
|||
@Length(max = 32,message = "父级ID长度不能超过32字") |
|||
private String pid; |
|||
|
|||
/** 层级 */ |
|||
private Integer level; |
|||
|
|||
/** 祖级id */ |
|||
private String pathIds; |
|||
|
|||
/** 祖级id */ |
|||
private String pathNames; |
|||
|
|||
private String remark; |
|||
|
|||
/** 系统编码1 */ |
|||
private String sysCode1; |
|||
/** 系统编码2 */ |
|||
private String sysCode2; |
|||
/** 系统编码3 */ |
|||
private String sysCode3; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
} |
|||
|
@ -0,0 +1,136 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 科目 实体类 |
|||
* @author YenHex |
|||
* @since 2022-11-07 |
|||
*/ |
|||
@Data |
|||
@TableName("bms_subject") |
|||
public class BmsSubject implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** 科目名称 */ |
|||
@NotBlank(message = "科目名称不能为空") |
|||
@Length(max = 50,message = "科目名称长度不能超过50字") |
|||
private String subjectName; |
|||
|
|||
|
|||
|
|||
private String pathNames; |
|||
|
|||
/** 科目编码 */ |
|||
@NotBlank(message = "科目编码不能为空") |
|||
@Length(max = 50,message = "科目编码长度不能超过50字") |
|||
private String subjectCode; |
|||
|
|||
/** 父级id */ |
|||
@NotNull(message = "父级id不能为空") |
|||
private Long pid; |
|||
|
|||
/** 销售区域:0全部可见;1-部分可见;2-全部不可见 */ |
|||
private Integer saleRegionFlag; |
|||
|
|||
/** 行政区域:0全部可见;1-部分可见;2-全部不可见 */ |
|||
private Integer bizRegionFlag; |
|||
|
|||
/** 是否进场费用 */ |
|||
private Integer slottingFlag; |
|||
|
|||
@TableField(exist = false) |
|||
private String parName; |
|||
|
|||
private Integer level; |
|||
|
|||
/** 应用与发布费用时,必选网点拦截 */ |
|||
private Integer pointSelectFlag; |
|||
|
|||
/** 备注 */ |
|||
@Length(max = 255,message = "备注长度不能超过255字") |
|||
private String remark; |
|||
|
|||
private String thirdCode; |
|||
|
|||
private String thirdName; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 最后更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 所属租户 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 逻辑删除标记(0:显示;1:隐藏) */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String delFlag; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 表单ID */ |
|||
private Long formId; |
|||
|
|||
/** 表单id(费用申请) */ |
|||
private Long formIdForCostApply; |
|||
|
|||
@TableField(exist = false) |
|||
private Object subjectFormInfo; |
|||
|
|||
@TableField(exist = false) |
|||
private Object subjectFormInfo4CostApply; |
|||
|
|||
/** 销售区域id */ |
|||
@TableField(exist = false) |
|||
private List<String> saleRegionIds; |
|||
|
|||
/** 行政区域id */ |
|||
@TableField(exist = false) |
|||
private List<String> bizRegionIds; |
|||
|
|||
/** 销售区域 */ |
|||
@TableField(exist = false) |
|||
private List<?> saleRegionInfos; |
|||
|
|||
/** 行政区域 */ |
|||
@TableField(exist = false) |
|||
private List<?> bizRegionInfos; |
|||
|
|||
@TableField(exist = false) |
|||
private List<Long> selectIds; |
|||
} |
|||
|
@ -0,0 +1,146 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.qs.serve.common.utils.StringUtils; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 分类 实体类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Data |
|||
@TableName("goods_category") |
|||
public class GoodsCategory implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** PK */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** (1:开启;0:关闭) */ |
|||
private Integer enable; |
|||
|
|||
@NotBlank(message = "编码不能为空") |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String code; |
|||
|
|||
/** 父分类编号 */ |
|||
private Long parentId; |
|||
|
|||
/** 名称 */ |
|||
@Length(max = 64,message = "名称长度不能超过16字") |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String name; |
|||
|
|||
/** 排序 */ |
|||
private Integer level; |
|||
|
|||
/** 等级路径id */ |
|||
private String levelPath; |
|||
|
|||
/** 等级路径 */ |
|||
private String levelPathNames; |
|||
|
|||
/** 描述 */ |
|||
@Length(max = 255,message = "描述长度不能超过255字") |
|||
private String description; |
|||
|
|||
/** 图片 */ |
|||
@Length(max = 255,message = "图片长度不能超过255字") |
|||
private String picUrl; |
|||
|
|||
/** 账套编码 */ |
|||
private String bookBelong; |
|||
|
|||
/** 账套名称 */ |
|||
private String bookName; |
|||
|
|||
/** 排序 */ |
|||
private Integer sort; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 最后更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 所属租户 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 逻辑删除标记(0:显示;1:隐藏) */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String delFlag; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 可投放费用标识 */ |
|||
private Integer costFlag; |
|||
|
|||
@TableField(exist = false) |
|||
private Object parentInfo; |
|||
|
|||
/** 加载spu */ |
|||
@TableField(exist = false) |
|||
private Integer loadSpuData; |
|||
|
|||
|
|||
@TableField(exist = false) |
|||
private List<Long> selectIds; |
|||
|
|||
@TableField(exist = false) |
|||
private String brandLabel; |
|||
|
|||
@TableField(exist = false) |
|||
private String categoryLabel; |
|||
|
|||
@TableField(exist = false) |
|||
private String seriseLabel; |
|||
|
|||
@TableField(exist = false) |
|||
private Integer relateBrandFlag; |
|||
|
|||
public void initCategoryNameByPathsName(){ |
|||
if(!StringUtils.hasText(this.levelPathNames)){ |
|||
return; |
|||
} |
|||
String[] names = this.levelPathNames.split("_"); |
|||
if(names.length==1){ |
|||
this.brandLabel = names[0]; |
|||
}else if(names.length==2){ |
|||
this.brandLabel = names[0]; |
|||
this.categoryLabel = names[1]; |
|||
}else if(names.length >=3){ |
|||
this.brandLabel = names[0]; |
|||
this.categoryLabel = names[1]; |
|||
this.seriseLabel = names[2]; |
|||
} |
|||
} |
|||
} |
|||
|
@ -0,0 +1,155 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import jdk.nashorn.internal.ir.annotations.Ignore; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* sku 实体类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Data |
|||
@TableName("goods_sku") |
|||
public class GoodsSku implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** PK */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** sku编码 */ |
|||
@Length(max = 32,message = "sku编码长度不能超过32字") |
|||
private String skuCode; |
|||
|
|||
private String skuName; |
|||
|
|||
private String skuAddCode; |
|||
|
|||
/** 商品Id */ |
|||
@NotNull(message = "商品Id不能为空") |
|||
private Long spuId; |
|||
|
|||
/** 图片 */ |
|||
@Length(max = 500,message = "图片长度不能超过500字") |
|||
private String picUrl; |
|||
|
|||
/** 销售价格 */ |
|||
private BigDecimal salesPrice; |
|||
|
|||
/** 市场价 */ |
|||
private BigDecimal marketPrice; |
|||
|
|||
/** 成本价 */ |
|||
private BigDecimal costPrice; |
|||
|
|||
/** 规格值 */ |
|||
private String specInfos; |
|||
|
|||
/** 库存 */ |
|||
@NotNull(message = "库存不能为空") |
|||
private Integer stock; |
|||
|
|||
/** 重量(kg) */ |
|||
@NotNull(message = "重量(kg)不能为空") |
|||
private BigDecimal weight; |
|||
|
|||
/** 体积(m³) */ |
|||
@NotNull(message = "体积(m³)不能为空") |
|||
private BigDecimal volume; |
|||
|
|||
/** 净重 */ |
|||
private BigDecimal invUnitWeight; |
|||
|
|||
/** 最低起批数(0->不限制) */ |
|||
private Integer minPurchase; |
|||
|
|||
/** 是否开启 1、是;0否 */ |
|||
private Integer enable; |
|||
|
|||
/** 是否可以下单 1、是;0否 */ |
|||
private Integer orderFlag; |
|||
|
|||
private Integer specialFlag; |
|||
|
|||
/** 在线下单 */ |
|||
private Integer orderOnlineFlag; |
|||
|
|||
/** 线下下单 */ |
|||
private Integer orderOfflineFlag; |
|||
|
|||
/** 单位id */ |
|||
private Long unitId; |
|||
|
|||
/** 单位 */ |
|||
private String unitName; |
|||
|
|||
/** 版本号 */ |
|||
private Integer version; |
|||
|
|||
/** 备注 */ |
|||
private String remark; |
|||
|
|||
/** 账套编码 */ |
|||
private String bookBelong; |
|||
|
|||
/** 账套名称 */ |
|||
private String bookName; |
|||
|
|||
/** 产地 */ |
|||
@NotNull(message = "产地不能为空") |
|||
private String belong; |
|||
|
|||
/** 包装 */ |
|||
@NotNull(message = "包装不能为空") |
|||
private String wrapVal; |
|||
|
|||
/** 口味 */ |
|||
@NotNull(message = "口味不能为空") |
|||
private String tasteVal; |
|||
|
|||
/** 最后更新时间 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 所属租户 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 逻辑删除标记(0:显示;1:隐藏) */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String delFlag; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 可投放费用标识 */ |
|||
private Integer costFlag; |
|||
|
|||
} |
|||
|
@ -0,0 +1,142 @@ |
|||
package com.qs.serve.modules.basic.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import com.qs.serve.mbp.handler.SplitStringTypeHandler; |
|||
import lombok.Data; |
|||
import org.apache.ibatis.type.JdbcType; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Objects; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* spu 实体类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Data |
|||
@TableName(value = "goods_spu",autoResultMap = true) |
|||
public class GoodsSpu implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** PK */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** 商品编码 */ |
|||
@NotBlank(message = "商品编码不能为空") |
|||
@Length(max = 32,message = "商品编码长度不能超过32字") |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String spuCode; |
|||
|
|||
/** 商品名字 */ |
|||
@NotBlank(message = "商品名字不能为空") |
|||
@Length(max = 200,message = "商品名字长度不能超过200字") |
|||
@TableField(condition = SqlCondition.LIKE) |
|||
private String name; |
|||
|
|||
/** 一级分类、品牌ID */ |
|||
@NotNull(message = "一级分类ID不能为空") |
|||
private String categoryFirst; |
|||
|
|||
/** 二级分类、类目ID */ |
|||
private String categorySecond; |
|||
|
|||
/** 三级分类、系列ID */ |
|||
private String categoryThird; |
|||
|
|||
/** 最后一级分类 */ |
|||
private String categoryLast; |
|||
|
|||
/** 商品图片 */ |
|||
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) |
|||
private String[] picUrls; |
|||
|
|||
/** 上下架(1是 0否) */ |
|||
private Integer shelf; |
|||
|
|||
/** 是否可以下单 1、是;0否 */ |
|||
private Integer orderFlag; |
|||
|
|||
/** 排序字段 */ |
|||
@NotNull(message = "排序字段不能为空") |
|||
private Integer sort; |
|||
|
|||
/** 销量 */ |
|||
private Integer saleNum; |
|||
|
|||
|
|||
/** 产品口味(非sku规格值) */ |
|||
private String tasteValue; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 最后更新时间 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 所属租户 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
/** 逻辑删除标记(0:显示;1:隐藏) */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String delFlag; |
|||
|
|||
/** 可投放费用标识 */ |
|||
private Integer costFlag; |
|||
|
|||
/** 账套编码 */ |
|||
private String bookBelong; |
|||
|
|||
/** 账套名称 */ |
|||
private String bookName; |
|||
|
|||
/** 在线下单 */ |
|||
private Integer orderOnlineFlag; |
|||
|
|||
/** 线下下单 */ |
|||
private Integer orderOfflineFlag; |
|||
|
|||
/** 存货标识 */ |
|||
private Integer spuCunhuoFlag; |
|||
|
|||
/** 特殊SKUID */ |
|||
private Long specialSkuId; |
|||
|
|||
/** 销售分组id(默认0,表所有) */ |
|||
private Long goodsSaleGroupId; |
|||
|
|||
/** 商品销售类型:0-普通商品;1-赠品 */ |
|||
private Integer goodsSaleType; |
|||
|
|||
private String skuNumVal; |
|||
|
|||
} |
|||
|
@ -0,0 +1,30 @@ |
|||
package com.qs.serve.modules.basic.entity.dto; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2023/2/20 |
|||
*/ |
|||
@Data |
|||
public class GoodsTargetInfo { |
|||
|
|||
/** 目标类型(brand、category、series、spu、sku) */ |
|||
private String targetType; |
|||
|
|||
/** 目标id */ |
|||
private Long targetId; |
|||
|
|||
/** 目标编码 */ |
|||
private String targetCode; |
|||
|
|||
/** 目标名称 */ |
|||
private String targetName; |
|||
|
|||
/** 目标等级id路径 */ |
|||
private String targetLevelPathIds; |
|||
|
|||
/** 目标等级名称路径 */ |
|||
private String targetLevelPathNames; |
|||
|
|||
} |
@ -0,0 +1,84 @@ |
|||
package com.qs.serve.modules.basic.entity.dto; |
|||
|
|||
import com.qs.serve.modules.basic.entity.BmsCostCenter; |
|||
import com.qs.serve.modules.basic.entity.BmsRegion; |
|||
import com.qs.serve.modules.basic.entity.BmsRegion2; |
|||
import com.qs.serve.modules.basic.entity.BmsSupplier; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2022/11/10 |
|||
*/ |
|||
@Data |
|||
public class TbsCenterDto { |
|||
|
|||
String id; |
|||
|
|||
String centerCode; |
|||
|
|||
String centerName; |
|||
|
|||
String centerType; |
|||
|
|||
LocalDateTime createTime; |
|||
|
|||
/** 费用占比率,单位百分位(该成本中心在费用中占比) */ |
|||
@NotNull(message = "费用占比率不能为空") |
|||
private BigDecimal centerRate; |
|||
|
|||
/** 费用占比金额(该成本中心在费用金额) */ |
|||
@NotNull(message = "费用占比率不能为空") |
|||
private BigDecimal centerAmount; |
|||
|
|||
public TbsCenterDto(){ |
|||
|
|||
} |
|||
|
|||
public TbsCenterDto(String id, String centerCode, String centerName, String centerType, LocalDateTime createTime) { |
|||
this.id = id; |
|||
this.centerCode = centerCode; |
|||
this.centerName = centerName; |
|||
this.centerType = centerType; |
|||
this.createTime = createTime; |
|||
} |
|||
|
|||
public TbsCenterDto(String id, String centerCode, String centerName, String centerType) { |
|||
this.id = id; |
|||
this.centerCode = centerCode; |
|||
this.centerName = centerName; |
|||
this.centerType = centerType; |
|||
} |
|||
|
|||
public TbsCenterDto(BmsRegion bmsRegion){ |
|||
this.id = bmsRegion.getId(); |
|||
this.centerCode = bmsRegion.getCode(); |
|||
this.centerName = bmsRegion.getName(); |
|||
this.centerType = "saleRegion"; |
|||
} |
|||
|
|||
public TbsCenterDto(BmsRegion2 bmsRegion){ |
|||
this.id = bmsRegion.getId(); |
|||
this.centerCode = bmsRegion.getCode(); |
|||
this.centerName = bmsRegion.getName(); |
|||
this.centerType = "bizRegion"; |
|||
} |
|||
|
|||
public TbsCenterDto(BmsSupplier supplier){ |
|||
this.id = supplier.getId(); |
|||
this.centerCode = supplier.getCode(); |
|||
this.centerName = supplier.getName(); |
|||
this.centerType = "customer"; |
|||
} |
|||
|
|||
public TbsCenterDto(BmsCostCenter costCenter){ |
|||
this.id = costCenter.getId().toString(); |
|||
this.centerCode = costCenter.getCode(); |
|||
this.centerName = costCenter.getName(); |
|||
this.centerType = "center"; |
|||
} |
|||
} |
@ -0,0 +1,11 @@ |
|||
package com.qs.serve.modules.basic.consts; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2022/11/9 |
|||
*/ |
|||
public enum TbsGoodsType { |
|||
|
|||
brand,category,series,spu,sku |
|||
|
|||
} |
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.BmsRegion2; |
|||
|
|||
/** |
|||
* 区域档案 Mapper |
|||
* @author YenHex |
|||
* @date 2022-10-10 |
|||
*/ |
|||
public interface BmsRegion2Mapper extends BaseMapper<BmsRegion2> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,17 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.BmsRegion; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Select; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
/** |
|||
* 区域档案 Mapper |
|||
* @author YenHex |
|||
* @date 2022-10-10 |
|||
*/ |
|||
public interface BmsRegionMapper extends BaseMapper<BmsRegion> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,17 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.BmsSubject; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
/** |
|||
* 科目 Mapper |
|||
* @author YenHex |
|||
* @date 2022-11-07 |
|||
*/ |
|||
public interface BmsSubjectMapper extends BaseMapper<BmsSubject> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,19 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.GoodsCategory; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Select; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 分类 Mapper |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.GoodsSku; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Select; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* sku Mapper |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsSkuMapper extends BaseMapper<GoodsSku> { |
|||
|
|||
|
|||
} |
|||
|
@ -0,0 +1,20 @@ |
|||
package com.qs.serve.modules.basic.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.basic.entity.GoodsSpu; |
|||
import org.apache.ibatis.annotations.Param; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* spu Mapper |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsSpuMapper extends BaseMapper<GoodsSpu> { |
|||
|
|||
|
|||
} |
|||
|
@ -0,0 +1,79 @@ |
|||
package com.qs.serve.modules.basic.service; |
|||
|
|||
import com.qs.serve.modules.basic.consts.TbsGoodsType; |
|||
import com.qs.serve.modules.basic.entity.GoodsCategory; |
|||
import com.qs.serve.modules.basic.entity.GoodsSku; |
|||
import com.qs.serve.modules.basic.entity.GoodsSpu; |
|||
import com.qs.serve.modules.basic.entity.dto.GoodsTargetInfo; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2025/4/21 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class GoodsApplicationService { |
|||
|
|||
private final GoodsSpuService goodsSpuService; |
|||
private final GoodsCategoryService goodsCategoryService; |
|||
private final GoodsSkuService goodsSkuService; |
|||
|
|||
public List<GoodsTargetInfo> getGoodsTargetInfo(String goodsType, List<Long> goodsIds){ |
|||
List<GoodsTargetInfo> resultList = new ArrayList<>(); |
|||
if(goodsType.equals(TbsGoodsType.spu.name())){ |
|||
for (Long spuId : goodsIds) { |
|||
GoodsSpu goodsSpu = goodsSpuService.getById(spuId); |
|||
GoodsCategory category1 = goodsCategoryService.getById(goodsSpu.getCategoryFirst()); |
|||
GoodsCategory category2 = goodsCategoryService.getById(goodsSpu.getCategorySecond()); |
|||
GoodsCategory category3 = goodsCategoryService.getById(goodsSpu.getCategoryThird()); |
|||
GoodsTargetInfo targetInfo = new GoodsTargetInfo(); |
|||
targetInfo.setTargetType(goodsType); |
|||
targetInfo.setTargetId(goodsSpu.getId()); |
|||
targetInfo.setTargetCode(goodsSpu.getSpuCode()); |
|||
targetInfo.setTargetName(goodsSpu.getName()); |
|||
targetInfo.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()); |
|||
targetInfo.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()); |
|||
resultList.add(targetInfo); |
|||
} |
|||
}else if (goodsType.equals(TbsGoodsType.sku.name())){ |
|||
for (Long skuId : goodsIds) { |
|||
GoodsSku sku = goodsSkuService.getById(skuId); |
|||
GoodsSpu goodsSpu = goodsSpuService.getById(sku.getSpuId()); |
|||
GoodsCategory category1 = goodsCategoryService.getById(goodsSpu.getCategoryFirst()); |
|||
GoodsCategory category2 = goodsCategoryService.getById(goodsSpu.getCategorySecond()); |
|||
GoodsCategory category3 = goodsCategoryService.getById(goodsSpu.getCategoryThird()); |
|||
GoodsTargetInfo targetInfo = new GoodsTargetInfo(); |
|||
targetInfo.setTargetType(goodsType); |
|||
targetInfo.setTargetId(sku.getId()); |
|||
targetInfo.setTargetCode(sku.getSkuCode()); |
|||
targetInfo.setTargetName(sku.getSpecInfos()); |
|||
targetInfo.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()+"_"+sku.getId()); |
|||
targetInfo.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()+"_"+sku.getSpecInfos()); |
|||
resultList.add(targetInfo); |
|||
} |
|||
}else { |
|||
//品牌、品类、系列
|
|||
for (Long categoryId : goodsIds) { |
|||
GoodsCategory category = goodsCategoryService.getById(categoryId); |
|||
GoodsTargetInfo targetInfo = new GoodsTargetInfo(); |
|||
targetInfo.setTargetType(goodsType); |
|||
targetInfo.setTargetId(category.getId()); |
|||
targetInfo.setTargetCode(category.getCode()); |
|||
targetInfo.setTargetName(category.getName()); |
|||
targetInfo.setTargetLevelPathIds(category.getLevelPath()); |
|||
targetInfo.setTargetLevelPathNames(category.getLevelPathNames()); |
|||
resultList.add(targetInfo); |
|||
} |
|||
} |
|||
return resultList; |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.qs.serve.modules.basic.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.basic.entity.GoodsCategory; |
|||
|
|||
/** |
|||
* 分类 服务接口 |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsCategoryService extends IService<GoodsCategory> { |
|||
|
|||
|
|||
} |
|||
|
@ -0,0 +1,22 @@ |
|||
package com.qs.serve.modules.basic.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.basic.entity.GoodsSku; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* sku 服务接口 |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsSkuService extends IService<GoodsSku> { |
|||
|
|||
GoodsSku getByCode(String code); |
|||
|
|||
List<GoodsSku> getByCodes(List<String> codes); |
|||
|
|||
List<GoodsSku> getBySpuId(Long spuId); |
|||
|
|||
} |
|||
|
@ -0,0 +1,21 @@ |
|||
package com.qs.serve.modules.basic.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.basic.entity.GoodsSpu; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* spu 服务接口 |
|||
* @author YenHex |
|||
* @date 2022-10-09 |
|||
*/ |
|||
public interface GoodsSpuService extends IService<GoodsSpu> { |
|||
|
|||
GoodsSpu getByCode(String code); |
|||
|
|||
List<GoodsSpu> getByCodes(List<String> codes); |
|||
|
|||
|
|||
} |
|||
|
@ -0,0 +1,29 @@ |
|||
package com.qs.serve.modules.basic.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.qs.serve.common.exception.Assert; |
|||
import com.qs.serve.common.utils.CopierUtil; |
|||
import com.qs.serve.modules.basic.entity.GoodsCategory; |
|||
import com.qs.serve.modules.basic.mapper.GoodsCategoryMapper; |
|||
import com.qs.serve.modules.basic.service.GoodsCategoryService; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 分类 服务实现类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper, GoodsCategory> implements GoodsCategoryService { |
|||
|
|||
} |
|||
|
@ -0,0 +1,56 @@ |
|||
package com.qs.serve.modules.basic.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.qs.serve.common.exception.Assert; |
|||
import com.qs.serve.common.utils.CopierUtil; |
|||
import com.qs.serve.common.utils.SpringUtils; |
|||
import com.qs.serve.common.utils.StringUtils; |
|||
import com.qs.serve.framework.base.model.R; |
|||
import com.qs.serve.modules.basic.entity.GoodsSku; |
|||
import com.qs.serve.modules.basic.mapper.GoodsSkuMapper; |
|||
import com.qs.serve.modules.basic.service.GoodsSkuService; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
import java.util.Set; |
|||
import java.util.stream.Collectors; |
|||
|
|||
|
|||
/** |
|||
* sku 服务实现类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> implements GoodsSkuService { |
|||
|
|||
@Override |
|||
public GoodsSku getByCode(String code) { |
|||
LambdaQueryWrapper<GoodsSku> lqw = new LambdaQueryWrapper<>(); |
|||
lqw.eq(GoodsSku::getSkuCode,code); |
|||
return getOne(lqw,false); |
|||
} |
|||
|
|||
@Override |
|||
public List<GoodsSku> getByCodes(List<String> codes) { |
|||
LambdaQueryWrapper<GoodsSku> lqw = new LambdaQueryWrapper<>(); |
|||
lqw.in(GoodsSku::getSkuCode,codes); |
|||
return this.list(lqw); |
|||
} |
|||
|
|||
@Override |
|||
public List<GoodsSku> getBySpuId(Long spuId) { |
|||
LambdaQueryWrapper<GoodsSku> lqw = new LambdaQueryWrapper<>(); |
|||
lqw.eq(GoodsSku::getSpuId,spuId); |
|||
return list(lqw); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,46 @@ |
|||
package com.qs.serve.modules.basic.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.qs.serve.common.exception.Assert; |
|||
import com.qs.serve.common.utils.CopierUtil; |
|||
import com.qs.serve.common.utils.PageUtil; |
|||
import com.qs.serve.modules.basic.entity.GoodsSpu; |
|||
import com.qs.serve.modules.basic.mapper.GoodsSpuMapper; |
|||
import com.qs.serve.modules.basic.service.GoodsSpuService; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* spu 服务实现类 |
|||
* @author YenHex |
|||
* @since 2022-10-09 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class GoodsSpuServiceImpl extends ServiceImpl<GoodsSpuMapper, GoodsSpu> implements GoodsSpuService { |
|||
|
|||
@Override |
|||
public GoodsSpu getByCode(String code) { |
|||
LambdaQueryWrapper<GoodsSpu> lqw = new LambdaQueryWrapper<>(); |
|||
lqw.eq(GoodsSpu::getSpuCode,code); |
|||
return getOne(lqw,false); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public List<GoodsSpu> getByCodes(List<String> spuCodes) { |
|||
LambdaQueryWrapper<GoodsSpu> lqw = new LambdaQueryWrapper<>(); |
|||
lqw.in(GoodsSpu::getSpuCode,spuCodes); |
|||
return list(lqw); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.seeyon.service; |
|||
|
|||
import lombok.experimental.UtilityClass; |
|||
|
|||
/** |
|||
* @author YenHex |
|||
* @since 2025/4/21 |
|||
*/ |
|||
@UtilityClass |
|||
public class SeeYonServiceStaticUtil { |
|||
|
|||
public static SeeYonRequestService seeYonRequestService = null; |
|||
|
|||
} |
Loading…
Reference in new issue