bihuisong hai 1 ano
pai
achega
cf5b1b4f16

+ 93 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/highServer/JnbHighServerController.java

@@ -0,0 +1,93 @@
+package com.ruoyi.web.controller.highServer;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.service.IJnbHighServerService;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 高频服务Controller
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+@RestController
+@RequestMapping("/high/server")
+public class JnbHighServerController extends BaseController {
+
+    @Autowired
+    private IJnbHighServerService jnbHighServerService;
+
+    /**
+     * 查询高频服务列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(JnbHighServerVO jnbHighServerVO) {
+        startPage();
+        List<JnbHighServerVO> list = jnbHighServerService.selectJnbHighServerList(jnbHighServerVO);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出高频服务列表
+     */
+    @Log(title = "高频服务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, JnbHighServerVO jnbHighServerVO) {
+        List<JnbHighServerVO> list = jnbHighServerService.selectJnbHighServerList(jnbHighServerVO);
+        ExcelUtil<JnbHighServerVO> util = new ExcelUtil<JnbHighServerVO>(JnbHighServerVO.class);
+        util.exportExcel(response, list, "高频服务数据");
+    }
+
+    /**
+     * 获取高频服务详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(jnbHighServerService.selectJnbHighServerById(id));
+    }
+
+    /**
+     * 新增高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody JnbHighServerVO jnbHighServerVO) {
+        return toAjax(jnbHighServerService.insertJnbHighServer(jnbHighServerVO));
+    }
+
+    /**
+     * 修改高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody JnbHighServerVO jnbHighServerVO) {
+        return toAjax(jnbHighServerService.updateJnbHighServer(jnbHighServerVO));
+    }
+
+    /**
+     * 删除高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(jnbHighServerService.deleteJnbHighServerByIds(ids));
+    }
+}

+ 122 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServer.java

@@ -0,0 +1,122 @@
+package com.sooka.jnb.highServer.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+
+/**
+ * 高频服务对象 jnb_high_server
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public class JnbHighServer extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 标题
+     */
+    @Excel(name = "标题")
+    private String titleName;
+
+    /**
+     * 正文
+     */
+    @Excel(name = "正文")
+    private String textDetails;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Integer type;
+
+    /**
+     * 点赞数
+     */
+    @Excel(name = "点赞数")
+    private Long likeNum;
+
+    /**
+     * 浏览数
+     */
+    @Excel(name = "浏览数")
+    private Long watchNum;
+
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setTitleName(String titleName) {
+        this.titleName = titleName;
+    }
+
+    public String getTitleName() {
+        return titleName;
+    }
+
+    public void setTextDetails(String textDetails) {
+        this.textDetails = textDetails;
+    }
+
+    public String getTextDetails() {
+        return textDetails;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setLikeNum(Long likeNum) {
+        this.likeNum = likeNum;
+    }
+
+    public Long getLikeNum() {
+        return likeNum;
+    }
+
+    public void setWatchNum(Long watchNum) {
+        this.watchNum = watchNum;
+    }
+
+    public Long getWatchNum() {
+        return watchNum;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("titleName", getTitleName())
+                .append("textDetails", getTextDetails())
+                .append("type", getType())
+                .append("likeNum", getLikeNum())
+                .append("watchNum", getWatchNum())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .toString();
+    }
+}

+ 84 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServerImg.java

@@ -0,0 +1,84 @@
+package com.sooka.jnb.highServer.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 高频服务子表对象 jnb_high_server_img
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+
+@Data
+public class JnbHighServerImg {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * serverId
+     */
+    private Long serverId;
+
+    /**
+     * 图片
+     */
+    private String imgName;
+
+    /**
+     * url
+     */
+    private String imgUrl;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Integer type;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    @TableField(value = "del_flag", fill = FieldFill.INSERT)
+    private Integer delFlag;
+}

+ 16 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerImgMapper.java

@@ -0,0 +1,16 @@
+package com.sooka.jnb.highServer.mapper;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.domain.JnbHighServerImg;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface JnbHighServerImgMapper {
+
+    public int deleteJnbHighServerByServerIds(Long[] serverId);
+    public int deleteJnbHighServerByServerId(@Param("serverId") Long serverId);
+
+    int saveJnbHighServerImg(List<JnbHighServerImg> saveList);
+}

+ 62 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.jnb.highServer.mapper;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+
+import java.util.List;
+
+/**
+ * 高频服务Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public interface JnbHighServerMapper {
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    public JnbHighServerVO selectJnbHighServerById(Long id);
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务集合
+     */
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 删除高频服务
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    public int deleteJnbHighServerById(Long id);
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteJnbHighServerByIds(Long[] ids);
+}

