Ver código fonte

安全等级代码提交

jingyuanchao 2 anos atrás
pai
commit
8183543120

+ 28 - 0
project_data/sql/0.0.2/soc/soc.sql

@@ -2291,6 +2291,34 @@ INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type
 INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 2, '已完成', '3', 'resumption_status', NULL, 'default', 'N', '0', 'admin', '2023-08-11 09:21:09', '省联社账号', '2023-10-24 17:03:48', NULL);
 INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( 3, '已逾期', '4', 'resumption_status', NULL, 'default', 'N', '0', 'admin', '2023-08-11 09:21:09', '', NULL, NULL);
 
+-- 新增风险等级字典
+delete from sys_dict_type where dict_type='risk_level';
+delete from sys_dict_data where dict_type='risk_level';
+INSERT INTO sys_dict_type ( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES ('风险等级', 'risk_level', '0', null, now(), null, now(), null);
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES ( 0, '低', '0', 'risk_level', null, 'default', 'N', '0', null, now(), null, now(), null);
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES ( 1, '中', '1', 'risk_level', null, 'default', 'N', '0', null, now(), null, now(), null);
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES ( 2, '高', '2', 'risk_level', null, 'default', 'N', '0', null, now(), null, now(), null);
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES ( 3, '极高', '3', 'risk_level', null, 'default', 'N', '0', null, now(), null, now(), null);
+
+
+-- 新增安全等级菜单及页面权限
+delete from sys_menu where id in (1717479664205783042,1717480807703076866,1717480976800636929,1717481080311865346,1717481175799390210,1717481251359776769);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717479664205783042, '安全等级配置', 1712277074707779586, 1, '/level', 'core/safeLevel/index', null, 1, 0, 'C', '0', '0', '', '1', 'button', null, null, now(), null, now(), null);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717480807703076866, '安全等级列表', 1717479664205783042, 1, '', null, null, 1, 0, 'F', '0', '0', 'core.safeIndex:safeLevel:list', '1', null, null, null, now(), null, now(), null);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717480976800636929, '安全等级详情', 1717479664205783042, 2, '', null, null, 1, 0, 'F', '0', '0', 'core.safetyIndex:safeLevel:query', '1', null, null, null, now(), null, now(), null);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717481080311865346, '安全等级新增', 1717479664205783042, 3, '', null, null, 1, 0, 'F', '0', '0', 'core.safetyIndex:safeLevel:add', '1', null, null, null, now(), null, now(), null);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717481175799390210, '安全等级编辑', 1717479664205783042, 4, '', null, null, 1, 0, 'F', '0', '0', 'core.safetyIndex:safeLevel:edit', '1', null, null,  null, now(), null, now(), null);
+INSERT INTO sys_menu (id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, platform_type, icon, image_path, create_by, create_time, update_by, update_time, remark) VALUES (1717481251359776769, '安全等级删除', 1717479664205783042, 5, '', null, null, 1, 0, 'F', '0', '0', 'core.safetyIndex:safeLevel:remove', '1', null, null, null, now(), null, now(), null);
+
+delete from sys_role_menu where menu_id in (1717479664205783042,1717480807703076866,1717480976800636929,1717481080311865346,1717481175799390210,1717481251359776769);
+insert into sys_role_menu select  id,1717479664205783042 from sys_role where role_name like '%省联社安全保卫管理人员%';
+insert into sys_role_menu select  id,1717480807703076866 from sys_role where role_name like '%省联社安全保卫管理人员%';
+insert into sys_role_menu select  id,1717480976800636929 from sys_role where role_name like '%省联社安全保卫管理人员%';
+insert into sys_role_menu select  id,1717481080311865346 from sys_role where role_name like '%省联社安全保卫管理人员%';
+insert into sys_role_menu select  id,1717481175799390210 from sys_role where role_name like '%省联社安全保卫管理人员%';
+insert into sys_role_menu select  id,1717481251359776769 from sys_role where role_name like '%省联社安全保卫管理人员%';
+
+
 -- -------------------------------------------------------
 -- ----------新增数据 end  ----------------------------
 -- -------------------------------------------------------

+ 84 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/controller/CoreSafeLevelController.java

