changhaoning 2 лет назад
Родитель
Сommit
c18692c0a0
21 измененных файлов с 2996 добавлено и 0 удалено
  1. 71 0
      src/main/java/com/dk/mdm/controller/common/CommonController.java
  2. 92 0
      src/main/java/com/dk/mdm/controller/mst/ActivityController.java
  3. 63 0
      src/main/java/com/dk/mdm/controller/mst/ActivityItemController.java
  4. 22 0
      src/main/java/com/dk/mdm/infrastructure/convert/mst/ActivityConvert.java
  5. 35 0
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.java
  6. 58 0
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  7. 37 0
      src/main/java/com/dk/mdm/mapper/mst/ActivityItemMapper.java
  8. 251 0
      src/main/java/com/dk/mdm/mapper/mst/ActivityItemMapper.xml
  9. 43 0
      src/main/java/com/dk/mdm/mapper/mst/ActivityMapper.java
  10. 341 0
      src/main/java/com/dk/mdm/mapper/mst/ActivityMapper.xml
  11. 251 0
      src/main/java/com/dk/mdm/model/pojo/mst/Activity.java
  12. 182 0
      src/main/java/com/dk/mdm/model/pojo/mst/ActivityItem.java
  13. 182 0
      src/main/java/com/dk/mdm/model/query/mst/ActivityItemQuery.java
  14. 250 0
      src/main/java/com/dk/mdm/model/query/mst/ActivityQuery.java
  15. 182 0
      src/main/java/com/dk/mdm/model/response/mst/ActivityItemResponse.java
  16. 262 0
      src/main/java/com/dk/mdm/model/response/mst/ActivityResponse.java
  17. 182 0
      src/main/java/com/dk/mdm/model/vo/mst/ActivityItemVO.java
  18. 254 0
      src/main/java/com/dk/mdm/model/vo/mst/ActivityVO.java
  19. 50 0
      src/main/java/com/dk/mdm/service/common/CommonService.java
  20. 77 0
      src/main/java/com/dk/mdm/service/mst/ActivityItemService.java
  21. 111 0
      src/main/java/com/dk/mdm/service/mst/ActivityService.java

+ 71 - 0
src/main/java/com/dk/mdm/controller/common/CommonController.java

@@ -705,6 +705,77 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<?> getPurviewType(@RequestBody Map<String, Object> param) {
         return commonService.getPurviewType(param);
     }
+
+
+    /**
+     * @desc   : 获取版本代码
+     * @author : 常皓宁
+     * @date   : 2024/4/15 10:42
+     */
+    @ApiOperation(
+            value = "获取版本代码",
+            notes = "获取版本代码"
+    )
+    @PostMapping("get_grade")
+    public ResponseResultVO<List<Map<String, Object>>> getGrade(@RequestBody Map<String, Object> param) {
+        return commonService.getGrade(param);
+    }
+
+    /**
+     * @desc   : 获取版本功能
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    @ApiOperation(
+            value = "获取版本功能",
+            notes = "获取版本功能"
+    )
+    @PostMapping("get_function")
+    public ResponseResultVO<List<Map<String, Object>>> getFunction(@RequestBody Map<String, Object> param) {
+        return commonService.getFunction(param);
+    }
+
+    /**
+     * @desc   : 获取版本功能(分页)
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    @ApiOperation(
+            value = "获取版本功能",
+            notes = "获取版本功能"
+    )
+    @PostMapping("get_function_by_page")
+    public ResponseResultVO<PageList<Map<String, Object>>> getFunctionByPage(@RequestBody Map<String, Object> param) {
+        return commonService.getFunctionByPage(param);
+    }
+
+    /**
+     * @desc   : 获取公司
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    @ApiOperation(
+            value = "获取公司",
+            notes = "获取公司"
+    )
+    @PostMapping("get_company")
+    public ResponseResultVO<List<Map<String, Object>>> getCompany(@RequestBody Map<String, Object> param) {
+        return commonService.getCompany(param);
+    }
+
+    /**
+     * @desc   : 获取公司(分页)
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    @ApiOperation(
+            value = "获取公司",
+            notes = "获取公司"
+    )
+    @PostMapping("get_company_by_page")
+    public ResponseResultVO<PageList<Map<String, Object>>> getCompanyByPage(@RequestBody Map<String, Object> param) {
+        return commonService.getCompanyByPage(param);
+    }
 }
 
 

+ 92 - 0
src/main/java/com/dk/mdm/controller/mst/ActivityController.java

@@ -0,0 +1,92 @@
+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.Activity;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.query.mst.RoleQuery;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import com.dk.mdm.model.response.mst.RoleResponse;
+import com.dk.mdm.model.vo.mst.ActivityVO;
+import com.dk.mdm.model.vo.mst.RoleVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.ActivityService;
+
+@Api(tags = "活动管理API接口")
+@RestController
+@RequestMapping("/mst/activity")
+public class ActivityController{
+
+    public BaseService<Activity> getService() {
+        return activityService;
+    }
+
+    @Autowired
+    private ActivityService activityService;
+
+    /**
+     * @desc   : 条件查询
+     * @author : 常皓宁
+     * @date   : 2024/4/12 10:19
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<ActivityResponse>> selectByCond(@RequestBody ActivityQuery activityQuery) {
+        return activityService.selectByCond(activityQuery);
+    }
+
+    /**
+     * @desc   : 新建
+     * @author : 常皓宁
+     * @date   : 2024/4/15 15:02
+     */
+    @ApiOperation( value = "新建", notes = "新建" )
+    @PostMapping({"insert"})
+    public ResponseResultVO<?> insert(@RequestBody ActivityVO activityVO) {
+        return activityService.insert(activityVO);
+    }
+
+    /**
+     * @desc   : 通过ID查询
+     * @author : 常皓宁
+     * @date   : 2024/4/15 16:32
+     */
+    @PostMapping({"/{id}"})
+    public ResponseResultVO selectById(@PathVariable String id) {
+        return activityService.selectById(id);
+    }
+
+    /**
+     * @desc   : 发布
+     * @author : 常皓宁
+     * @date   : 2024/4/15 14:53
+     */
+    @ApiOperation(
+            value = "发布",
+            notes = "发布"
+    )
+    @PostMapping({"release/{id}"})
+    public ResponseResultVO<?> release(@PathVariable String id) {
+        return activityService.release(id);
+    }
+
+    /**
+     * @desc   : 下架
+     * @author : 常皓宁
+     * @date   : 2024/4/15 14:54
+     */
+    @ApiOperation(
+            value = "下架",
+            notes = "下架"
+    )
+    @PostMapping({"shelves/{id}"})
+    public ResponseResultVO<?> shelves(@PathVariable String id) {
+        return activityService.shelves(id);
+    }
+
+}