+ 62 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/IJnbHighServerService.java

@@ -0,0 +1,62 @@
+package com.sooka.jnb.highServer.service;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+
+import java.util.List;
+
+/**
+ * 高频服务Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public interface IJnbHighServerService {
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    public JnbHighServerVO selectJnbHighServerById(Long id);
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务集合
+     */
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的高频服务主键集合
+     * @return 结果
+     */
+    public int deleteJnbHighServerByIds(Long[] ids);
+
+    /**
+     * 删除高频服务信息
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    public int deleteJnbHighServerById(Long id);
+}

+ 130 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/impl/JnbHighServerServiceImpl.java

@@ -0,0 +1,130 @@
+package com.sooka.jnb.highServer.service.impl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.domain.JnbHighServerImg;
+import com.sooka.jnb.highServer.mapper.JnbHighServerImgMapper;
+import com.sooka.jnb.highServer.mapper.JnbHighServerMapper;
+import com.sooka.jnb.highServer.service.IJnbHighServerService;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * 高频服务Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+@Service
+public class JnbHighServerServiceImpl implements IJnbHighServerService {
+
+    @Autowired
+    private JnbHighServerMapper jnbHighServerMapper;
+    @Autowired
+    private JnbHighServerImgMapper jnbHighServerImgMapper;
+
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    @Override
+    public JnbHighServerVO selectJnbHighServerById(Long id) {
+        return jnbHighServerMapper.selectJnbHighServerById(id);
+    }
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务
+     */
+    @Override
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO) {
+        return jnbHighServerMapper.selectJnbHighServerList(jnbHighServerVO);
+    }
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    @Override
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO) {
+        jnbHighServerVO.setCreateTime(DateUtils.getNowDate());
+        jnbHighServerMapper.insertJnbHighServer(jnbHighServerVO);
+        if (StringUtils.isNotEmpty(jnbHighServerVO.getImgUrlList())) {
+            List<String> imgUrlArray = Arrays.asList(jnbHighServerVO.getImgUrlList().split(","));
+            List<JnbHighServerImg> saveList = new ArrayList<>();
+            for (int i = 0; i < imgUrlArray.size(); i++) {
+                JnbHighServerImg jnbHighServerImg = new JnbHighServerImg();
+                jnbHighServerImg.setServerId(jnbHighServerVO.getId());
+//                jnbHighServerImg.setType(jnbHighServerVO.getType());
+                jnbHighServerImg.setImgUrl(imgUrlArray.get(i));
+                saveList.add(jnbHighServerImg);
+            }
+            return jnbHighServerImgMapper.saveJnbHighServerImg(saveList);
+        }
+        return 1;
+    }
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    @Override
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO) {
+        jnbHighServerVO.setUpdateTime(DateUtils.getNowDate());
+        jnbHighServerMapper.updateJnbHighServer(jnbHighServerVO);
+        if (StringUtils.isNotEmpty(jnbHighServerVO.getImgUrlList())) {
+            jnbHighServerImgMapper.deleteJnbHighServerByServerId(jnbHighServerVO.getId());
+            List<String> imgUrlArray = Arrays.asList(jnbHighServerVO.getImgUrlList().split(","));
+            List<JnbHighServerImg> saveList = new ArrayList<>();
+            for (int i = 0; i < imgUrlArray.size(); i++) {
+                JnbHighServerImg jnbHighServerImg = new JnbHighServerImg();
+                jnbHighServerImg.setServerId(jnbHighServerVO.getId());
+//                jnbHighServerImg.setType(jnbHighServerVO.getType());
+                jnbHighServerImg.setImgUrl(imgUrlArray.get(i));
+                saveList.add(jnbHighServerImg);
+            }
+            return jnbHighServerImgMapper.saveJnbHighServerImg(saveList);
+        }
+        return 1;
+    }
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的高频服务主键
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int deleteJnbHighServerByIds(Long[] ids) {
+        jnbHighServerImgMapper.deleteJnbHighServerByServerIds(ids);
+        return jnbHighServerMapper.deleteJnbHighServerByIds(ids);
+    }
+
+    /**
+     * 删除高频服务信息
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteJnbHighServerById(Long id) {
+        return jnbHighServerMapper.deleteJnbHighServerById(id);
+    }
+}

+ 99 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/vo/JnbHighServerVO.java

@@ -0,0 +1,99 @@
+package com.sooka.jnb.highServer.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 高频服务对象 jnb_high_server
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+
+@Data
+public class JnbHighServerVO {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 标题
+     */
+    @Excel(name = "标题")
+    private String titleName;
+
+    /**
+     * 正文
+     */
+    @Excel(name = "正文")
+    private String textDetails;
+
+    /**
+     * 点赞数
+     */
+    @Excel(name = "点赞数")
+    private Long likeNum;
+
+    /**
+     * 浏览数
+     */
+    @Excel(name = "浏览数")
+    private Long watchNum;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    /**
+     * 高频服务图片id
+     */
+    private String imgId;
+
+    /**
+     * 高频服务图片名称
+     */
+    private String imgNameList;
+
+    /**
+     * 高频服务图片路径
+     */
+     private String imgUrlList;
+
+}

