Sfoglia il codice sorgente

商品sku基础代码

于继渤 2 anni fa
parent
commit
20e637e262

+ 54 - 0
src/main/java/com/dk/mdm/controller/mst/GoodsSkuController.java

@@ -0,0 +1,54 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.mst.GoodsSkuQuery;
+import com.dk.mdm.model.response.mst.GoodsSkuResponse;
+import com.dk.mdm.model.vo.mst.GoodsSkuVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.GoodsSkuService;
+
+@Api(tags = "商品档案API接口")
+@RestController
+@RequestMapping("/mst/goodsSku")
+public class GoodsSkuController{
+
+    public BaseService<GoodsSku> getService() {
+        return goodsSkuService;
+    }
+
+    @Autowired
+    private GoodsSkuService goodsSkuService;
+
+
+    /**
+     * @desc : 条件查询
+     * @author : 王英杰
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<GoodsSkuResponse>> selectByCond(@RequestBody GoodsSkuQuery goodsSkuQuery) {
+        return goodsSkuService.selectByCond(goodsSkuQuery);
+    }
+
+
+    /**
+     * @desc : 新建
+     * @author : 王英杰
+     * @date : 2023/1/5 9:39
+     */
+    @ApiOperation( value = "新建", notes = "新建" )
+    @PostMapping({"insert"})
+    public ResponseResultVO<?> insert(@RequestBody GoodsSkuVO goodsSkuVO) {
+        return goodsSkuService.insert(goodsSkuVO);
+    }
+}

+ 10 - 0
src/main/java/com/dk/mdm/infrastructure/convert/mst/GoodsSkuConvert.java

@@ -0,0 +1,10 @@
+package com.dk.mdm.infrastructure.convert.mst;
+
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.dk.mdm.model.vo.mst.GoodsSkuVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface GoodsSkuConvert {
+    GoodsSku convertToPo(GoodsSkuVO goodsSkuVO);
+}

+ 32 - 0
src/main/java/com/dk/mdm/mapper/mst/GoodsSkuMapper.java