+ 63 - 0
src/main/java/com/dk/mdm/controller/mst/ActivityItemController.java

@@ -0,0 +1,63 @@
+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.ActivityItem;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import com.dk.mdm.model.pojo.mst.ActivityItemQuery;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.response.mst.ActivityItemResponse;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import com.dk.mdm.model.vo.mst.ActivityItemVO;
+import com.dk.mdm.model.vo.mst.ActivityVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.ActivityItemService;
+
+@Api(tags = "活动明细API接口")
+@RestController
+@RequestMapping("/mst/activityItem")
+public class ActivityItemController{
+
+    public BaseService<ActivityItem> getService() {
+        return activityItemService;
+    }
+
+    @Autowired
+    private ActivityItemService activityItemService;
+
+    /**
+     * @desc   : 条件查询
+     * @author : 常皓宁
+     * @date   : 2024/4/12 10:19
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<ActivityItemResponse>> selectByCond(@RequestBody ActivityItemQuery activityItemQuery) {
+        return activityItemService.selectByCond(activityItemQuery);
+    }
+
+    /**
+     * @desc   : 新建/编辑
+     * @author : 常皓宁
+     * @date   : 2024/4/15 15:02
+     */
+    @ApiOperation( value = "新建/编辑", notes = "新建/编辑" )
+    @PostMapping({"updateItem"})
+    public ResponseResultVO<?> updateItem(@RequestBody ActivityVO activityVO) {
+        return activityItemService.updateItem(activityVO);
+    }
+
+    /**
+     * @desc   : 通过ID查询
+     * @author : 常皓宁
+     * @date   : 2024/4/15 16:32
+     */
+    @PostMapping({"/{id}"})
+    public ResponseResultVO selectById(@PathVariable String id) {
+        return activityItemService.selectById(id);
+    }
+}

+ 22 - 0
src/main/java/com/dk/mdm/infrastructure/convert/mst/ActivityConvert.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.infrastructure.convert.mst;
+
+import com.dk.mdm.model.pojo.mst.Activity;
+import com.dk.mdm.model.vo.mst.ActivityVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : activity转换类
+ * @author : 常皓宁
+ * @date   : 2024/4/15 15:06
+ */
+@Mapper(componentModel = "spring")
+public interface ActivityConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : 常皓宁
+     * @date   : 2024/4/15 15:07
+     */
+    Activity convertToPo(ActivityVO activityVO);
+
+}

+ 35 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.java

@@ -493,4 +493,39 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
      * @date   : 2024/4/2 10:15
      */
     List<Map<String, Object>> getPurviewType(Map param);
+
+    /**
+     * @desc   : 获取版本代码
+     * @author : 常皓宁
+     * @date   : 2024/4/15 10:42
+     */
+    List<Map<String, Object>> getGrade(Map param);
+
+    /**
+     * @desc   : 获取版本功能
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    List<Map<String, Object>> getFunction(Map param);
+
+    /**
+     * @desc   : 获取版本功能个数
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:41
+     */
+    Long countFuncitonByPage(Map param);
+
+    /**
+     * @desc   : 获取公司
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    List<Map<String, Object>> getCompany(Map param);
+
+    /**
+     * @desc   : 获取公司个数
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:41
+     */
+    Long countCompanyByPage(Map param);
 }

+ 58 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -1526,5 +1526,63 @@
         order by tpt.display_no
     </select>
 
