From 18002d942993b14a3b51527a176d6eaf7bcac576 Mon Sep 17 00:00:00 2001 From: YYD-YY <2962062657@qq.com> Date: Fri, 3 Oct 2025 17:36:39 +0800 Subject: [PATCH] =?UTF-8?q?10.3=E4=BF=AE=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../equManagement/EquBaseController.java | 16 ++- .../equManagement/EquManuController.java | 6 +- .../equManagement/EquSupplierController.java | 17 ++- .../java/com/alops/system/domain/EquBase.java | 2 + .../system/domain/dto/EquSupplierAddDto.java | 18 +++ .../domain/dto/EquSupplierUpdateDto.java | 14 ++ .../system/domain/dto/MonitorHistoryDto.java | 8 +- .../system/domain/dto/MonitorLastDto.java | 19 ++- .../system/domain/dto/MonitorListDto.java | 11 +- .../alops/system/mapper/EquBaseMapper.java | 2 +- .../alops/system/service/IEquBaseService.java | 2 +- .../system/service/IEquSupplierService.java | 12 +- .../service/impl/EquBaseServiceImpl.java | 15 +-- .../service/impl/EquSupplierServiceImpl.java | 41 +++++- .../mapper/system/AlertMessageMapper.xml | 2 +- .../resources/mapper/system/EquBaseMapper.xml | 126 +++++++----------- .../mapper/system/EquSupplierMapper.xml | 26 +--- 17 files changed, 189 insertions(+), 148 deletions(-) create mode 100644 ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierAddDto.java create mode 100644 ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierUpdateDto.java diff --git a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java index e81c9be6..a98af005 100644 --- a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java +++ b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquBaseController.java @@ -59,14 +59,18 @@ public class EquBaseController extends BaseController /**查询设备监测信息列表(查询多台显示界面的单独信息)**/ @PreAuthorize("@ss.hasPermi('device:files:query')") - @GetMapping("/listMonitor") - @ApiOperation("查询设备监测信息列表(查询多台显示界面的单独信息)") - public AjaxResult listMonitorInfo(EquBaseQueryDto equBaseQueryDto) - { - List list = equBaseService.selectEquMonitorList(equBaseQueryDto); - return AjaxResult.success("查询成功", list); + @GetMapping("/monitorById") + @ApiOperation("根据设备ID查询设备最新监测信息(查询多台显示界面的单台信息)") + public AjaxResult getMonitorById(@RequestParam String id) { + MonitorListDto monitor = equBaseService.selectEquMonitorListById(id); + if (monitor != null) { + return AjaxResult.success("查询成功", monitor); + } else { + return AjaxResult.error("未找到设备或监测信息"); + } } + /** * 获取设备最新时间的历史监控信息 * @param id 查询对象,包含设备ID、开始时间和结束时间 diff --git a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquManuController.java b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquManuController.java index f04873cb..fa5159b0 100644 --- a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquManuController.java +++ b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquManuController.java @@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController; * @date 2025-08-01 */ @RestController -@RequestMapping("/deviceManu") +@RequestMapping("/device/deviceManu") public class EquManuController extends BaseController { @Autowired @@ -42,8 +42,8 @@ public class EquManuController extends BaseController /** * 查询设备厂商管理列表 */ - @PreAuthorize("@ss.hasPermi('device:deviceManu:queryByVO')") - @GetMapping("/queryByVO") + @PreAuthorize("@ss.hasPermi('device:deviceManu:query')") + @GetMapping("/query") @ApiOperation("查询设备厂商管理列表") public TableDataInfo list(EquManu equManu) { diff --git a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquSupplierController.java b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquSupplierController.java index a5645cf1..bd1d64da 100644 --- a/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquSupplierController.java +++ b/ALOps_sys_backend/alops-admin/src/main/java/com/alops/web/controller/equManagement/EquSupplierController.java @@ -1,8 +1,11 @@ package com.alops.web.controller.equManagement; import java.util.List; +import java.util.UUID; import javax.servlet.http.HttpServletResponse; +import com.alops.system.domain.dto.EquSupplierAddDto; +import com.alops.system.domain.dto.EquSupplierUpdateDto; import io.swagger.annotations.ApiOperation; import com.alops.common.annotation.Log; import com.alops.common.core.controller.BaseController; @@ -86,12 +89,14 @@ public class EquSupplierController extends BaseController @PreAuthorize("@ss.hasPermi('device:supplier:add')") @Log(title = "供应商功能信息", businessType = BusinessType.INSERT) @PostMapping - @ApiOperation("新增供应商功能信息列表") - public AjaxResult add(@RequestBody EquSupplier equSupplier) + @ApiOperation("新增供应商功能信息") + public AjaxResult add(@RequestBody EquSupplierAddDto dto) { - return toAjax(equSupplierService.insertEquSupplier(equSupplier)); + return toAjax(equSupplierService.insertEquSupplier(dto)); } + + /** * 修改供应商功能信息 */ @@ -99,11 +104,11 @@ public class EquSupplierController extends BaseController @Log(title = "供应商功能信息", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation("修改供应商功能信息列表") - public AjaxResult edit(@RequestBody EquSupplier equSupplier) - { - return toAjax(equSupplierService.updateEquSupplier(equSupplier)); + public AjaxResult edit(@RequestBody EquSupplierUpdateDto updateDto) { + return toAjax(equSupplierService.updateEquSupplier(updateDto)); } + /** * 删除供应商功能信息 */ diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/EquBase.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/EquBase.java index 4e40d8cb..ef601d24 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/EquBase.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/EquBase.java @@ -25,6 +25,8 @@ public class EquBase /** 设备唯一标识(设备编号) */ private String id; + private String equNumber; + /** 设备名称 */ @Excel(name = "设备名称") private String name; diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierAddDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierAddDto.java new file mode 100644 index 00000000..b325c232 --- /dev/null +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierAddDto.java @@ -0,0 +1,18 @@ +package com.alops.system.domain.dto; + +import lombok.Data; + +/** + * 新增供应商 DTO + * 只包含前端可传的字段 + */ +@Data +public class EquSupplierAddDto { + + private String name; + private String description; + private String contactBy; + private String contactWay; + private Long createBy; + private Long status; +} diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierUpdateDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierUpdateDto.java new file mode 100644 index 00000000..f25dbeaa --- /dev/null +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/EquSupplierUpdateDto.java @@ -0,0 +1,14 @@ +package com.alops.system.domain.dto; + +import lombok.Data; + +@Data +public class EquSupplierUpdateDto { + private String contactBy; + private String contactWay; + private Long createBy; + private String description; + private String id; + private String name; + private Long status; +} diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorHistoryDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorHistoryDto.java index 58c2d0f7..21e0d451 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorHistoryDto.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorHistoryDto.java @@ -7,9 +7,9 @@ import java.util.List; public class MonitorHistoryDto { // 返回给前端的字段 private List temperatureList = new ArrayList<>(); - private List involtageList = new ArrayList<>(); - private List outvoltageList = new ArrayList<>(); + private List memoryList = new ArrayList<>(); + private List cpuList = new ArrayList<>(); + private List healthList = new ArrayList<>(); private List timeList = new ArrayList<>(); - - } + diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorLastDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorLastDto.java index 9f50c91d..3a29e035 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorLastDto.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorLastDto.java @@ -1,16 +1,21 @@ package com.alops.system.domain.dto; import lombok.Data; + +import java.sql.Blob; import java.util.Date; @Data public class MonitorLastDto { // equ_gather 表 - private Integer contWorkPeriod; + private String contWorkPeriod; private Float fanSpeed; private Float cpuUtilization; private Float memoryUtilization; private String health; + private String volIn; + private String volOut; + private String temperature; // equ_base 表 private Long id; @@ -21,17 +26,19 @@ public class MonitorLastDto { private String location; private Date installDate; private String inCharge; - private Integer failureFrequency; - private Integer warranty; - + private int failureFrequency; + private int warranty; + private Blob equImage; // equ_type private String equType; // equ_manu private String manufacture; - private String manufactureContactBy; - private String manufactureContactWay; + private String ContactBy; + private String ContactWay; // equ_supplier private String supplierId; + + private String unhandledAlertCount; } diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorListDto.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorListDto.java index 3bb98c55..c8fb5e33 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorListDto.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/domain/dto/MonitorListDto.java @@ -11,15 +11,20 @@ import java.sql.Blob; public class MonitorListDto { private String id; private String name; + private String ip; + private String equType; + private String manufacture; private String version; private String deviceLevel; private String location; private String status; - private Integer failureFrequency; - private Blob equImage; + private int failureFrequency; // 监控指标 private Float cpuUtilization; private String health; - private Integer fanSpeed; + private int fanSpeed; + private String contWorkPeriod; + private int unhandledAlertCount; + } diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java index bddf5e62..29d74d3d 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/mapper/EquBaseMapper.java @@ -63,7 +63,7 @@ public interface EquBaseMapper MonitorLastDto selectEquMonitorById(String id); List> selectEquMonitorByIdToList(EquBaseQueryDto queryDto); - List selectEquMonitorList(EquBaseQueryDto equBaseQueryDto); + MonitorListDto selectEquMonitorListById(String id); /**分类统计界面信息 -YY**/ List selectEquStatisticByType(); diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java index d54cfde9..cc7a1869 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquBaseService.java @@ -60,7 +60,7 @@ public interface IEquBaseService */ public List selectEquBaseList(EquBaseQueryDto equBase); - public List selectEquMonitorList(EquBaseQueryDto equBaseQueryDto); + public MonitorListDto selectEquMonitorListById(String id); /**分类统计信息**/ List selectEquStatisticByType(); diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquSupplierService.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquSupplierService.java index 863d2b95..2ca7b09b 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquSupplierService.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/IEquSupplierService.java @@ -2,6 +2,8 @@ package com.alops.system.service; import java.util.List; import com.alops.system.domain.EquSupplier; +import com.alops.system.domain.dto.EquSupplierAddDto; +import com.alops.system.domain.dto.EquSupplierUpdateDto; import java.util.List; @@ -31,19 +33,17 @@ public interface IEquSupplierService /** * 新增【请填写功能名称】 - * - * @param equSupplier 【请填写功能名称】 + * @return 结果 */ - public int insertEquSupplier(EquSupplier equSupplier); + public int insertEquSupplier(EquSupplierAddDto dto); /** * 修改【请填写功能名称】 - * - * @param equSupplier 【请填写功能名称】 + * * @return 结果 */ - public int updateEquSupplier(EquSupplier equSupplier); + public int updateEquSupplier(EquSupplierUpdateDto updateDto); /** * 批量删除【请填写功能名称】 diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java index daf816bf..9432f32c 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquBaseServiceImpl.java @@ -3,12 +3,9 @@ package com.alops.system.service.impl; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.UUID; import com.alops.common.utils.SecurityUtils; import com.alops.system.domain.EquBase; -import com.alops.system.domain.EquSupplier; -import com.alops.system.domain.EquType; import com.alops.system.domain.dto.EquBaseQueryDto; import com.alops.system.domain.vo.dropDownVo; import com.alops.system.domain.vo.imageVo; @@ -110,14 +107,16 @@ public class EquBaseServiceImpl implements IEquBaseService MonitorHistoryDto dto = new MonitorHistoryDto(); for (Map row : rows) { dto.getTemperatureList().add(row.get("temperature_value") != null ? ((Number) row.get("temperature_value")).floatValue() : null); - dto.getInvoltageList().add(row.get("involtage_value") != null ? ((Number) row.get("involtage_value")).floatValue() : null); - dto.getOutvoltageList().add(row.get("outvoltage_value") != null ? ((Number) row.get("outvoltage_value")).floatValue() : null); - dto.getTimeList().add(row.get("gather_time").toString()); + dto.getMemoryList().add(row.get("memory_value") != null ? ((Number) row.get("memory_value")).floatValue() : null); + dto.getCpuList().add(row.get("cpu_value") != null ? ((Number) row.get("cpu_value")).floatValue() : null); + dto.getHealthList().add(row.get("health_value") != null ? ((Number) row.get("health_value")).floatValue() : null); + dto.getTimeList().add(row.get("gather_time") != null ? row.get("gather_time").toString() : null); } return dto; } + /** * 查询设备基本信息列表 * @@ -134,8 +133,8 @@ public class EquBaseServiceImpl implements IEquBaseService * 查询多台显示界面的单独信息 **/ @Override - public List selectEquMonitorList(EquBaseQueryDto equBaseQueryDto) { - return equBaseMapper.selectEquMonitorList(equBaseQueryDto); + public MonitorListDto selectEquMonitorListById(String id) { + return equBaseMapper.selectEquMonitorListById(id); } /** diff --git a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquSupplierServiceImpl.java b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquSupplierServiceImpl.java index 86ef3093..747b8eaf 100644 --- a/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquSupplierServiceImpl.java +++ b/ALOps_sys_backend/alops-system/src/main/java/com/alops/system/service/impl/EquSupplierServiceImpl.java @@ -2,8 +2,11 @@ package com.alops.system.service.impl; import java.util.Date; import java.util.List; +import java.util.UUID; import com.alops.common.utils.DateUtils; +import com.alops.system.domain.dto.EquSupplierAddDto; +import com.alops.system.domain.dto.EquSupplierUpdateDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.alops.system.mapper.EquSupplierMapper; @@ -53,26 +56,50 @@ public class EquSupplierServiceImpl implements IEquSupplierService /** * 新增【请填写功能名称】 - * - * @param equSupplier 【请填写功能名称】 + * * @return 结果 */ @Override - public int insertEquSupplier(EquSupplier equSupplier) + public int insertEquSupplier(EquSupplierAddDto dto) { - equSupplier.setCreateTime(new Date()); + EquSupplier equSupplier = new EquSupplier(); + + // DTO 转换到实体 + equSupplier.setId(UUID.randomUUID().toString()); // 自动生成 id + equSupplier.setName(dto.getName()); + equSupplier.setDescription(dto.getDescription()); + equSupplier.setContactBy(dto.getContactBy()); + equSupplier.setContactWay(dto.getContactWay()); + equSupplier.setCreateBy(dto.getCreateBy()); + + equSupplier.setCreateTime(new Date()); // 自动生成创建时间 + equSupplier.setStatus(dto.getStatus()); + return equSupplierMapper.insertEquSupplier(equSupplier); } + /** * 修改【请填写功能名称】 * - * @param equSupplier 【请填写功能名称】 + * @return 结果 */ @Override - public int updateEquSupplier(EquSupplier equSupplier) - { + public int updateEquSupplier(EquSupplierUpdateDto updateDto) { + // 将 DTO 转换成 Entity + EquSupplier equSupplier = new EquSupplier(); + equSupplier.setId(updateDto.getId()); + equSupplier.setName(updateDto.getName()); + equSupplier.setDescription(updateDto.getDescription()); + equSupplier.setContactBy(updateDto.getContactBy()); + equSupplier.setContactWay(updateDto.getContactWay()); + equSupplier.setCreateBy(updateDto.getCreateBy()); + equSupplier.setStatus(updateDto.getStatus()); + + // 后端自动设置修改时间 + equSupplier.setCreateTime(new Date()); + return equSupplierMapper.updateEquSupplier(equSupplier); } diff --git a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/AlertMessageMapper.xml b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/AlertMessageMapper.xml index 3230bf97..d748818f 100644 --- a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/AlertMessageMapper.xml +++ b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/AlertMessageMapper.xml @@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select a.id, g.equ_id, type, equ_type solution, level, occur_time, handler, handle_time, status,batch from alert_message a LEFT JOIN equ_gather g ON a.equ_id = g.equ_id + select a.id, g.equ_id, type, equ_type, solution, level, occur_time, handler, handle_time, status,batch from alert_message a LEFT JOIN equ_gather g ON a.equ_id = g.equ_id - SELECT b.id, b.name, + b.ip, + t.name as equType, + m.name as manufacture, b.version, - b.device_level, + b.device_level AS deviceLevel, b.location, b.status, - g.cpu_utilization, + g.cpu_utilization AS cpuUtilization, g.health, - g.fan_speed, - b.failure_frequency, - b.equ_image + g.fan_speed AS fanSpeed, + g.cont_work_period AS contWorkPeriod, + b.failure_frequency AS failureFrequency, + -- 新增列:统计未处理告警数量 + (SELECT COUNT(1) + FROM alert_message a + WHERE a.equ_id = b.id AND a.status = 'HANDLED') AS unhandledAlertCount FROM equ_base b LEFT JOIN equ_gather g ON b.id = g.equ_id - - g.cpu_utilization is not null - - AND b.equ_type = #{equType} - - - AND b.name LIKE concat('%', #{equName}, '%') - - - AND b.location = #{location} - - - AND b.manufacture = #{manufacture} - - - AND b.in_charge = #{inCharge} - - - AND b.status = #{status} - - - AND b.create_date =]]> #{minTime} - - - AND b.create_date #{maxTime} - - - AND g.health =]]> #{health} - - + LEFT JOIN equ_type t ON b.equ_type = t.id + LEFT JOIN equ_manu m ON b.manufacture = m.id + where b.id = #{id} + AND g.cpu_utilization is not null + ORDER BY g.gather_time desc limit 1 - + SELECT -- 从 equ_gather 表中获取需要填充到List中的数据 g.temperature AS temperature_value, - g.vol_in AS involtage_value, - g.vol_out AS outvoltage_value, + g.memory_utilization AS memory_value, + g.cpu_utilization AS cpu_value, + g.health AS health_value, g.gather_time AS gather_time FROM equ_base b @@ -271,8 +248,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN equ_type t ON b.equ_type = t.id LEFT JOIN equ_gather g ON b.id = g.equ_id - where g.cpu_utilization is not null - and b.id = #{id} + where b.id = #{id} -- 添加时间范围约束 and g.gather_time BETWEEN #{minTime} AND #{maxTime} diff --git a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquSupplierMapper.xml b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquSupplierMapper.xml index 1a8077ee..374df3f4 100644 --- a/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquSupplierMapper.xml +++ b/ALOps_sys_backend/alops-system/src/main/resources/mapper/system/EquSupplierMapper.xml @@ -42,27 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into equ_supplier - - id, - name, - description, - contact_by, - contact_way, - create_by, - create_time, - status, - - - #{id}, - #{name}, - #{description}, - #{contactBy}, - #{contactWay}, - #{createBy}, - #{createTime}, - #{status}, - + INSERT INTO equ_supplier + (id, name, description, contact_by, contact_way, create_by, create_time, status) + VALUES + (#{id}, #{name}, #{description}, #{contactBy}, #{contactWay}, #{createBy}, #{createTime}, #{status}) +