+ 22 - 0
sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerImgMapper.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.sooka.jnb.highServer.mapper.JnbHighServerImgMapper">
+
+    <delete id="deleteJnbHighServerByServerIds" parameterType="String">
+        update jnb_high_server_img set del_flag = 1 where server_id in
+        <foreach item="serverId" collection="array" open="(" separator="," close=")">
+            #{serverId}
+        </foreach>
+    </delete>
+    <delete id="deleteJnbHighServerByServerId">
+        update jnb_high_server_img set del_flag = 1 where server_id = #{serverId}
+    </delete>
+    <insert id="saveJnbHighServerImg" parameterType="java.lang.Integer">
+        insert into jnb_high_server_img (server_id,type,img_name,img_url) values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.serverId},#{item.type},#{item.imgName},#{item.imgUrl})
+        </foreach>
+    </insert>
+</mapper>

+ 102 - 0
sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerMapper.xml

@@ -0,0 +1,102 @@
+<?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.sooka.jnb.highServer.mapper.JnbHighServerMapper">
+
+    <resultMap type="JnbHighServer" id="JnbHighServerResult">
+        <result property="id" column="id"/>
+        <result property="titleName" column="title_name"/>
+        <result property="textDetails" column="text_details"/>
+        <result property="type" column="type"/>
+        <result property="likeNum" column="like_num"/>
+        <result property="watchNum" column="watch_num"/>
+        <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>
+
+    <sql id="selectJnbHighServerVo">
+        SELECT jhs.id,
+               title_name,
+               text_details,
+               jhs.type as type,
+               jhs.create_by,
+               jhs.create_time,
+               jhs.update_by,
+               jhs.update_time,
+               GROUP_CONCAT(jhsi.id)       AS imgId,
+               GROUP_CONCAT(jhsi.img_name) AS imgNameList,
+               GROUP_CONCAT(jhsi.img_url)  AS imgUrlList
+        FROM jnb_high_server jhs
+                 left JOIN jnb_high_server_img jhsi ON jhs.id = jhsi.server_id and jhsi.del_flag = 0
+        where jhs.del_flag = 0
+    </sql>
+
+    <select id="selectJnbHighServerList" resultType="com.sooka.jnb.highServer.vo.JnbHighServerVO">
+        <include refid="selectJnbHighServerVo"/>
+        <if test="titleName != null  and titleName != ''">and title_name like concat('%', #{titleName}, '%')</if>
+        <if test="textDetails != null  and textDetails != ''">and text_details = #{textDetails}</if>
+        <if test="type != null ">and jhs.type = #{type}</if>
+        GROUP BY jhs.id
+    </select>
+
+    <select id="selectJnbHighServerById" resultType="com.sooka.jnb.highServer.vo.JnbHighServerVO">
+        <include refid="selectJnbHighServerVo"/>
+        and jhs.id = #{id}
+        GROUP BY jhs.id
+    </select>
+
+    <insert id="insertJnbHighServer" parameterType="JnbHighServer" useGeneratedKeys="true" keyProperty="id">
+        <selectKey keyProperty="id" resultType="java.lang.Long" order="AFTER">
+            SELECT LAST_INSERT_ID() AS id
+        </selectKey>
+        insert into jnb_high_server
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="titleName != null">title_name,</if>
+            <if test="textDetails != null">text_details,</if>
+            <if test="type != null">type,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="titleName != null">#{titleName},</if>
+            <if test="textDetails != null">#{textDetails},</if>
+            <if test="type != null">#{type},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+        </trim>
+    </insert>
+
+    <update id="updateJnbHighServer" parameterType="JnbHighServer">
+        update jnb_high_server
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="titleName != null">title_name = #{titleName},</if>
+            <if test="textDetails != null">text_details = #{textDetails},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteJnbHighServerById" parameterType="Long">
+        delete
+        from jnb_high_server
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteJnbHighServerByIds" parameterType="String">
+        update jnb_high_server set del_flag = 1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>