@@ -0,0 +1,84 @@
+package com.xunmei.core.safetyindex.controller;
+
+import com.xunmei.common.core.web.controller.BaseController;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.log.annotation.Log;
+import com.xunmei.common.log.enums.BusinessType;
+import com.xunmei.common.security.annotation.RequiresPermissions;
+import com.xunmei.core.safetyindex.domain.CoreSafeLevel;
+import com.xunmei.core.safetyindex.service.ICoreSafeLevelService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 安全等级配置Controller
+ *
+ * @author xunmei
+ * @date 2023-10-26
+ */
+@Api(tags = {"CoreSafeLevel" })
+@RestController
+@RequestMapping("/safeLevel")
+public class CoreSafeLevelController extends BaseController {
+    @Autowired
+    private ICoreSafeLevelService coreSafeLevelService;
+
+/**
+ * 查询安全等级配置列表
+ */
+@ApiOperation(value = "查询CoreSafeLevel列表")
+@RequiresPermissions("core.safeIndex:safeLevel:list")
+@GetMapping("/list")
+    public TableDataInfo<CoreSafeLevel> list(CoreSafeLevel coreSafeLevel) {
+
+        return coreSafeLevelService.selectPage( coreSafeLevel);
+    }
+
+
+
+    /**
+     * 获取安全等级配置详细信息
+     */
+    @ApiOperation(value = "获取CoreSafeLevel详细信息")
+    @RequiresPermissions("core.safetyIndex:safeLevel:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(coreSafeLevelService.selectCoreSafeLevelById(id));
+    }
+
+    /**
+     * 新增安全等级配置
+     */
+    @ApiOperation(value = "新增CoreSafeLevel")
+    @RequiresPermissions("core.safetyIndex:safeLevel:add")
+    @Log(title = "安全等级配置" , businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CoreSafeLevel coreSafeLevel) {
+        return toAjax(coreSafeLevelService.insertCoreSafeLevel(coreSafeLevel));
+    }
+
+    /**
+     * 修改安全等级配置
+     */
+    @ApiOperation(value = "修改CoreSafeLevel")
+    @RequiresPermissions("core.safetyIndex:safeLevel:edit")
+    @Log(title = "安全等级配置" , businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CoreSafeLevel coreSafeLevel) {
+        return toAjax(coreSafeLevelService.updateCoreSafeLevel(coreSafeLevel));
+    }
+
+    /**
+     * 删除安全等级配置
+     */
+    @ApiOperation(value = "删除CoreSafeLevel")
+    @RequiresPermissions("core.safetyIndex:safeLevel:remove")
+    @Log(title = "安全等级配置" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(coreSafeLevelService.deleteCoreSafeLevelByIds(ids));
+    }
+}

+ 57 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/domain/CoreSafeLevel.java

@@ -0,0 +1,57 @@
+package com.xunmei.core.safetyindex.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+/**
+ * 安全等级配置对象 core_safe_level
+ *
+ * @author xunmei
+ * @date 2023-10-26
+ */
+@Data
+
+@Accessors(chain = true)
+@TableName("core_safe_level")
+@ApiModel(value = "CoreSafeLevel对象", description = "安全等级配置")
+public class CoreSafeLevel{
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "`id`")
+    private Long id;
+
+    @TableField(value = "`level_name`")
+    @ApiModelProperty(value = "安全等级名称:L1,L2,L3,l4")
+    private String levelName;
+
+    @TableField(value = "`min_value`")
+    @ApiModelProperty(value = "最小值")
+    private BigDecimal minValue;
+
+    @TableField(value = "`max_value`")
+    @ApiModelProperty(value = "最大值")
+    private BigDecimal maxValue;
+
+
+    @TableField(value = "`risk_level`")
+    @ApiModelProperty(value = "等级风险:0:低,1:中,2:高,3: 极高")
+    private Integer riskLevel;
+
+    @TableField(value = "`description`")
+    @ApiModelProperty(value = "安全等级描述:")
+    private String description;
+
+    @TableField(exist = false)
+    private int pageNum = 0;
+
+    @TableField(exist = false)
+    private int pageSize = 10;
+
+}

+ 67 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/mapper/CoreSafeLevelMapper.java

