// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/mybatis/pojo/master/SocketContent.java
// @Table(name = "socket_content")
// public class SocketContent {
//     @Id
//     @Column(name = "id")
//     @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SELECT replace(t.uuid,\"-\",\"\") FROM (SELECT uuid() uuid FROM dual) t")
//     private String id;
// 
//     /**
//      * 发送者
//      */
//     @Column(name = "contentsender")
//     private String contentsender;
// 
//     /**
//      * 聊天内容
//      */
//     @Column(name = "content")
//     private String content;
// 
//     @Column(name = "createtime")
//     private Date createtime;
// 
//     /**
//      * @return id
//      */
//     public String getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      */
//     public void setId(String id) {
//         this.id = id == null ? null : id.trim();
//     }
// 
//     /**
//      * 获取发送者
//      *
//      * @return contentsender - 发送者
//      */
//     public String getContentsender() {
//         return contentsender;
//     }
// 
//     /**
//      * 设置发送者
//      *
//      * @param contentsender 发送者
//      */
//     public void setContentsender(String contentsender) {
//         this.contentsender = contentsender == null ? null : contentsender.trim();
//     }
// 
//     /**
//      * 获取聊天内容
//      *
//      * @return content - 聊天内容
//      */
//     public String getContent() {
//         return content;
//     }
// 
//     /**
//      * 设置聊天内容
//      *
//      * @param content 聊天内容
//      */
//     public void setContent(String content) {
//         this.content = content == null ? null : content.trim();
//     }
// 
//     /**
//      * @return createtime
//      */
//     public Date getCreatetime() {
//         return createtime;
//     }
// 
//     /**
//      * @param createtime
//      */
//     public void setCreatetime(Date createtime) {
//         this.createtime = createtime;
//     }
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/service/master/ISocketContentService.java
// public interface ISocketContentService {
// 
//     List<SocketContent> findSocketContentList();
// 
//     int insertSelective(SocketContent socketContent);
// 
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/common/util/UUIDUtil.java
// public class UUIDUtil {
//   public static String uuid(){
//     UUID uuid=UUID.randomUUID();
//     String str = uuid.toString();
//     String uuidStr=str.replace("-", "");
//     return uuidStr;
//   }
// }


import com.chengjs.cjsssmsweb.mybatis.pojo.master.SocketContent;
import com.chengjs.cjsssmsweb.service.master.ISocketContentService;
import com.chengjs.cjsssmsweb.common.util.UUIDUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.socket.server.standard.SpringConfigurator;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.security.Principal;
import java.util.Date;
import java.util.concurrent.CopyOnWriteArraySet;
        item.serializeMessage(message,principal);
      } catch (IOException e) {
        e.printStackTrace();
        continue;
      }
    }
  }

  /**
   * 发生错误时调用
   *
   * @param session
   * @param error
   */
  @OnError
  public void onError(Session session, Throwable error) {
    log.debug("发生错误");
    error.printStackTrace();
  }

  /**
   * 自定义方法: 聊天内容保存到数据库
   *
   * @param message
   * @param username
   * @throws IOException
   */
  public void serializeMessage(String message, Principal username) throws IOException {
    SocketContent content = new SocketContent();

// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/mybatis/pojo/master/SocketContent.java
// @Table(name = "socket_content")
// public class SocketContent {
//     @Id
//     @Column(name = "id")
//     @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SELECT replace(t.uuid,\"-\",\"\") FROM (SELECT uuid() uuid FROM dual) t")
//     private String id;
// 
//     /**
//      * 发送者
//      */
//     @Column(name = "contentsender")
//     private String contentsender;
// 
//     /**
//      * 聊天内容
//      */
//     @Column(name = "content")
//     private String content;
// 
//     @Column(name = "createtime")
//     private Date createtime;
// 
//     /**
//      * @return id
//      */
//     public String getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      */
//     public void setId(String id) {
//         this.id = id == null ? null : id.trim();
//     }
// 
//     /**
//      * 获取发送者
//      *
//      * @return contentsender - 发送者
//      */
//     public String getContentsender() {
//         return contentsender;
//     }
// 
//     /**
//      * 设置发送者
//      *
//      * @param contentsender 发送者
//      */
//     public void setContentsender(String contentsender) {
//         this.contentsender = contentsender == null ? null : contentsender.trim();
//     }
// 
//     /**
//      * 获取聊天内容
//      *
//      * @return content - 聊天内容
//      */
//     public String getContent() {
//         return content;
//     }
// 
//     /**
//      * 设置聊天内容
//      *
//      * @param content 聊天内容
//      */
//     public void setContent(String content) {
//         this.content = content == null ? null : content.trim();
//     }
// 
//     /**
//      * @return createtime
//      */
//     public Date getCreatetime() {
//         return createtime;
//     }
// 
//     /**
//      * @param createtime
//      */
//     public void setCreatetime(Date createtime) {
//         this.createtime = createtime;
//     }
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/service/master/ISocketContentService.java
// public interface ISocketContentService {
// 
//     List<SocketContent> findSocketContentList();
// 
//     int insertSelective(SocketContent socketContent);
// 
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/common/util/UUIDUtil.java
// public class UUIDUtil {
//   public static String uuid(){
//     UUID uuid=UUID.randomUUID();
//     String str = uuid.toString();
//     String uuidStr=str.replace("-", "");
//     return uuidStr;
//   }
// }


// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/controller/WebSocketController.java
import com.chengjs.cjsssmsweb.mybatis.pojo.master.SocketContent;
import com.chengjs.cjsssmsweb.service.master.ISocketContentService;
import com.chengjs.cjsssmsweb.common.util.UUIDUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.socket.server.standard.SpringConfigurator;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.security.Principal;
import java.util.Date;
import java.util.concurrent.CopyOnWriteArraySet;

        item.serializeMessage(message,principal);
      } catch (IOException e) {
        e.printStackTrace();
        continue;
      }
    }
  }

  /**
   * 发生错误时调用
   *
   * @param session
   * @param error
   */
  @OnError
  public void onError(Session session, Throwable error) {
    log.debug("发生错误");
    error.printStackTrace();
  }

  /**
   * 自定义方法: 聊天内容保存到数据库
   *
   * @param message
   * @param username
   * @throws IOException
   */
  public void serializeMessage(String message, Principal username) throws IOException {
    SocketContent content = new SocketContent();

    content.setId(UUIDUtil.uuid());