Przeglądaj źródła

未安装信息

wang_xy 1 rok temu
rodzic
commit
c7ea79a81c

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZAreaController.java

@@ -86,8 +86,8 @@ public class ZAreaController extends BaseController {
     @SaCheckPermission("zdsz:area:export")
     @Log(title = "小区管理", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response) {
-        List<GImportVo> gExportsVos = iZAreaService.selectList();
+    public void export(HttpServletResponse response,ZAreaBo bo) {
+        List<GImportVo> gExportsVos = iZAreaService.selectList(bo);
         ExcelUtil.exportExcel(gExportsVos, "小区管理", GImportVo.class, response);
     }
 

+ 110 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEnginNotInstalledController.java

@@ -0,0 +1,110 @@
+package com.ruoyi.web.controller.zdsz;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.convert.ExcelBigNumberConvert;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.file.FileUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.zdsz.domain.bo.ZEnginNotInstalledBo;
+import com.ruoyi.zdsz.domain.vo.GExportsVo;
+import com.ruoyi.zdsz.domain.vo.GImportVo;
+import com.ruoyi.zdsz.domain.vo.ZEnginNotInstalledVo;
+import com.ruoyi.zdsz.service.IZEnginNotInstalledService;
+import com.ruoyi.zdsz.service.IZEnginNotInstalledService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * 未安装
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/enginNotInstalled")
+public class ZEnginNotInstalledController extends BaseController {
+
+    private final IZEnginNotInstalledService iZEnginNotInstalledService;
+
+    /**
+     * 查询小区管理列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo<ZEnginNotInstalledVo> list(ZEnginNotInstalledBo bo, PageQuery pageQuery) {
+        return iZEnginNotInstalledService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出小区管理列表
+     */
+    @Log(title = "小区管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response,ZEnginNotInstalledBo bo) {
+        List<ZEnginNotInstalledVo> gExportsVos = iZEnginNotInstalledService.queryList(bo);
+        ExcelUtil.exportExcel(gExportsVos, "小区管理", ZEnginNotInstalledVo.class, response);
+    }
+
+    /**
+     * 获取小区管理详细信息
+     *
+     * @param id 主键
+     */
+    @GetMapping("/{id}")
+    public R<ZEnginNotInstalledVo> getInfo(@NotNull(message = "主键不能为空") @PathVariable String id) {
+        return R.ok(iZEnginNotInstalledService.queryById(id));
+    }
+
+    /**
+     * 新增小区管理
+     */
+    @Log(title = "小区管理", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEnginNotInstalledBo bo) {
+        return toAjax(iZEnginNotInstalledService.insertByBo(bo));
+    }
+
+    /**
+     * 修改小区管理
+     */
+    @Log(title = "小区管理", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEnginNotInstalledBo bo) {
+        return toAjax(iZEnginNotInstalledService.updateByBo(bo));
+    }
+
+    /**
+     * 删除小区管理
+     *
+     * @param ids 主键串
+     */
+    @Log(title = "小区管理", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R remove(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) {
+        return toAjax(iZEnginNotInstalledService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

+ 48 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEnginNotInstalled.java

@@ -0,0 +1,48 @@
+package com.ruoyi.zdsz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 小区管理对象 z_area
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engin_not_installed")
+public class ZEnginNotInstalled extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     *
+     */
+    @TableId(value = "id")
+    private String id;
+    private String district;
+    private String areaId;
+    private String buildingId;
+    private String unitId;
+    private String houseId;
+    private String areaName;
+    private String buildingName;
+    private String unitName;
+    private String houseName;
+    private String type;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+}

+ 43 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEnginNotInstalledBo.java

@@ -0,0 +1,43 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 小区管理业务对象 z_area
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEnginNotInstalledBo extends BaseEntity {
+
+    /**
+     *
+     */
+    private String id;
+    private String district;
+    private String areaId;
+    private String buildingId;
+    private String unitId;
+    private String houseId;
+    private String areaName;
+    private String buildingName;
+    private String unitName;
+    private String houseName;
+    private String type;
+    private String remark;
+    private String delFlag;
+
+
+}

+ 57 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEnginNotInstalledVo.java

@@ -0,0 +1,57 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 小区管理视图对象 z_area
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEnginNotInstalledVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    private String id;
+    @ExcelProperty(value = "行政区")
+    private String district;
+
+    private String areaId;
+
+    private String buildingId;
+
+    private String unitId;
+
+    private String houseId;
+    @ExcelProperty(value = "小区")
+    private String areaName;
+    @ExcelProperty(value = "楼栋")
+    private String buildingName;
+    @ExcelProperty(value = "单元")
+    private String unitName;
+    @ExcelProperty(value = "房间")
+    private String houseName;
+    @ExcelProperty(value = "未安装类型")
+    @ExcelDictFormat(dictType = "not_installed_type")
+    private String type;
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZAreaMapper.java

@@ -20,7 +20,7 @@ public interface ZAreaMapper extends BaseMapperPlus<ZAreaMapper, ZArea, ZAreaVo>
 
     String getDictNameOfAffiliatedPackage(ZAreaBo bo);
     List<GExportsVo> getExport(ZAreaBo bo);
-    List<GImportVo> selectGExportsList();
+    List<GImportVo> selectGExportsList(ZAreaBo bo);
 
     //导入 查询是否已存在
     ZArea getByName(String name);

+ 21 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEnginNotInstalledMapper.java

@@ -0,0 +1,21 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.zdsz.domain.ZArea;
+import com.ruoyi.zdsz.domain.ZEnginNotInstalled;
+import com.ruoyi.zdsz.domain.bo.ZAreaBo;
+import com.ruoyi.zdsz.domain.vo.GExportsVo;
+import com.ruoyi.zdsz.domain.vo.GImportVo;
+import com.ruoyi.zdsz.domain.vo.ZAreaVo;
+import com.ruoyi.zdsz.domain.vo.ZEnginNotInstalledVo;
+
+import java.util.List;
+
+/**
+ * 小区管理Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+public interface ZEnginNotInstalledMapper extends BaseMapperPlus<ZEnginNotInstalledMapper, ZEnginNotInstalled, ZEnginNotInstalledVo> {
+}

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZAreaService.java

@@ -34,7 +34,7 @@ public interface IZAreaService {
      * 查询小区管理列表
      */
     TableDataInfo<ZAreaVo> queryPageList(ZAreaBo bo, PageQuery pageQuery);
-    List<GImportVo> selectList();
+    List<GImportVo> selectList(ZAreaBo bo);
 
     /**
      * 查询小区管理列表

+ 54 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEnginNotInstalledService.java

@@ -0,0 +1,54 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.zdsz.domain.bo.ZEnginNotInstalledBo;
+import com.ruoyi.zdsz.domain.vo.GExportsVo;
+import com.ruoyi.zdsz.domain.vo.GImportVo;
+import com.ruoyi.zdsz.domain.vo.ZEnginNotInstalledVo;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 小区管理Service接口
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+public interface IZEnginNotInstalledService {
+
+    /**
+     * 查询小区管理
+     */
+    ZEnginNotInstalledVo queryById(String id);
+
+    /**
+     * 查询小区管理列表
+     */
+    TableDataInfo<ZEnginNotInstalledVo> queryPageList(ZEnginNotInstalledBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询小区管理列表
+     */
+    List<ZEnginNotInstalledVo> queryList(ZEnginNotInstalledBo bo);
+
+    /**
+     * 新增小区管理
+     */
+    Boolean insertByBo(ZEnginNotInstalledBo bo);
+
+    /**
+     * 修改小区管理
+     */
+    Boolean updateByBo(ZEnginNotInstalledBo bo);
+
+    /**
+     * 校验并批量删除小区管理信息
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+
+}

+ 2 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZAreaServiceImpl.java

@@ -67,8 +67,8 @@ public class ZAreaServiceImpl implements IZAreaService {
     private SysDictDataMapper sysDictDataMapper;
 
     @Override
-    public List<GImportVo> selectList() {
-        return baseMapper.selectGExportsList();
+    public List<GImportVo> selectList(ZAreaBo bo) {
+        return baseMapper.selectGExportsList(bo);
     }
 
     @Override

+ 118 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEnginNotInstalledServiceImpl.java

@@ -0,0 +1,118 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.obs.FileUtil;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.mapper.SysDictDataMapper;
+import com.ruoyi.zdsz.domain.*;
+import com.ruoyi.zdsz.domain.bo.ZAreaBo;
+import com.ruoyi.zdsz.domain.bo.ZEnginNotInstalledBo;
+import com.ruoyi.zdsz.domain.vo.*;
+import com.ruoyi.zdsz.mapper.ZEnginNotInstalledMapper;
+import com.ruoyi.zdsz.mapper.ZBuildingMapper;
+import com.ruoyi.zdsz.mapper.ZHouseMapper;
+import com.ruoyi.zdsz.mapper.ZUnitMapper;
+import com.ruoyi.zdsz.service.IZEnginNotInstalledService;
+import com.ruoyi.zdsz.service.IZEnginNotInstalledService;
+import lombok.RequiredArgsConstructor;
+import org.mybatis.logging.Logger;
+import org.mybatis.logging.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 小区管理Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-12-27
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEnginNotInstalledServiceImpl implements IZEnginNotInstalledService {
+
+    private static final Logger logger = LoggerFactory.getLogger(ZEnginNotInstalledServiceImpl.class);
+
+    @Resource
+    private ZEnginNotInstalledMapper baseMapper;
+
+    @Override
+    public ZEnginNotInstalledVo queryById(String id) {
+        return null;
+    }
+
+    @Override
+    public TableDataInfo<ZEnginNotInstalledVo> queryPageList(ZEnginNotInstalledBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEnginNotInstalled> lqw = buildQueryWrapper(bo);
+        Page<ZEnginNotInstalledVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+    @Override
+    public List<ZEnginNotInstalledVo> queryList(ZEnginNotInstalledBo bo) {
+        LambdaQueryWrapper<ZEnginNotInstalled> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+    private LambdaQueryWrapper<ZEnginNotInstalled> buildQueryWrapper(ZEnginNotInstalledBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZEnginNotInstalled> lqw = Wrappers.lambdaQuery();
+        lqw.orderByAsc(ZEnginNotInstalled::getType);
+        lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEnginNotInstalled::getDistrict, bo.getDistrict());
+        lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEnginNotInstalled::getAreaId, bo.getAreaId());
+        lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEnginNotInstalled::getBuildingId, bo.getBuildingId());
+        lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEnginNotInstalled::getUnitId, bo.getUnitId());
+        lqw.eq(StringUtils.isNotBlank(bo.getHouseId()), ZEnginNotInstalled::getHouseId, bo.getHouseId());
+        lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEnginNotInstalled::getType, bo.getType());
+        lqw.like(StringUtils.isNotBlank(bo.getRemark()), ZEnginNotInstalled::getRemark, bo.getRemark());
+        return lqw;
+    }
+    @Override
+    public Boolean insertByBo(ZEnginNotInstalledBo bo) {
+        ZEnginNotInstalled add = BeanUtil.toBean(bo, ZEnginNotInstalled.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        return flag;
+    }
+
+    @Override
+    public Boolean updateByBo(ZEnginNotInstalledBo bo) {
+        ZEnginNotInstalled update = BeanUtil.toBean(bo, ZEnginNotInstalled.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if (isValid) {
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEnginNotInstalled entity) {
+        //TODO 做一些数据校验,如唯一约束
+    }
+}

+ 39 - 13
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZAreaMapper.xml

@@ -42,19 +42,45 @@
         order by a.name asc
     </select>
     <select id="selectGExportsList" resultType="com.ruoyi.zdsz.domain.vo.GImportVo">
-        SELECT za.name AS areaName,
-               sd.dict_label AS district,
-               zb.name AS buildName,
-               zn.name AS unitName,
-               zh.name AS houseName,
-               za.administrative
-        FROM z_area za
-                 LEFT JOIN sys_dict_data sd on sd.dict_type = 'district' and za.district = sd.dict_value
-                 LEFT JOIN z_building zb on zb.area_id = za.id and zb.del_flag = 0
-                 LEFT JOIN z_unit zn on zn.building_id = zb.id and zn.del_flag = 0
-                 LEFT JOIN z_house zh on zh.unit_id = zn.id and zh.del_flag = 0
-        WHERE za.del_flag = 0
-        order by za.create_time desc
+        SELECT
+            za.NAME AS areaName,
+            sd.dict_label AS district,
+            zb.NAME AS buildName,
+            zn.NAME AS unitName,
+            zh.NAME AS houseName,
+            zh.id_card AS idCard,
+            zh.phone AS phone,
+            zh.house_user_name AS houseUserName,
+            za.administrative,
+            sdcs.dict_label AS source
+        FROM
+            z_area za
+                LEFT JOIN sys_dict_data sd ON sd.dict_type = 'district'
+                AND za.district = sd.dict_value
+                LEFT JOIN z_building zb ON zb.area_id = za.id
+                AND zb.del_flag = 0
+                LEFT JOIN z_unit zn ON zn.building_id = zb.id
+                AND zn.del_flag = 0
+                LEFT JOIN z_house zh ON zh.unit_id = zn.id
+                AND zh.del_flag = 0
+                LEFT JOIN sys_dict_data sdcs ON sdcs.dict_type = 'community_source'
+                AND zh.source = sdcs.dict_value
+        WHERE
+            za.del_flag = 0
+        <if test="name != null and name != ''">
+            and za.name LIKE CONCAT(#{name},'%')
+        </if>
+        <if test="district != null and district != ''">
+            and za.district = #{district}
+        </if>
+        <if test="administrative != null and administrative != ''">
+            and za.administrative = #{administrative}
+        </if>
+        ORDER BY
+        za.NAME,
+        CONVERT ( REPLACE ( zb.NAME, '栋', '' ), UNSIGNED ),
+        CONVERT ( REPLACE ( zn.NAME, '单元', '' ), UNSIGNED ),
+        CONVERT ( REPLACE ( zh.NAME, '号', '' ), UNSIGNED ) ASC
     </select>
     <select id="getExport" resultType="com.ruoyi.zdsz.domain.vo.GExportsVo">
         SELECT a.name               AS areaName,

+ 22 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEnginNotInstalledMapper.xml

@@ -0,0 +1,22 @@
+<?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.ruoyi.zdsz.mapper.ZEnginNotInstalledMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEnginNotInstalled" id="ZEnginNotInstalledResult">
+        <result property="id" column="id"/>
+        <result property="areaId" column="area_id"/>
+        <result property="buildingId" column="building_id"/>
+        <result property="unitId" column="unit_id"/>
+        <result property="houseId" column="house_id"/>
+        <result property="type" column="type"/>
+        <result property="remark" column="remark"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+</mapper>