@@ -0,0 +1,67 @@
+package com.xunmei.core.safetyindex.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.core.safetyindex.domain.CoreSafeLevel;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 安全等级配置Mapper接口
+ *
+ * @author xunmei
+ * @date 2023-10-26
+ */
+public interface CoreSafeLevelMapper extends BaseMapper<CoreSafeLevel> {
+    /**
+     * 查询安全等级配置
+     *
+     * @param id 安全等级配置主键
+     * @return 安全等级配置
+     */
+    CoreSafeLevel selectCoreSafeLevelById(Long id);
+
+    /**
+     * 查询安全等级配置列表
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 安全等级配置集合
+     */
+    List<CoreSafeLevel> selectCoreSafeLevelList(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 新增安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    int insertCoreSafeLevel(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 修改安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    int updateCoreSafeLevel(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 删除安全等级配置
+     *
+     * @param id 安全等级配置主键
+     * @return 结果
+     */
+    int deleteCoreSafeLevelById(Long id);
+
+    /**
+     * 批量删除安全等级配置
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteCoreSafeLevelByIds(Long[] ids);
+
+    Page<CoreSafeLevel> selectPageData(Page<CoreSafeLevel> page1, @Param("query") QueryWrapper<CoreSafeLevel> query);
+}

+ 71 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafeLevelService.java

@@ -0,0 +1,71 @@
+package com.xunmei.core.safetyindex.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.core.safetyindex.domain.CoreSafeLevel;
+
+import java.util.List;
+
+/**
+ * 安全等级配置Service接口
+ *
+ * @author xunmei
+ * @date 2023-10-26
+ */
+public interface ICoreSafeLevelService extends IService<CoreSafeLevel> {
+    /**
+     * 查询安全等级配置
+     *
+     * @param id 安全等级配置主键
+     * @return 安全等级配置
+     */
+     CoreSafeLevel selectCoreSafeLevelById(Long id);
+
+    /**
+     * 查询安全等级配置列表
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 安全等级配置集合
+     */
+    List<CoreSafeLevel> selectCoreSafeLevelList(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 新增安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    int insertCoreSafeLevel(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 修改安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    int updateCoreSafeLevel(CoreSafeLevel coreSafeLevel);
+
+    /**
+     * 批量删除安全等级配置
+     *
+     * @param ids 需要删除的安全等级配置主键集合
+     * @return 结果
+     */
+    int deleteCoreSafeLevelByIds(Long[] ids);
+
+    /**
+     * 删除安全等级配置信息
+     *
+     * @param id 安全等级配置主键
+     * @return 结果
+     */
+    int deleteCoreSafeLevelById(Long id);
+
+    /**
+     * 查询安全等级配置分页数据
+     *
+     * @param coreSafeLevel 查询条件对象
+     * @return Page
+     */
+    TableDataInfo<CoreSafeLevel> selectPage(CoreSafeLevel coreSafeLevel);
+}

+ 112 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafeLevelServiceImpl.java

@@ -0,0 +1,112 @@
+package com.xunmei.core.safetyindex.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.core.safetyindex.domain.CoreSafeLevel;
+import com.xunmei.core.safetyindex.mapper.CoreSafeLevelMapper;
+import com.xunmei.core.safetyindex.service.ICoreSafeLevelService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 安全等级配置Service业务层处理
+ *
+ * @author xunmei
+ * @date 2023-10-26
+ */
+@Service
+public class CoreSafeLevelServiceImpl extends ServiceImpl<CoreSafeLevelMapper, CoreSafeLevel> implements ICoreSafeLevelService {
+    @Autowired
+    private CoreSafeLevelMapper coreSafeLevelMapper;
+
+
+    @Override
+    public TableDataInfo<CoreSafeLevel> selectPage(CoreSafeLevel coreSafeLevel) {
+
+
+        //查询条件
+        QueryWrapper<CoreSafeLevel> query = new QueryWrapper<>(coreSafeLevel);
+        Page<CoreSafeLevel> page1 = new Page<>();
+        page1.setCurrent(coreSafeLevel.getPageNum());
+        page1.setSize(coreSafeLevel.getPageSize());
+
+        //获取数据
+        Page<CoreSafeLevel> page = coreSafeLevelMapper.selectPageData(page1, query);
+        //抓换为TableDataInfo适配前端
+        return TableDataInfo.build(page);
+
+
+    }
+
+
+    /**
+     * 查询安全等级配置
+     *
+     * @param id 安全等级配置主键
+     * @return 安全等级配置
+     */
+    @Override
+    public CoreSafeLevel selectCoreSafeLevelById(Long id) {
+        return coreSafeLevelMapper.selectById(id);
+    }
+
+    /**
+     * 查询安全等级配置列表
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 安全等级配置
+     */
+    @Override
+    public List<CoreSafeLevel> selectCoreSafeLevelList(CoreSafeLevel coreSafeLevel) {
+        return coreSafeLevelMapper.selectList(new QueryWrapper<>(coreSafeLevel));
+    }
+
+    /**
+     * 新增安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    @Override
+    public int insertCoreSafeLevel(CoreSafeLevel coreSafeLevel) {
+        return coreSafeLevelMapper.insert(coreSafeLevel);
+    }
+
+    /**
+     * 修改安全等级配置
+     *
+     * @param coreSafeLevel 安全等级配置
+     * @return 结果
+     */
+    @Override
+    public int updateCoreSafeLevel(CoreSafeLevel coreSafeLevel) {
+        return coreSafeLevelMapper.updateById(coreSafeLevel);
+    }
+
+    /**
+     * 批量删除安全等级配置
+     *
+     * @param ids 需要删除的安全等级配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoreSafeLevelByIds(Long[] ids) {
+        return coreSafeLevelMapper.deleteBatchIds(Arrays.asList((ids)));
+    }
+
+    /**
+     * 删除安全等级配置信息
+     *
+     * @param id 安全等级配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCoreSafeLevelById(Long id) {
+        return coreSafeLevelMapper.deleteById(id);
+    }
+}

+ 114 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/core.safetyindex/CoreSafeLevelMapper.xml

@@ -0,0 +1,114 @@
+<?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.xunmei.core.safetyindex.mapper.CoreSafeLevelMapper">
+
+    <resultMap type="com.xunmei.core.safetyindex.domain.CoreSafeLevel" id="CoreSafeLevelResult">
+                <result property="id" column="id"/>
+                <result property="levelName" column="level_name"/>
+                <result property="minValue" column="min_value"/>
+                <result property="maxValue" column="max_value"/>
+                <result property="riskLevel" column="risk_level"/>
+                <result property="description" column="description"/>
+    </resultMap>
+
+    <sql id="selectCoreSafeLevelVo">
+        select id, level_name, min_value, max_value, risk_level, description
+        from core_safe_level
+    </sql>
+
+    <select id="selectCoreSafeLevelList" parameterType="com.xunmei.core.safetyindex.domain.CoreSafeLevel"
+            resultMap="CoreSafeLevelResult">
+        <include refid="selectCoreSafeLevelVo"/>
+        <where>
+                        <if test="levelName != null  and levelName != ''">
+                            and level_name like concat('%', #{levelName}, '%')
+                        </if>
+                        <if test="minValue != null ">
+                            and min_value = #{minValue}
+                        </if>
+                        <if test="maxValue != null ">
+                            and max_value = #{maxValue}
+                        </if>
+                        <if test="riskLevel != null ">
+                            and risk_level = #{riskLevel}
+                        </if>
+                        <if test="description != null  and description != ''">
+                            and description = #{description}
+                        </if>
+        </where>
+    </select>
+
+    <select id="selectCoreSafeLevelById" parameterType="Long"
+            resultMap="CoreSafeLevelResult">
+            <include refid="selectCoreSafeLevelVo"/>
+            where id = #{id}
+    </select>
+
+    <insert id="insertCoreSafeLevel" parameterType="com.xunmei.core.safetyindex.domain.CoreSafeLevel"            useGeneratedKeys="true" keyProperty="id">
+        insert into core_safe_level
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                    <if test="levelName != null">level_name,
+                    </if>
+                    <if test="minValue != null">min_value,
+                    </if>
+                    <if test="maxValue != null">max_value,
+                    </if>
+                    <if test="riskLevel != null">risk_level,
+                    </if>
+                    <if test="description != null">description,
+                    </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                    <if test="levelName != null">#{levelName},
+                    </if>
+                    <if test="minValue != null">#{minValue},
+                    </if>
+                    <if test="maxValue != null">#{maxValue},
+                    </if>
+                    <if test="riskLevel != null">#{riskLevel},
+                    </if>
+                    <if test="description != null">#{description},
+                    </if>
+        </trim>
+    </insert>
+
+    <update id="updateCoreSafeLevel" parameterType="com.xunmei.core.safetyindex.domain.CoreSafeLevel">
+        update core_safe_level
+        <trim prefix="SET" suffixOverrides=",">
+                    <if test="levelName != null">level_name =
+                        #{levelName},
+                    </if>
+                    <if test="minValue != null">min_value =
+                        #{minValue},
+                    </if>
+                    <if test="maxValue != null">max_value =
+                        #{maxValue},
+                    </if>
+                    <if test="riskLevel != null">risk_level =
+                        #{riskLevel},
+                    </if>
+                    <if test="description != null">description =
+                        #{description},
+                    </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCoreSafeLevelById" parameterType="Long">
+        delete
+        from core_safe_level where id = #{id}
+    </delete>
+
+    <delete id="deleteCoreSafeLevelByIds" parameterType="String">
+        delete from core_safe_level where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="selectPageData" resultMap="CoreSafeLevelResult">
+        select * from core_safe_level
+    </select>
+</mapper>