@@ -0,0 +1,32 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.mst.GoodsSkuQuery;
+import com.dk.mdm.model.query.mst.RoleQuery;
+import com.dk.mdm.model.response.mst.GoodsSkuResponse;
+import com.dk.mdm.model.response.mst.RoleResponse;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+*  商品档案 Mapper
+*/
+@Repository
+public interface GoodsSkuMapper extends BaseMapper<GoodsSku>{
+    /**
+     * @desc   : 根据条件进行查询
+     * @author : 于继渤
+     * @date : 2024/2/26 10:36
+     */
+    List<GoodsSkuResponse> selectByCond(GoodsSkuQuery goodsSkuQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : 于继渤
+     * @date : 2024/2/26 10:36
+     */
+    Long countByCond(GoodsSkuQuery goodsSkuQuery);
+}
+

+ 232 - 0
src/main/java/com/dk/mdm/mapper/mst/GoodsSkuMapper.xml

@@ -0,0 +1,232 @@
+<?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.dk.mdm.mapper.mst.GoodsSkuMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        sku_id, sku_code, sku_name, sku_model, brand_id, category_id, unit_id, sub_unit_id, conversion_factor, series_id, sku_spec, price_purchase, price_standard, price_wholesale, price_limited, sku_images, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.GoodsSku">
+        <id column="sku_id" property="skuId"/>
+                <result column="sku_code" property="skuCode"/>
+                <result column="sku_name" property="skuName"/>
+                <result column="sku_model" property="skuModel"/>
+                <result column="brand_id" property="brandId" typeHandler="UuidTypeHandler"/>
+                <result column="category_id" property="categoryId" typeHandler="UuidTypeHandler"/>
+                <result column="unit_id" property="unitId" typeHandler="UuidTypeHandler"/>
+                <result column="sub_unit_id" property="subUnitId" typeHandler="UuidTypeHandler"/>
+                <result column="conversion_factor" property="conversionFactor"/>
+                <result column="series_id" property="seriesId" typeHandler="UuidTypeHandler"/>
+                <result column="sku_spec" property="skuSpec"/>
+                <result column="price_purchase" property="pricePurchase"/>
+                <result column="price_standard" property="priceStandard"/>
+                <result column="price_wholesale" property="priceWholesale"/>
+                <result column="price_limited" property="priceLimited"/>
+                <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
+                <result column="remarks" property="remarks"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <sql id="Base_Column_List_JOIN">
+        tmgs.sku_id, tmgs.sku_code, tmgs.sku_name, tmgs.sku_model, tmgs.brand_id, tmgs.category_id, tmgs.unit_id, tmgs.sub_unit_id,
+              tmgs.conversion_factor, tmgs.series_id, tmgs.sku_spec, tmgs.price_purchase, tmgs.price_standard,
+              tmgs.price_wholesale, tmgs.price_limited, tmgs.sku_images, tmgs.remarks, tmgs.flg_valid, tmgs.cp_id
+    </sql>
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.GoodsSkuResponse">
+        <id column="sku_id" property="skuId"/>
+        <result column="sku_code" property="skuCode"/>
+        <result column="sku_name" property="skuName"/>
+        <result column="sku_model" property="skuModel"/>
+        <result column="brand_id" property="brandId" typeHandler="UuidTypeHandler"/>
+        <result column="category_id" property="categoryId" typeHandler="UuidTypeHandler"/>
+        <result column="unit_id" property="unitId" typeHandler="UuidTypeHandler"/>
+        <result column="sub_unit_id" property="subUnitId" typeHandler="UuidTypeHandler"/>
+        <result column="conversion_factor" property="conversionFactor"/>
+        <result column="series_id" property="seriesId" typeHandler="UuidTypeHandler"/>
+        <result column="sku_spec" property="skuSpec"/>
+        <result column="price_purchase" property="pricePurchase"/>
+        <result column="price_standard" property="priceStandard"/>
+        <result column="price_wholesale" property="priceWholesale"/>
+        <result column="price_limited" property="priceLimited"/>
+        <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
+        <result column="remarks" property="remarks"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="skuCode != null and skuCode != ''">
+                AND tmgs.sku_code = #{skuCode}
+            </if>
+            <if test="skuName != null and skuName != ''">
+                AND tmgs.sku_name = #{skuName}
+            </if>
+            <if test="skuModel != null and skuModel != ''">
+                AND tmgs.sku_model = #{skuModel}
+            </if>
+            <if test="brandId != null and brandId != ''">
+                AND tmgs.brand_id = #{brandId}
+            </if>
+            <if test="categoryId != null and categoryId != ''">
+                AND tmgs.category_id = #{categoryId}
+            </if>
+            <if test="unitId != null and unitId != ''">
+                AND tmgs.unit_id = #{unitId}
+            </if>
+            <if test="subUnitId != null and subUnitId != ''">
+                AND tmgs.sub_unit_id = #{subUnitId}
+            </if>
+            <if test="conversionFactor != null">
+                AND tmgs.conversion_factor = #{conversionFactor}
+            </if>
+            <if test="seriesId != null and seriesId != ''">
+                AND tmgs.series_id = #{seriesId}
+            </if>
+            <if test="skuSpec != null and skuSpec != ''">
+                AND tmgs.sku_spec = #{skuSpec}
+            </if>
+            <if test="pricePurchase != null">
+                AND tmgs.price_purchase = #{pricePurchase}
+            </if>
+            <if test="priceStandard != null">
+                AND tmgs.price_standard = #{priceStandard}
+            </if>
+            <if test="priceWholesale != null">
+                AND tmgs.price_wholesale = #{priceWholesale}
+            </if>
+            <if test="priceLimited != null">
+                AND tmgs.price_limited = #{priceLimited}
+            </if>
+            <if test="skuImages != null and skuImages != ''">
+                AND tmgs.sku_images = #{skuImages}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND tmgs.remarks = #{remarks}
+            </if>
+            <if test="flgValid != null">
+                AND tmgs.flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND tmgs.cp_id = #{cpId}
+            </if>
+
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键skuId批量操作 -->
+        WHERE sku_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mst_goods_sku,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List_JOIN"/>
+        FROM dkic_b.t_mst_goods_sku  tmgs
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mst_goods_sku,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_b.t_mst_goods_sku tmgs
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mst_goods_sku的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List_JOIN"/>
+        FROM dkic_b.t_mst_goods_sku tmgs
+        WHERE tmgs.sku_id = #{skuId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mst_goods_sku的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_goods_sku
+        WHERE sku_id = #{skuId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mst_goods_sku的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_b.t_mst_goods_sku
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into dkic_b.t_mst_goods_sku
+        (
+        <trim suffixOverrides=",">
+            sku_code,
+            sku_name,
+            sku_model,
+            brand_id,
+            category_id,
+            unit_id,
+            sub_unit_id,
+            conversion_factor,
+            series_id,
+            sku_spec,
+            price_purchase,
+            price_standard,
+            price_wholesale,
+            price_limited,
+            sku_images,
+            remarks,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.skuCode},
+                #{item.skuName},
+                #{item.skuModel},
+                #{item.brandId}::uuid,
+                #{item.categoryId}::uuid,
+                #{item.unitId}::uuid,
+                #{item.subUnitId}::uuid,
+                #{item.conversionFactor},
+                #{item.seriesId}::uuid,
+                #{item.skuSpec},
+                #{item.pricePurchase},
+                #{item.priceStandard},
+                #{item.priceWholesale},
+                #{item.priceLimited},
+                #{item.skuImages},
+                #{item.remarks},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 277 - 0
src/main/java/com/dk/mdm/model/pojo/mst/GoodsSku.java

@@ -0,0 +1,277 @@
+package com.dk.mdm.model.pojo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  商品档案
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("商品档案")
+@TableName(value = "t_mst_goods_sku", autoResultMap = true ,schema = "dkic_b")
+@ApiModel(value="实体类:商品档案", description="表名:t_mst_goods_sku")
+public class GoodsSku extends PageInfo<GoodsSku> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 商品ID
+     */
+    @TableId(value = "sku_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品编号
+     */
+    @Excel(name = "商品编号")
+    @ApiModelProperty(value = "商品编号")
+    private String skuCode;
+
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
+
+
+    /**
+     * 商品品牌
+     */
+    @Excel(name = "商品品牌")
+    @ApiModelProperty(value = "商品品牌")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String brandId;
+
+
+    /**
+     * 商品种类
+     */
+    @Excel(name = "商品种类")
+    @ApiModelProperty(value = "商品种类")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String categoryId;
+
+
+    /**
+     * 计量单位
+     */
+    @Excel(name = "计量单位")
+    @ApiModelProperty(value = "计量单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String unitId;
+
+
+    /**
+     * 辅助单位
+     */
+    @Excel(name = "辅助单位")
+    @ApiModelProperty(value = "辅助单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String subUnitId;
+
+
+    /**
+     * 单位换算
+     */
+    @Excel(name = "单位换算")
+    @ApiModelProperty(value = "单位换算")
+    private BigDecimal conversionFactor;
+
+
+    /**
+     * 商品系列
+     */
+    @Excel(name = "商品系列")
+    @ApiModelProperty(value = "商品系列")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String seriesId;
+
+
+    /**
+     * 商品规格
+     */
+    @Excel(name = "商品规格")
+    @ApiModelProperty(value = "商品规格")
+    private String skuSpec;
+
+
+    /**
+     * 采购价
+     */
+    @Excel(name = "采购价")
+    @ApiModelProperty(value = "采购价")
+    private BigDecimal pricePurchase;
+
+
+    /**
+     * 零售价
+     */
+    @Excel(name = "零售价")
+    @ApiModelProperty(value = "零售价")
+    private BigDecimal priceStandard;
+
+
+    /**
+     * 批发价
+     */
+    @Excel(name = "批发价")
+    @ApiModelProperty(value = "批发价")
+    private BigDecimal priceWholesale;
+
+
+    /**
+     * 销售限价
+     */
+    @Excel(name = "销售限价")
+    @ApiModelProperty(value = "销售限价")
+    private BigDecimal priceLimited;
+
+
+    /**
+     * 商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject skuImages;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 280 - 0
src/main/java/com/dk/mdm/model/query/mst/GoodsSkuQuery.java

@@ -0,0 +1,280 @@
+package com.dk.mdm.model.query.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  商品档案
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@ExportTitle("商品档案")
+@TableName(value = "t_mst_goods_sku", autoResultMap = true ,schema = "dkic_b")
+@ApiModel(value="实体类:商品档案", description="表名:t_mst_goods_sku")
+public class GoodsSkuQuery extends PageInfo<GoodsSku> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 商品ID
+     */
+    @TableId(value = "sku_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品编号
+     */
+    @Excel(name = "商品编号")
+    @ApiModelProperty(value = "商品编号")
+    private String skuCode;
+
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
+
+
+    /**
+     * 商品品牌
+     */
+    @Excel(name = "商品品牌")
+    @ApiModelProperty(value = "商品品牌")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String brandId;
+
+
+    /**
+     * 商品种类
+     */
+    @Excel(name = "商品种类")
+    @ApiModelProperty(value = "商品种类")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String categoryId;
+
+
+    /**
+     * 计量单位
+     */
+    @Excel(name = "计量单位")
+    @ApiModelProperty(value = "计量单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String unitId;
+
+
+    /**
+     * 辅助单位
+     */
+    @Excel(name = "辅助单位")
+    @ApiModelProperty(value = "辅助单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String subUnitId;
+
+
+    /**
+     * 单位换算
+     */
+    @Excel(name = "单位换算")
+    @ApiModelProperty(value = "单位换算")
+    private BigDecimal conversionFactor;
+
+
+    /**
+     * 商品系列
+     */
+    @Excel(name = "商品系列")
+    @ApiModelProperty(value = "商品系列")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String seriesId;
+
+
+    /**
+     * 商品规格
+     */
+    @Excel(name = "商品规格")
+    @ApiModelProperty(value = "商品规格")
+    private String skuSpec;
+
+
+    /**
+     * 采购价
+     */
+    @Excel(name = "采购价")
+    @ApiModelProperty(value = "采购价")
+    private BigDecimal pricePurchase;
+
+
+    /**
+     * 零售价
+     */
+    @Excel(name = "零售价")
+    @ApiModelProperty(value = "零售价")
+    private BigDecimal priceStandard;
+
+
+    /**
+     * 批发价
+     */
+    @Excel(name = "批发价")
+    @ApiModelProperty(value = "批发价")
+    private BigDecimal priceWholesale;
+
+
+    /**
+     * 销售限价
+     */
+    @Excel(name = "销售限价")
+    @ApiModelProperty(value = "销售限价")
+    private BigDecimal priceLimited;
+
+
+    /**
+     * 商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject skuImages;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 3 - 1
src/main/java/com/dk/mdm/model/query/mst/RoleQuery.java

@@ -9,6 +9,8 @@ import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.dk.mdm.model.pojo.mst.Role;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,7 +33,7 @@ import java.time.LocalDateTime;
 @ExportTitle("角色")
 @ExportTitle("角色")
 @TableName(value = "t_mst_role", autoResultMap = true)
 @TableName(value = "t_mst_role", autoResultMap = true)
 @ApiModel(value="实体类:角色", description="表名:t_mst_role")
 @ApiModel(value="实体类:角色", description="表名:t_mst_role")
-public class RoleQuery implements Serializable {
+public class RoleQuery extends PageInfo<Role> implements Serializable {
 
 
     /*
     /*
      * 数据库字段
      * 数据库字段

+ 277 - 0
src/main/java/com/dk/mdm/model/response/mst/GoodsSkuResponse.java

@@ -0,0 +1,277 @@
+package com.dk.mdm.model.response.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  商品档案
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@ExportTitle("商品档案")
+@TableName(value = "t_mst_goods_sku", autoResultMap = true ,schema = "dkic_b")
+@ApiModel(value="实体类:商品档案", description="表名:t_mst_goods_sku")
+public class GoodsSkuResponse implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 商品ID
+     */
+    @TableId(value = "sku_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品编号
+     */
+    @Excel(name = "商品编号")
+    @ApiModelProperty(value = "商品编号")
+    private String skuCode;
+
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
+
+
+    /**
+     * 商品品牌
+     */
+    @Excel(name = "商品品牌")
+    @ApiModelProperty(value = "商品品牌")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String brandId;
+
+
+    /**
+     * 商品种类
+     */
+    @Excel(name = "商品种类")
+    @ApiModelProperty(value = "商品种类")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String categoryId;
+
+
+    /**
+     * 计量单位
+     */
+    @Excel(name = "计量单位")
+    @ApiModelProperty(value = "计量单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String unitId;
+
+
+    /**
+     * 辅助单位
+     */
+    @Excel(name = "辅助单位")
+    @ApiModelProperty(value = "辅助单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String subUnitId;
+
+
+    /**
+     * 单位换算
+     */
+    @Excel(name = "单位换算")
+    @ApiModelProperty(value = "单位换算")
+    private BigDecimal conversionFactor;
+
+
+    /**
+     * 商品系列
+     */
+    @Excel(name = "商品系列")
+    @ApiModelProperty(value = "商品系列")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String seriesId;
+
+
+    /**
+     * 商品规格
+     */
+    @Excel(name = "商品规格")
+    @ApiModelProperty(value = "商品规格")
+    private String skuSpec;
+
+
+    /**
+     * 采购价
+     */
+    @Excel(name = "采购价")
+    @ApiModelProperty(value = "采购价")
+    private BigDecimal pricePurchase;
+
+
+    /**
+     * 零售价
+     */
+    @Excel(name = "零售价")
+    @ApiModelProperty(value = "零售价")
+    private BigDecimal priceStandard;
+
+
+    /**
+     * 批发价
+     */
+    @Excel(name = "批发价")
+    @ApiModelProperty(value = "批发价")
+    private BigDecimal priceWholesale;
+
+
+    /**
+     * 销售限价
+     */
+    @Excel(name = "销售限价")
+    @ApiModelProperty(value = "销售限价")
+    private BigDecimal priceLimited;
+
+
+    /**
+     * 商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject skuImages;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 277 - 0
src/main/java/com/dk/mdm/model/vo/mst/GoodsSkuVO.java

@@ -0,0 +1,277 @@
+package com.dk.mdm.model.vo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  商品档案
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@ExportTitle("商品档案")
+@TableName(value = "t_mst_goods_sku", autoResultMap = true ,schema = "dkic_b")
+@ApiModel(value="实体类:商品档案", description="表名:t_mst_goods_sku")
+public class GoodsSkuVO implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 商品ID
+     */
+    @TableId(value = "sku_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 商品编号
+     */
+    @Excel(name = "商品编号")
+    @ApiModelProperty(value = "商品编号")
+    private String skuCode;
+
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
+
+
+    /**
+     * 商品品牌
+     */
+    @Excel(name = "商品品牌")
+    @ApiModelProperty(value = "商品品牌")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String brandId;
+
+
+    /**
+     * 商品种类
+     */
+    @Excel(name = "商品种类")
+    @ApiModelProperty(value = "商品种类")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String categoryId;
+
+
+    /**
+     * 计量单位
+     */
+    @Excel(name = "计量单位")
+    @ApiModelProperty(value = "计量单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String unitId;
+
+
+    /**
+     * 辅助单位
+     */
+    @Excel(name = "辅助单位")
+    @ApiModelProperty(value = "辅助单位")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String subUnitId;
+
+
+    /**
+     * 单位换算
+     */
+    @Excel(name = "单位换算")
+    @ApiModelProperty(value = "单位换算")
+    private BigDecimal conversionFactor;
+
+
+    /**
+     * 商品系列
+     */
+    @Excel(name = "商品系列")
+    @ApiModelProperty(value = "商品系列")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String seriesId;
+
+
+    /**
+     * 商品规格
+     */
+    @Excel(name = "商品规格")
+    @ApiModelProperty(value = "商品规格")
+    private String skuSpec;
+
+
+    /**
+     * 采购价
+     */
+    @Excel(name = "采购价")
+    @ApiModelProperty(value = "采购价")
+    private BigDecimal pricePurchase;
+
+
+    /**
+     * 零售价
+     */
+    @Excel(name = "零售价")
+    @ApiModelProperty(value = "零售价")
+    private BigDecimal priceStandard;
+
+
+    /**
+     * 批发价
+     */
+    @Excel(name = "批发价")
+    @ApiModelProperty(value = "批发价")
+    private BigDecimal priceWholesale;
+
+
+    /**
+     * 销售限价
+     */
+    @Excel(name = "销售限价")
+    @ApiModelProperty(value = "销售限价")
+    private BigDecimal priceLimited;
+
+
+    /**
+     * 商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONObject skuImages;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 68 - 0
src/main/java/com/dk/mdm/service/mst/GoodsSkuService.java

@@ -0,0 +1,68 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.mst.GoodsSkuConvert;
+import com.dk.mdm.model.pojo.mst.GoodsSku;
+import com.dk.mdm.mapper.mst.GoodsSkuMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.mst.Role;
+import com.dk.mdm.model.query.mst.GoodsSkuQuery;
+import com.dk.mdm.model.query.mst.RoleQuery;
+import com.dk.mdm.model.response.mst.GoodsSkuResponse;
+import com.dk.mdm.model.response.mst.RoleResponse;
+import com.dk.mdm.model.vo.mst.GoodsSkuVO;
+import com.dk.mdm.model.vo.mst.RoleVo;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class GoodsSkuService extends BaseService<GoodsSku> {
+
+	@Override
+	public BaseMapper<GoodsSku> getRepository() {
+		return goodsSkuMapper;
+	}
+
+	@Autowired
+	private GoodsSkuMapper goodsSkuMapper;
+
+
+	@Autowired
+	private GoodsSkuConvert goodsSkuConvert;
+
+
+	/**
+	 * @desc : 查询
+	 * @author : 王英杰
+	 * @date : 2023/1/5 9:39
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<GoodsSkuResponse>> selectByCond(GoodsSkuQuery goodsSkuQuery) {
+		return super.mergeListWithCount(goodsSkuQuery, goodsSkuMapper.selectByCond(goodsSkuQuery),
+				goodsSkuMapper.countByCond(goodsSkuQuery));
+	}
+
+
+
+	/**
+	 * @desc : 新建
+	 * @author : 王英杰
+	 * @date : 2023/1/5 9:39
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> insert(GoodsSkuVO goodsSkuVO) {
+		GoodsSku goodsSku = goodsSkuConvert.convertToPo(goodsSkuVO);
+		goodsSkuMapper.insert(goodsSku);
+		return ResponseResultUtil.success();
+	}
+
+
+}