+    <!--获取版本代码-->
+    <select id="getGrade" resultType="java.util.Map">
+        select tg.grade_code        as "gradeCode",
+               tg.grade_level       as "gradeLevel",
+               tg.grade_name        as "gradeName",
+               tg.display_no        as "disPlayNo",
+               tg.flg_valid         as "flgValid"
+        from sys.t_grade tg
+        order by tg.display_no
+    </select>
+
+    <!--获取版本功能-->
+    <select id="getFunction" resultType="java.util.Map">
+        select appm.menu_uuid                                         AS "menuUuid"
+             , appm.menu_name                                         as name
+             , sys.f_get_name_i18n(appm.menu_name_i18n, #{i18n}) as "menuName"
+             , appm.fun_uuid                                          AS "funUuid"
+             , appm.object_code                                       AS "objectCode"
+             , appm.menu_type                                         AS "menuType"
+             , sys.f_get_name_i18n(pappm.menu_name_i18n, #{i18n}) as "parentMenuName"
+        from sys.t_app_menu appm
+        left join sys.t_app_menu pappm
+        on pappm.menu_uuid = appm.parent_uuid
+        where appm.flg_valid
+          and appm.menu_type = 1
+        <if test="menuName != null">
+            AND appm.menu_name = #{menuName}
+        </if>
+    </select>
+
+    <select id="countFuncitonByPage" resultType="Long">
+    SELECT
+    count(1)
+    from sys.t_app_menu appm
+    left join sys.t_app_menu pappm
+    on pappm.menu_uuid = appm.parent_uuid
+    where appm.flg_valid
+      and appm.menu_type = 1
+    </select>
+
+    <!--获取公司-->
+    <select id="getCompany" resultType="java.util.Map">
+        SELECT
+            tac.cp_id  as "cpId",
+            tac.cp_code as "cpCode",
+            tac.cp_name as "cpName",
+            tac.svc_code as "svcCode",
+            tac.grade_code as "gradeCode"
+        FROM dkic_a.t_a_company tac
+        where tac.flg_valid
+    </select>
+
+    <select id="countCompanyByPage" resultType="Long">
+        SELECT
+            count(1)
+        FROM dkic_a.t_a_company tac
+        where tac.flg_valid
+    </select>
 
 </mapper>

+ 37 - 0
src/main/java/com/dk/mdm/mapper/mst/ActivityItemMapper.java

@@ -0,0 +1,37 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.mst.ActivityItem;
+import com.dk.mdm.model.pojo.mst.ActivityItemQuery;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.response.mst.ActivityItemResponse;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *  活动管理 Mapper
+ */
+@Repository
+public interface ActivityItemMapper extends BaseMapper<ActivityItem>{
+
+    /**
+     * @desc   : 根据条件进行查询
+     * @author : 常皓宁
+     * @date : 2024/2/26 10:36
+     */
+    List<ActivityItemResponse> selectByCond(ActivityItemQuery activityItemQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : 常皓宁
+     * @date : 2024/2/26 10:36
+     */
+    Long countByCond(ActivityItemQuery activityItemQuery);
+
+    int deleteByActivityId(String id);
+
+
+}
+

+ 251 - 0
src/main/java/com/dk/mdm/mapper/mst/ActivityItemMapper.xml

@@ -0,0 +1,251 @@
+<?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.ActivityItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, activity_id, item_describe, std_price, sale_price, valid_long, extra_long, flg_valid, 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.ActivityItem">
+        <id column="item_id" property="itemId"/>
+                <result column="activity_id" property="activityId" typeHandler="UuidTypeHandler"/>
+                <result column="item_describe" property="itemDescribe"/>
+                <result column="std_price" property="stdPrice"/>
+                <result column="sale_price" property="salePrice"/>
+                <result column="valid_long" property="validLong"/>
+                <result column="extra_long" property="extraLong"/>
+                <result column="flg_valid" property="flgValid"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId"/>
+                <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="Condition">
+        <where>
+            <if test="activityId != null and activityId != ''">
+                AND activity_id = #{activityId}
+            </if>
+            <if test="itemDescribe != null and itemDescribe != ''">
+                AND item_describe = #{itemDescribe}
+            </if>
+            <if test="stdPrice != null">
+                AND std_price = #{stdPrice}
+            </if>
+            <if test="salePrice != null">
+                AND sale_price = #{salePrice}
+            </if>
+            <if test="validLong != null">
+                AND valid_long = #{validLong}
+            </if>
+            <if test="extraLong != null">
+                AND extra_long = #{extraLong}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List_list">
+        tmai.item_id,
+        tmai.activity_id,
+        tmai.item_describe,
+        tmai.std_price,
+        tmai.sale_price,
+        tmai.valid_long,
+        tmai.extra_long,
+        tmai.flg_valid,
+        tmai.op_create_time,
+        tmai.op_create_user_id,
+        tmai.op_update_time,
+        tmai.op_update_user_id,
+        tmai.op_app_code,
+        tmai.op_timestamp,
+        tmai.op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap_list" type="com.dk.mdm.model.response.mst.ActivityItemResponse">
+        <id column="item_id" property="itemId"/>
+        <result column="activity_id" property="activityId" typeHandler="UuidTypeHandler"/>
+        <result column="item_describe" property="itemDescribe"/>
+        <result column="std_price" property="stdPrice"/>
+        <result column="sale_price" property="salePrice"/>
+        <result column="valid_long" property="validLong"/>
+        <result column="extra_long" property="extraLong"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId"/>
+        <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="Condition_list">
+        <where>
+            <if test="activityId != null and activityId != ''">
+                AND tmai.activity_id = #{activityId}::uuid
+            </if>
+            <if test="itemDescribe != null and itemDescribe != ''">
+                AND tmai.item_describe = #{itemDescribe}
+            </if>
+            <if test="stdPrice != null">
+                AND tmai.std_price = #{stdPrice}
+            </if>
+            <if test="salePrice != null">
+                AND tmai.sale_price = #{salePrice}
+            </if>
+            <if test="validLong != null">
+                AND tmai.valid_long = #{validLong}
+            </if>
+            <if test="extraLong != null">
+                AND tmai.extra_long = #{extraLong}
+            </if>
+            <if test="flgValid != null">
+                AND tmai.flg_valid = #{flgValid}
+            </if>
+            <if test="opCreateTime != null">
+                AND tmai.op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null">
+                AND tmai.op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND tmai.op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null">
+                AND tmai.op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND tmai.op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND tmai.op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND tmai.op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表dkic_a.t_mst_activity_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap_list">
+        SELECT
+        <include refid="Base_Column_List_list"/>
+        FROM dkic_a.t_mst_activity_item as tmai
+        <include refid="Condition_list"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表dkic_a.t_mst_activity_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_a.t_mst_activity_item as tmai
+        <include refid="Condition_list"/>
+    </select>
+
+    <!-- 根据主键查询表dkic_a.t_mst_activity_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_a.t_mst_activity_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表dkic_a.t_mst_activity_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_a.t_mst_activity_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表dkic_a.t_mst_activity_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_a.t_mst_activity_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into dkic_a.t_mst_activity_item
+        (
+        <trim suffixOverrides=",">
+            activity_id,
+            item_describe,
+            std_price,
+            sale_price,
+            valid_long,
+            extra_long,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.activityId}::uuid,
+                #{item.itemDescribe},
+                #{item.stdPrice},
+                #{item.salePrice},
+                #{item.validLong},
+                #{item.extraLong},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+
+    <delete id="deleteByActivityId">
+        DELETE
+        FROM dkic_a.t_mst_activity_item
+        WHERE activity_id = #{id}::uuid;
+    </delete>
+</mapper>

+ 43 - 0
src/main/java/com/dk/mdm/mapper/mst/ActivityMapper.java

@@ -0,0 +1,43 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.common.model.response.mst.StaffResponse;
+import com.dk.mdm.model.pojo.mst.Activity;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import com.dk.mdm.model.response.mst.UnitResponse;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+*  活动管理 Mapper
+*/
+@Repository
+public interface ActivityMapper extends BaseMapper<Activity>{
+
+    /**
+     * @desc   : 根据条件进行查询
+     * @author : 常皓宁
+     * @date : 2024/2/26 10:36
+     */
+    List<ActivityResponse> selectByCond(ActivityQuery activityQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : 常皓宁
+     * @date : 2024/2/26 10:36
+     */
+    Long countByCond(ActivityQuery activityQuery);
+
+    /**
+     * @desc   : 根据Id查询
+     * @author : 常皓宁
+     * @date   : 2024/4/16 15:33
+     */
+    ActivityResponse selectById(@Param("activityId") String activityId);
+
+
+}
+

+ 341 - 0
src/main/java/com/dk/mdm/mapper/mst/ActivityMapper.xml

@@ -0,0 +1,341 @@
+<?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.ActivityMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        activity_id, activity_name, activity_describe, activity_type, activity_status, begin_date, end_date, flg_banner, activity_path, activity_url, grade_code, fun_id, app_code, cp_ids, display_no, flg_valid, 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.Activity">
+        <id column="activity_id" property="activityId"/>
+                <result column="activity_name" property="activityName"/>
+                <result column="activity_describe" property="activityDescribe"/>
+                <result column="activity_type" property="activityType"/>
+                <result column="activity_status" property="activityStatus"/>
+            <result column="begin_date" property="beginDate" typeHandler="TimestampTypeHandler"/>
+            <result column="end_date" property="endDate" typeHandler="TimestampTypeHandler"/>
+                <result column="flg_banner" property="flgBanner"/>
+                <result column="activity_path" property="activityPath"/>
+                <result column="activity_url" property="activityUrl"/>
+                <result column="grade_code" property="gradeCode"/>
+                <result column="fun_id" property="funId" typeHandler="UuidTypeHandler"/>
+                <result column="app_code" property="appCode"/>
+                <result column="cp_ids" property="cpIds" typeHandler="IntListTypeHandler"/>
+                <result column="display_no" property="displayNo"/>
+                <result column="flg_valid" property="flgValid"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId"/>
+                <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="Condition">
+        <where>
+            <if test="activityName != null and activityName != ''">
+                AND activity_name = #{activityName}
+            </if>
+            <if test="activityDescribe != null and activityDescribe != ''">
+                AND activity_describe = #{activityDescribe}
+            </if>
+            <if test="activityType != null and activityType != ''">
+                AND activity_type = #{activityType}
+            </if>
+            <if test="activityStatus != null and activityStatus != ''">
+                AND activity_status = #{activityStatus}
+            </if>
+            <if test="beginDate != null">
+                AND begin_date = #{beginDate}
+            </if>
+            <if test="endDate != null">
+                AND end_date = #{endDate}
+            </if>
+            <if test="flgBanner != null">
+                AND flg_banner = #{flgBanner}
+            </if>
+            <if test="activityPath != null and activityPath != ''">
+                AND activity_path = #{activityPath}
+            </if>
+            <if test="activityUrl != null and activityUrl != ''">
+                AND activity_url = #{activityUrl}
+            </if>
+            <if test="gradeCode != null and gradeCode != ''">
+                AND grade_code = #{gradeCode}
+            </if>
+            <if test="funId != null and funId != ''">
+                AND fun_id = #{funId}
+            </if>
+            <if test="appCode != null and appCode != ''">
+                AND app_code = #{appCode}
+            </if>
+            <if test="cpIds != null">
+                AND cp_ids = #{cpIds}
+            </if>
+            <if test="displayNo != null">
+                AND display_no = #{displayNo}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List_list">
+        tma.activity_id,
+        tma.activity_name,
+        tma.activity_describe,
+        tma.activity_type,
+        tma.activity_status,
+        tma.begin_date,
+        tma.end_date,
+        tma.flg_banner,
+        tma.activity_path,
+        tma.activity_url,
+        tma.grade_code,
+        tma.fun_id,
+        tma.app_code,
+        tma.cp_ids,
+        tma.display_no,
+        tma.flg_valid,
+        tma.op_create_time,
+        tma.op_create_user_id,
+        tma.op_update_time,
+        tma.op_update_user_id,
+        tma.op_app_code,
+        tma.op_timestamp,
+        tma.op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap_list" type="com.dk.mdm.model.response.mst.ActivityResponse">
+        <id column="activity_id" property="activityId"/>
+        <result column="activity_name" property="activityName"/>
+        <result column="activity_describe" property="activityDescribe"/>
+        <result column="activity_type" property="activityType"/>
+        <result column="activity_status" property="activityStatus"/>
+        <result column="begin_date" property="beginDate" typeHandler="TimestampTypeHandler"/>
+        <result column="end_date" property="endDate" typeHandler="TimestampTypeHandler"/>
+        <result column="flg_banner" property="flgBanner"/>
+        <result column="activity_path" property="activityPath"/>
+        <result column="activity_url" property="activityUrl"/>
+        <result column="grade_code" property="gradeCode"/>
+        <result column="fun_id" property="funId" typeHandler="UuidTypeHandler"/>
+        <result column="app_code" property="appCode"/>
+        <result column="cp_ids" property="cpIds" typeHandler="IntListTypeHandler"/>
+        <result column="display_no" property="displayNo"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId"/>
+        <result column="op_app_code" property="opAppCode"/>
+        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+        <result column="cp_name" property="cpName"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition_list">
+        <where>
+            <if test="activityName != null and activityName != ''">
+                AND tma.activity_name = #{activityName}
+            </if>
+            <if test="activityDescribe != null and activityDescribe != ''">
+                AND tma.activity_describe = #{activityDescribe}
+            </if>
+            <if test="activityType != null and activityType != ''">
+                AND tma.activity_type = #{activityType}
+            </if>
+            <if test="activityStatus != null and activityStatus != ''">
+                AND tma.activity_status = #{activityStatus}
+            </if>
+            <if test="beginDate != null">
+                AND tma.begin_date = #{beginDate}
+            </if>
+            <if test="endDate != null">
+                AND tma.end_date = #{endDate}
+            </if>
+            <if test="flgBanner != null">
+                AND tma.flg_banner = #{flgBanner}
+            </if>
+            <if test="activityPath != null and activityPath != ''">
+                AND tma.activity_path = #{activityPath}
+            </if>
+            <if test="activityUrl != null and activityUrl != ''">
+                AND tma.activity_url = #{activityUrl}
+            </if>
+            <if test="gradeCode != null and gradeCode != ''">
+                AND tma.grade_code = #{gradeCode}
+            </if>
+            <if test="funId != null and funId != ''">
+                AND tma.fun_id = #{funId}
+            </if>
+            <if test="appCode != null and appCode != ''">
+                AND tma.app_code = #{appCode}
+            </if>
+            <if test="cpIds != null">
+                AND tma.cp_ids = #{cpIds}
+            </if>
+            <if test="displayNo != null">
+                AND tma.display_no = #{displayNo}
+            </if>
+            <if test="flgValid != null">
+                AND tma.flg_valid = #{flgValid}
+            </if>
+            <if test="opCreateTime != null">
+                AND tma.op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null">
+                AND tma.op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND tma.op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null">
+                AND tma.op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND tma.op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND tma.op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND tma.op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键activityId批量操作 -->
+        WHERE activity_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表dkic_a.t_mst_activity,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap_list">
+        SELECT
+        <include refid="Base_Column_List_list"/>
+        , sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "activityTypeName"
+        , sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "activityStatusName"
+        FROM dkic_a.t_mst_activity as tma
+        left JOIN sys.t_data_kind as tdk1 on tma.activity_type = tdk1.kind_code
+        left JOIN sys.t_data_kind as tdk2 on tma.activity_status = tdk2.kind_code
+        <include refid="Condition_list"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表dkic_a.t_mst_activity,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_a.t_mst_activity as tma
+        <include refid="Condition_list"/>
+    </select>
+
+    <!-- 根据主键查询表dkic_a.t_mst_activity的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap_list">
+        SELECT
+        <include refid="Base_Column_List_list"/>
+        ,(SELECT  COALESCE(array_to_string(array_agg(cp_name), ','),'')
+        FROM dkic_a.t_a_company
+        WHERE cp_id = ANY (tma.cp_ids)) AS cp_name
+        FROM dkic_a.t_mst_activity as tma
+        WHERE activity_id = #{activityId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表dkic_a.t_mst_activity的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_a.t_mst_activity
+        WHERE activity_id = #{activityId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表dkic_a.t_mst_activity的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM dkic_a.t_mst_activity
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into dkic_a.t_mst_activity
+        (
+        <trim suffixOverrides=",">
+            activity_name,
+            activity_describe,
+            activity_type,
+            activity_status,
+            begin_date,
+            end_date,
+            flg_banner,
+            activity_path,
+            activity_url,
+            grade_code,
+            fun_id,
+            app_code,
+            cp_ids,
+            display_no,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.activityName},
+                #{item.activityDescribe},
+                #{item.activityType},
+                #{item.activityStatus},
+                #{item.beginDate},
+                #{item.endDate},
+                #{item.flgBanner},
+                #{item.activityPath},
+                #{item.activityUrl},
+                #{item.gradeCode},
+                #{item.funId}::uuid,
+                #{item.appCode},
+                #{item.cpIds},
+                #{item.displayNo},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 251 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Activity.java

@@ -0,0 +1,251 @@
+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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  活动管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("活动管理")
+@TableName(value = "t_mst_activity", autoResultMap = true,schema =  "dkic_a")
+@ApiModel(value="实体类:活动管理", description="表名:t_mst_activity")
+public class Activity extends PageInfo<Activity> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 活动ID
+     */
+    @TableId(value = "activity_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 活动名称
+     */
+    @Excel(name = "活动名称")
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+
+    /**
+     * 活动描述
+     */
+    @Excel(name = "活动描述")
+    @ApiModelProperty(value = "活动描述")
+    private String activityDescribe;
+
+
+    /**
+     * 活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)
+     */
+    @Excel(name = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    @ApiModelProperty(value = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    private String activityType;
+
+
+    /**
+     * 活动状态 (【系统字典】)
+     */
+    @Excel(name = "活动状态 (【系统字典】)")
+    @ApiModelProperty(value = "活动状态 (【系统字典】)")
+    private String activityStatus;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate beginDate;
+
+
+    /**
+     * 截止日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate endDate;
+
+
+    /**
+     * 广告区标识
+     */
+    @Excel(name = "广告区标识")
+    @ApiModelProperty(value = "广告区标识")
+    private Boolean flgBanner;
+
+
+    /**
+     * 图片路径
+     */
+    @Excel(name = "图片路径")
+    @ApiModelProperty(value = "图片路径")
+    private String activityPath;
+
+
+    /**
+     * 跳转链接
+     */
+    @Excel(name = "跳转链接")
+    @ApiModelProperty(value = "跳转链接")
+    private String activityUrl;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    private String gradeCode;
+
+
+    /**
+     * 功能UUID
+     */
+    @Excel(name = "功能UUID")
+    @ApiModelProperty(value = "功能UUID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String funId;
+
+
+    /**
+     * 应用类型
+     */
+    @Excel(name = "应用类型")
+    @ApiModelProperty(value = "应用类型")
+    private String appCode;
+
+
+    /**
+     * 投放企业 (为空标识不限制)
+     */
+    @Excel(name = "投放企业 (为空标识不限制)")
+    @ApiModelProperty(value = "投放企业 (为空标识不限制)")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cpIds;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 182 - 0
src/main/java/com/dk/mdm/model/pojo/mst/ActivityItem.java

@@ -0,0 +1,182 @@
+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_activity_item", autoResultMap = true,schema = "dkic_a")
+@ApiModel(value="实体类:活动明细", description="表名:t_mst_activity_item")
+public class ActivityItem extends PageInfo<ActivityItem> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 活动ID
+     */
+    @Excel(name = "活动ID")
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 明细描述
+     */
+    @Excel(name = "明细描述")
+    @ApiModelProperty(value = "明细描述")
+    private String itemDescribe;
+
+
+    /**
+     * 标准价
+     */
+    @Excel(name = "标准价")
+    @ApiModelProperty(value = "标准价")
+    private BigDecimal stdPrice;
+
+
+    /**
+     * 销售价
+     */
+    @Excel(name = "销售价")
+    @ApiModelProperty(value = "销售价")
+    private BigDecimal salePrice;
+
+
+    /**
+     * 时长 (单位(天))
+     */
+    @Excel(name = "时长 (单位(天))")
+    @ApiModelProperty(value = "时长 (单位(天))")
+    private Integer validLong;
+
+
+    /**
+     * 赠送时长 (单位(天))
+     */
+    @Excel(name = "赠送时长 (单位(天))")
+    @ApiModelProperty(value = "赠送时长 (单位(天))")
+    private Integer extraLong;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 182 - 0
src/main/java/com/dk/mdm/model/query/mst/ActivityItemQuery.java

@@ -0,0 +1,182 @@
+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_activity_item", autoResultMap = true,schema = "dkic_a")
+@ApiModel(value="实体类:活动明细", description="表名:t_mst_activity_item")
+public class ActivityItemQuery extends PageInfo<ActivityItemQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 活动ID
+     */
+    @Excel(name = "活动ID")
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 明细描述
+     */
+    @Excel(name = "明细描述")
+    @ApiModelProperty(value = "明细描述")
+    private String itemDescribe;
+
+
+    /**
+     * 标准价
+     */
+    @Excel(name = "标准价")
+    @ApiModelProperty(value = "标准价")
+    private BigDecimal stdPrice;
+
+
+    /**
+     * 销售价
+     */
+    @Excel(name = "销售价")
+    @ApiModelProperty(value = "销售价")
+    private BigDecimal salePrice;
+
+
+    /**
+     * 时长 (单位(天))
+     */
+    @Excel(name = "时长 (单位(天))")
+    @ApiModelProperty(value = "时长 (单位(天))")
+    private Integer validLong;
+
+
+    /**
+     * 赠送时长 (单位(天))
+     */
+    @Excel(name = "赠送时长 (单位(天))")
+    @ApiModelProperty(value = "赠送时长 (单位(天))")
+    private Integer extraLong;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 250 - 0
src/main/java/com/dk/mdm/model/query/mst/ActivityQuery.java

@@ -0,0 +1,250 @@
+package com.dk.mdm.model.query.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.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  活动管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("活动管理")
+@TableName(value = "t_mst_activity", autoResultMap = true,schema =  "dkic_a")
+@ApiModel(value="实体类:活动管理", description="表名:t_mst_activity")
+public class ActivityQuery extends PageInfo<ActivityQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 活动ID
+     */
+    @TableId(value = "activity_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 活动名称
+     */
+    @Excel(name = "活动名称")
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+
+    /**
+     * 活动描述
+     */
+    @Excel(name = "活动描述")
+    @ApiModelProperty(value = "活动描述")
+    private String activityDescribe;
+
+
+    /**
+     * 活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)
+     */
+    @Excel(name = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    @ApiModelProperty(value = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    private String activityType;
+
+
+    /**
+     * 活动状态 (【系统字典】)
+     */
+    @Excel(name = "活动状态 (【系统字典】)")
+    @ApiModelProperty(value = "活动状态 (【系统字典】)")
+    private String activityStatus;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime beginDate;
+
+
+    /**
+     * 截止日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime endDate;
+
+
+    /**
+     * 广告区标识
+     */
+    @Excel(name = "广告区标识")
+    @ApiModelProperty(value = "广告区标识")
+    private Boolean flgBanner;
+
+
+    /**
+     * 图片路径
+     */
+    @Excel(name = "图片路径")
+    @ApiModelProperty(value = "图片路径")
+    private String activityPath;
+
+
+    /**
+     * 跳转链接
+     */
+    @Excel(name = "跳转链接")
+    @ApiModelProperty(value = "跳转链接")
+    private String activityUrl;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    private String gradeCode;
+
+
+    /**
+     * 功能UUID
+     */
+    @Excel(name = "功能UUID")
+    @ApiModelProperty(value = "功能UUID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String funId;
+
+
+    /**
+     * 应用类型
+     */
+    @Excel(name = "应用类型")
+    @ApiModelProperty(value = "应用类型")
+    private String appCode;
+
+
+    /**
+     * 投放企业 (为空标识不限制)
+     */
+    @Excel(name = "投放企业 (为空标识不限制)")
+    @ApiModelProperty(value = "投放企业 (为空标识不限制)")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cpIds;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 182 - 0
src/main/java/com/dk/mdm/model/response/mst/ActivityItemResponse.java

@@ -0,0 +1,182 @@
+package com.dk.mdm.model.response.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_activity_item", autoResultMap = true,schema = "dkic_a")
+@ApiModel(value="实体类:活动明细", description="表名:t_mst_activity_item")
+public class ActivityItemResponse extends PageInfo<ActivityItemResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 活动ID
+     */
+    @Excel(name = "活动ID")
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 明细描述
+     */
+    @Excel(name = "明细描述")
+    @ApiModelProperty(value = "明细描述")
+    private String itemDescribe;
+
+
+    /**
+     * 标准价
+     */
+    @Excel(name = "标准价")
+    @ApiModelProperty(value = "标准价")
+    private BigDecimal stdPrice;
+
+
+    /**
+     * 销售价
+     */
+    @Excel(name = "销售价")
+    @ApiModelProperty(value = "销售价")
+    private BigDecimal salePrice;
+
+
+    /**
+     * 时长 (单位(天))
+     */
+    @Excel(name = "时长 (单位(天))")
+    @ApiModelProperty(value = "时长 (单位(天))")
+    private Integer validLong;
+
+
+    /**
+     * 赠送时长 (单位(天))
+     */
+    @Excel(name = "赠送时长 (单位(天))")
+    @ApiModelProperty(value = "赠送时长 (单位(天))")
+    private Integer extraLong;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 262 - 0
src/main/java/com/dk/mdm/model/response/mst/ActivityResponse.java

@@ -0,0 +1,262 @@
+package com.dk.mdm.model.response.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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  活动管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("活动管理")
+@TableName(value = "t_mst_activity", autoResultMap = true,schema =  "dkic_a")
+@ApiModel(value="实体类:活动管理", description="表名:t_mst_activity")
+public class ActivityResponse extends PageInfo<ActivityResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 活动ID
+     */
+    @TableId(value = "activity_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 活动名称
+     */
+    @Excel(name = "活动名称")
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+
+    /**
+     * 活动描述
+     */
+    @Excel(name = "活动描述")
+    @ApiModelProperty(value = "活动描述")
+    private String activityDescribe;
+
+
+    /**
+     * 活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)
+     */
+    @Excel(name = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    @ApiModelProperty(value = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    private String activityType;
+
+
+    /**
+     * 活动状态 (【系统字典】)
+     */
+    @Excel(name = "活动状态 (【系统字典】)")
+    @ApiModelProperty(value = "活动状态 (【系统字典】)")
+    private String activityStatus;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate beginDate;
+
+
+    /**
+     * 截止日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate endDate;
+
+
+    /**
+     * 广告区标识
+     */
+    @Excel(name = "广告区标识")
+    @ApiModelProperty(value = "广告区标识")
+    private Boolean flgBanner;
+
+
+    /**
+     * 图片路径
+     */
+    @Excel(name = "图片路径")
+    @ApiModelProperty(value = "图片路径")
+    private String activityPath;
+
+
+    /**
+     * 跳转链接
+     */
+    @Excel(name = "跳转链接")
+    @ApiModelProperty(value = "跳转链接")
+    private String activityUrl;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    private String gradeCode;
+
+
+    /**
+     * 功能UUID
+     */
+    @Excel(name = "功能UUID")
+    @ApiModelProperty(value = "功能UUID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String funId;
+
+
+    /**
+     * 应用类型
+     */
+    @Excel(name = "应用类型")
+    @ApiModelProperty(value = "应用类型")
+    private String appCode;
+
+
+    /**
+     * 投放企业 (为空标识不限制)
+     */
+    @Excel(name = "投放企业 (为空标识不限制)")
+    @ApiModelProperty(value = "投放企业 (为空标识不限制)")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cpIds;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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(typeHandler = UuidTypeHandler.class)
+    private String activityTypeName;
+
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityStatusName;
+
+
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cpName;
+
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 182 - 0
src/main/java/com/dk/mdm/model/vo/mst/ActivityItemVO.java

@@ -0,0 +1,182 @@
+package com.dk.mdm.model.vo.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_activity_item", autoResultMap = true,schema = "dkic_a")
+@ApiModel(value="实体类:活动明细", description="表名:t_mst_activity_item")
+public class ActivityItemVO extends PageInfo<ActivityItemVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 活动ID
+     */
+    @Excel(name = "活动ID")
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 明细描述
+     */
+    @Excel(name = "明细描述")
+    @ApiModelProperty(value = "明细描述")
+    private String itemDescribe;
+
+
+    /**
+     * 标准价
+     */
+    @Excel(name = "标准价")
+    @ApiModelProperty(value = "标准价")
+    private BigDecimal stdPrice;
+
+
+    /**
+     * 销售价
+     */
+    @Excel(name = "销售价")
+    @ApiModelProperty(value = "销售价")
+    private BigDecimal salePrice;
+
+
+    /**
+     * 时长 (单位(天))
+     */
+    @Excel(name = "时长 (单位(天))")
+    @ApiModelProperty(value = "时长 (单位(天))")
+    private Integer validLong;
+
+
+    /**
+     * 赠送时长 (单位(天))
+     */
+    @Excel(name = "赠送时长 (单位(天))")
+    @ApiModelProperty(value = "赠送时长 (单位(天))")
+    private Integer extraLong;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+}

+ 254 - 0
src/main/java/com/dk/mdm/model/vo/mst/ActivityVO.java

@@ -0,0 +1,254 @@
+package com.dk.mdm.model.vo.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.dk.mdm.model.pojo.mst.ActivityItem;
+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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  活动管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("活动管理")
+@TableName(value = "t_mst_activity", autoResultMap = true,schema =  "dkic_a")
+@ApiModel(value="实体类:活动管理", description="表名:t_mst_activity")
+public class ActivityVO extends PageInfo<ActivityVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 活动ID
+     */
+    @TableId(value = "activity_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "活动ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String activityId;
+
+
+    /**
+     * 活动名称
+     */
+    @Excel(name = "活动名称")
+    @ApiModelProperty(value = "活动名称")
+    private String activityName;
+
+
+    /**
+     * 活动描述
+     */
+    @Excel(name = "活动描述")
+    @ApiModelProperty(value = "活动描述")
+    private String activityDescribe;
+
+
+    /**
+     * 活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)
+     */
+    @Excel(name = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    @ApiModelProperty(value = "活动分类 (【系统字典】版本,功能,广告,充值,拼团,秒杀,砍价)")
+    private String activityType;
+
+
+    /**
+     * 活动状态 (【系统字典】)
+     */
+    @Excel(name = "活动状态 (【系统字典】)")
+    @ApiModelProperty(value = "活动状态 (【系统字典】)")
+    private String activityStatus;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate beginDate;
+
+
+    /**
+     * 截止日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate endDate;
+
+
+    /**
+     * 广告区标识
+     */
+    @Excel(name = "广告区标识")
+    @ApiModelProperty(value = "广告区标识")
+    private Boolean flgBanner;
+
+
+    /**
+     * 图片路径
+     */
+    @Excel(name = "图片路径")
+    @ApiModelProperty(value = "图片路径")
+    private String activityPath;
+
+
+    /**
+     * 跳转链接
+     */
+    @Excel(name = "跳转链接")
+    @ApiModelProperty(value = "跳转链接")
+    private String activityUrl;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    private String gradeCode;
+
+
+    /**
+     * 功能UUID
+     */
+    @Excel(name = "功能UUID")
+    @ApiModelProperty(value = "功能UUID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String funId;
+
+
+    /**
+     * 应用类型
+     */
+    @Excel(name = "应用类型")
+    @ApiModelProperty(value = "应用类型")
+    private String appCode;
+
+
+    /**
+     * 投放企业 (为空标识不限制)
+     */
+    @Excel(name = "投放企业 (为空标识不限制)")
+    @ApiModelProperty(value = "投放企业 (为空标识不限制)")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cpIds;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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 = "创建用户 (触发器自动处理)")
+    private Long 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 = "修改用户 (触发器自动处理)")
+    private Long 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;
+
+    private List<ActivityItem> itemList;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 50 - 0
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -920,4 +920,54 @@ public class CommonService extends BaseService<Map<String, Object>> {
         return ResponseResultUtil.success(list);
 
     }
+
+    /**
+     * @desc   : 获取版本代码
+     * @author : 常皓宁
+     * @date   : 2024/4/15 10:42
+     */
+    public ResponseResultVO<List<Map<String, Object>>> getGrade(Map<String, Object> param) {
+        List<Map<String, Object>> list = commonMapper.getGrade(param);
+        return ResponseResultUtil.success(list);
+    }
+
+    /**
+     * @desc   : 获取版本功能
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    public ResponseResultVO<List<Map<String, Object>>> getFunction(Map<String, Object> param) {
+        return ResponseResultUtil.success(commonMapper.getFunction(param));
+    }
+
+    /**
+     * @desc   : 获取版本功能(分页)
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getFunctionByPage(Map<String, Object> param) {
+        this.getLimit(param);
+        return super.mergeListWithCount(param, commonMapper.getFunction(param),
+                commonMapper.countFuncitonByPage(param));
+    }
+
+    /**
+     * @desc   : 获取公司
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    public ResponseResultVO<List<Map<String, Object>>> getCompany(Map<String, Object> param) {
+        return ResponseResultUtil.success(commonMapper.getCompany(param));
+    }
+
+    /**
+     * @desc   : 获取公司(分页)
+     * @author : 常皓宁
+     * @date   : 2024/4/15 11:19
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getCompanyByPage(Map<String, Object> param) {
+        this.getLimit(param);
+        return super.mergeListWithCount(param, commonMapper.getCompany(param),
+                commonMapper.countCompanyByPage(param));
+    }
 }

+ 77 - 0
src/main/java/com/dk/mdm/service/mst/ActivityItemService.java

@@ -0,0 +1,77 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.infrastructure.constant.Constant;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.model.pojo.mst.ActivityItem;
+import com.dk.mdm.mapper.mst.ActivityItemMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.mst.ActivityItemQuery;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.response.mst.ActivityItemResponse;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import com.dk.mdm.model.vo.mst.ActivityVO;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+
+@Service
+@Transactional
+public class ActivityItemService extends BaseService<ActivityItem> {
+
+	@Override
+	public BaseMapper<ActivityItem> getRepository() {
+		return activityItemMapper;
+	}
+
+	@Autowired
+	private ActivityItemMapper activityItemMapper;
+
+	/**
+	 * @desc : 重写主键
+	 * @author : 常皓宁
+	 * @date : 2024/2/29 20:29
+	 */
+	@Override
+	public String getPrimaryKey() {
+		return "itemId";
+	}
+
+	/**
+	 * @desc : 查询
+	 * @author : 常皓宁
+	 * @date : 2023/1/5 9:39
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<ActivityItemResponse>> selectByCond(ActivityItemQuery activityItemQuery) {
+		return super.mergeListWithCount(activityItemQuery, activityItemMapper.selectByCond(activityItemQuery),
+				activityItemMapper.countByCond(activityItemQuery));
+	}
+
+	/**
+	 * @desc   : 新建/编辑
+	 * @author : 常皓宁
+	 * @date   : 2024/4/16 9:24
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> updateItem(ActivityVO activityVO) {
+		//先删后插
+		activityItemMapper.deleteByActivityId(activityVO.getActivityId());
+		//新建空间
+		if (activityVO.getItemList() != null && activityVO.getItemList().size() > 0) {
+			for (ActivityItem activityItem : activityVO.getItemList()) {
+				activityItem.setActivityId(activityVO.getActivityId());
+				activityItemMapper.insert(activityItem);
+			}
+		}
+		return ResponseResultUtil.success();
+	}
+
+}

+ 111 - 0
src/main/java/com/dk/mdm/service/mst/ActivityService.java

@@ -0,0 +1,111 @@
+package com.dk.mdm.service.mst;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.infrastructure.constant.Constant;
+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.ActivityConvert;
+import com.dk.mdm.model.pojo.mst.Activity;
+import com.dk.mdm.mapper.mst.ActivityMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.mst.ActivityQuery;
+import com.dk.mdm.model.query.mst.UnitQuery;
+import com.dk.mdm.model.response.mst.ActivityResponse;
+import com.dk.mdm.model.response.mst.UnitResponse;
+import com.dk.mdm.model.vo.mst.ActivityVO;
+import com.dk.mdm.model.vo.mst.RoleVO;
+import com.dk.mdm.service.common.CommonService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.UUID;
+
+@Service
+@Transactional
+public class ActivityService extends BaseService<Activity> {
+
+	@Override
+	public BaseMapper<Activity> getRepository() {
+		return activityMapper;
+	}
+
+	@Autowired
+	private ActivityMapper activityMapper;
+
+	@Autowired
+	private ActivityConvert activityConvert;
+
+	@Autowired
+	private CommonService commonService;
+
+	/**
+	 * @desc : 重写主键
+	 * @author : 常皓宁
+	 * @date : 2024/2/29 20:29
+	 */
+	@Override
+	public String getPrimaryKey() {
+		return "activityId";
+	}
+
+	/**
+	 * @desc : 查询
+	 * @author : 常皓宁
+	 * @date : 2023/1/5 9:39
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<ActivityResponse>> selectByCond(ActivityQuery activityQuery) {
+		return super.mergeListWithCount(activityQuery, activityMapper.selectByCond(activityQuery),
+				activityMapper.countByCond(activityQuery));
+	}
+
+	/**
+	 * @desc   : 保存方法
+	 * @author : 常皓宁
+	 * @date   : 2024/4/15 15:03
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> insert(ActivityVO activityVO) {
+		Activity activity = activityConvert.convertToPo(activityVO);
+		// 获取显示顺序
+		Integer displayNo =commonService.getMaxDisplayNo(Constant.DisplayNoTable.ACTIVITY);
+		activity.setDisplayNo(displayNo);
+		//新建
+		activityMapper.insert(activity);
+		return ResponseResultUtil.success();
+	}
+
+	/**
+	 * @desc   : 发布
+	 * @author : 常皓宁
+	 * @date   : 2024/4/15 14:53
+	 */
+	public ResponseResultVO<?> release(String id) {
+		Activity releaseActivity = new Activity();
+		releaseActivity.setActivityStatus("活动状态-发布").setActivityId(id);
+		super.update(releaseActivity, new UpdateWrapper<Activity>().lambda().eq(Activity::getActivityId,
+				UUID.fromString(releaseActivity.getActivityId ())));
+		return ResponseResultUtil.success();
+	}
+
+	/**
+	 * @desc   : 下架
+	 * @author : 常皓宁
+	 * @date   : 2024/4/15 14:53
+	 */
+
+	public ResponseResultVO<?> shelves(String id) {
+		Activity shelvesActivity = new Activity();
+		shelvesActivity.setActivityStatus("活动状态-未发布").setActivityId(id);
+		super.update(shelvesActivity, new UpdateWrapper<Activity>().lambda().eq(Activity::getActivityId,
+				UUID.fromString(shelvesActivity.getActivityId ())));
+		return ResponseResultUtil.success();
+	}
+
+}