• code 2.75 GB 2025-03-04 02:01
  • 位置: code / 接口对接.md

    
    案例:
    http://8.137.156.195:8001/room/chatroom_mobile.aspx
    
    http://8.137.156.195:8001/room/gome.aspx?un=朵朵8&sc=BKoQJsWs4TY=
    
    
    代码文件夹:https://desktop.qkongtao.cn/#s/_Vo7Oh4w
    
    
    后台admin账号密码:
    账号:251468038
    密码:a251468038
    
    
    # 聊天室逻辑
    
    1. 每次拉取最近20条消息,相当于分页,第一页
    2. 点击加载更多拉取历史记录,第二页,第三页。。。
    3. 实时消息采取websoket建立连接,订阅接收消息的接口
    4. 发送消息的接口,发送消息后,服务的会通过websocket推送实时消息
    5. 开奖设定
    6. 用户列表,注册后需要激活才可以激活
    7. 充值功能,扣费按钮
    
    
    60个数字,五个球、和值、龙虎(1球小于5球是虎); 早上七点到晚上11点55,1-30为小,31到60为大;表格:数值、大小、单双、
    
    开奖设定
    用户列表:充值按钮,扣费按钮,禁用启用(用来控制H5那边注册后的审核通过)
    
    
    # 建表:
    1. 消息表 chat_message
    ```
    ID 自增id
    uid 用户ID
    content 消息内容
    username 用户账号
    nickname 用户昵称
    createtime 创建日期
    updatetime 更新时间
    
    ```
    ```
    // 登入消息
            public static final String ENTER = "ENTER";
            // 登出消息
            public static final String QUIT = "QUIT";
            // 聊天消息
            public static final String SPEAK = "SPEAK";
            // 下注消息
            public static final String XP0001 = "XP0001";
            // 封盘前提示
            public static final String XP0002 = "XP0002";
            // 封盘提示
            public static final String XP0003 = "XP0003";
            // 开奖消息
            public static final String XP0004 = "XP0004";
            // 撤单消息
            public static final String XP0005 = "XP0005";
    
            private String type;//消息类型
    
            private String username; //发送人
    
            private String msg; //发送消息
    
            private int onlineCount; //在线用户数
    ```
    
    消息内容格式:
    [{球号、金额、属性},{球号、金额、属性}]
    {[{球号、金额、属性},{球号、金额、属性}],用户名,余额,期数}
    
    websocket消息总格式:
    {消息类型,消息内容,发送人,在线人数}
    注:主要解析消息内容
    
    消息类型:下注消息,封盘前提示,封盘提示,开奖消息,撤单消息,登入消息,登出消息,聊天消息
    
    下注消息:XP0001
    格式
    {
        [
            {球号、金额、属性},{球号、金额、属性}
        ],
        用户名,
        余额,
        期数
    }
    
    封盘前提示:XP0002
    格式
    {}
    
    封盘提示:XP0003
    格式
    {
        {[{球号、金额、属性},{球号、金额、属性}],用户名,余额,期数},
        {[{球号、金额、属性},{球号、金额、属性}],用户名,余额,期数}
    }
    
    开奖消息:XP0004
    格式
    {
        期数,
        五个球号,
       [
            {用户名,盈亏,余额},
            {用户名,盈亏,余额},
        ], 
    }
    
    
    
    撤单消息:XP0005
    格式
    {
        [
            {球号、金额、属性},{球号、金额、属性}
        ],
        用户名,
        余额,
        期数
    }
    
    
    
    2. 用户表
    ```
        @ApiModelProperty(value = "用户id")
        @ApiModelProperty(value = "ID", hidden = true)
        private Long id;
        
        @ApiModelProperty(value = "用户组织")
        private Org org;
    
        @NotBlank
        @Column(unique = true)
        @ApiModelProperty(value = "用户名称")
        private String username;
    
        @NotBlank
        @ApiModelProperty(value = "用户昵称")
        private String nickName;
    
        @Email
        @ApiModelProperty(value = "邮箱")
        @Column(name = "email")
        private String email;
    
        @ApiModelProperty(value = "电话号码")
        private String phone;
    
        @ApiModelProperty(value = "用户性别")
        private String gender;
    
        @ApiModelProperty(value = "头像真实名称",hidden = true)
        private String avatarName;
    
        @ApiModelProperty(value = "头像存储的路径", hidden = true)
        private String avatarPath;
    
        @ApiModelProperty(value = "密码")
        private String password;
    
        @NotNull
        @ApiModelProperty(value = "是否启用")
        private Boolean enabled;
    
        @ApiModelProperty(value = "是否为admin账号", hidden = true)
        private Boolean isAdmin = false;
    
        @Column(name = "pwd_reset_time")
        @ApiModelProperty(value = "最后修改密码的时间", hidden = true)
        private Date pwdResetTime;
    ```
    
    
    # 接口文档
    后台链接:http://123.57.36.51:8090
    
    1. 用户注册
    
    http://localhost:8090/auth/wregister
    ![20250312-000815-sK.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250312-000815-sK.png)
    
    ```
    {
      "password": "123456(需要加密,跟登录加密一样)",
      "username": "Nick111",
      "uuid": "d4c1b65c-99ef-497d-bec0-fe829f551d3d",
      "email": "aaa@qq.com"
    }
    ```
    
    2. 用户登录(不需要验证码)
    
    http://localhost:8090/auth/mlogin
    ![20250311-235353-xy.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250311-235353-xy.png)
    ```
    {
      "password": "123456(需要加密,跟登录加密一样)",
      "username": "Nick111"
    }
    ```
    
    3. 用户查询(需要登录)
    
    http://localhost:8090/api/users
    ![20250311-235750-wA.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250311-235750-wA.png)
    
    4. 修改用户状态
    
    http://localhost:8090/api/users
    
    PUT请求
    
    enabled:true和false
    
    ![20250312-000928-Sa.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250312-000928-Sa.png)
    
    
    
    5. 发送消息
    
    http://localhost:8090/api/chatMessage/send
    ![20250312-001259-jL.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250312-001259-jL.png)
    ```
    {
      "content": "你好你好"
    }
    ```
    
    6. 查询消息
    
    http://123.57.36.51:8090/api/chatMessage/query?page=0&size=20&sort=createtime,desc
    tip: 查询第一页,每页20条数据,使用createtime倒序查询
    
    
    ![20250312-001508-m1.png](https://qncdn.qkongtao.cn/kodbox/202503/12_e3cba7b6/20250312-001508-m1.png)
    
    
    
    
    7. 查询配置
    
    http://123.57.36.51:8090/api/ticketConfig/query
    ![20250322-032934-O5.png](./images/20250322-032934-O5.png)
    
    
    8. 修改配置
    
    http://localhost:8090/api/ticketConfig/save
    ```
    {
                "id": 1,
                "lg": 2.00,
                "sm": 5.00,
                "odd": 1.00,
                "even": 1.00,
                "lg_odd": 1.00,
                "sm_odd": 1.00,
                "lg_even": 1.00,
                "sm_even": 1.00,
                "lg_last": 1.00,
                "sm_last": 1.00,
                "lh": 1.00
    }
    ```
    
    ![20250322-032816-Zz.png](./images/20250322-032816-Zz.png)
    
    9. 开盘和闭盘
    
    查询,在查询管理员的数据里
    http://localhost:8090/api/users
    
    
    修改,和用户激活的修改接口一致,修改enabledChat参数
    http://localhost:8090/api/users/center
    true 启用;false 关闭
    只有管理员能修改,且id必须传1,以管理员下面的enabledChat为标准
    
    
    ```
    {
        "id": 1,
        "enabledChat": false
    }
    ```
    ![20250322-034859-ck.png](./images/20250322-034859-ck.png)
    
    
    
    
    10. 下单接口案例
    ```
    http://localhost:8090/api/chatMessage/send
    
    {
      "content": "{'msg':'[{\"tid\":\"1\",\"money\":\"20\",\"type\":\"sm\",\"ticketid\":\"20250312121\"},{\"tid\":\"3\",\"money\":\"50\",\"type\":\"lg\",\"ticketid\":\"20250312121\"}]','type':'XP0001'}"
    }
    
    
    得到两条广播数据:
    用户消息
    {
        "createtime": 1743103679397,
        "msg": "[{\"tid\":\"1\",\"money\":\"20\",\"type\":\"sm\",\"ticketid\":\"20250312121\"},{\"tid\":\"3\",\"money\":\"50\",\"type\":\"lg\",\"ticketid\":\"20250312121\"}]",
        "onlineCount": 3,
        "type": "XP0001",
        "username": ""
    }
    系统返回下注消息
    {
        "createtime": 1743103679861,
        "msg": "{\"buyTicketList\":[{\"id\":21,\"uid\":1,\"tid\":1,\"ticketid\":\"20250312121\",\"username\":\"251468038\",\"type\":\"sm\",\"money\":20,\"times\":2.00,\"amt\":9910},{\"id\":22,\"uid\":1,\"tid\":3,\"ticketid\":\"20250312121\",\"username\":\"251468038\",\"type\":\"lg\",\"money\":50,\"times\":2.00,\"amt\":9860}],\"username\":\"251468038\",\"ticketid\":\"20250312121\",\"amt\":\"9860\"}",
        "onlineCount": 3,
        "type": "XP0001",
        "username": "251468038"
    }
    ```
    
    ![20250324-055433-mP.png](./images/20250324-055433-mP.png)
    
    
    
    ![20250324-055416-Zb.png](./images/20250324-055416-Zb.png)
    
    
    
    11. 撤单消息案例
    ```
    http://localhost:8090/api/chatMessage/send
    // 撤销本单全部下注
    {
      "content": "{'msg':'{\"ticketid\":\"20250331007\",\"isAll\":\"1\"}','type':'XP0005','username':''}"
    }
    // 撤销最后一次下注
    {
      "content": "{'msg':'{\"ticketid\":\"20250331007\",\"isAll\":\"0\"}','type':'XP0005','username':''}"
    }
    
    
    
    得到两条广播数据:
    用户消息
    {
        "createtime": 1743104096816,
        "msg": "20250312121",
        "onlineCount": 3,
        "type": "XP0005",
        "username": ""
    }
    系统返回下注消息
    {
        "createtime": 1743104107658,
        "msg": "{\"xp0001VOList\":[{\"tid\":\"1\",\"type\":\"sm\",\"money\":\"20.00\",\"ticketid\":\"20250312121\"}],\"username\":\"251468038\",\"ticketid\":\"20250312121\",\"amt\":\"9860.00\",\"isBuy\":\"1\"}",
        "onlineCount": 3,
        "type": "XP0005",
        "username": "admin"
    }
    ```
    
    ![20250328-033700-OY.png](./images/20250328-033700-OY.png)
    
    ![20250328-033728-9W.png](./images/20250328-033728-9W.png)
    
    
    
    
    
    下面三个接口先不做定时器,自己调用试一下,消息模版渲染一下,后面就直接用定时器,不发请求。
    12. 封盘前提示接口
    ```
    http://localhost:8090/api/chatMessage/send
    {
      "content": "{'msg':'封盘前提示','type':'XP0002','username':''}"
    }
    
    返回
    {
        "createtime": 1743353500556,
        "msg": "封盘前提示",
        "onlineCount": 3,
        "type": "XP0002",
        "username": ""
    }
    
    ```
    
    13. 封盘接口
    ```
    http://localhost:8090/api/chatMessage/send
    
    20250331007封盘
    {
      "content": "{'msg':'20250331007','type':'XP0003','username':''}"
    }
    
    
    返回
    {
        "createtime": 1743353799391,
        "msg": "[{\"buyTicketList\":[{\"tid\":\"1\",\"type\":\"sm\",\"money\":\"20.00\",\"ticketid\":\"20250331007\"},{\"tid\":\"3\",\"type\":\"lg\",\"money\":\"150.00\",\"ticketid\":\"20250331007\"},{\"tid\":\"1\",\"type\":\"sm\",\"money\":\"20.00\",\"ticketid\":\"20250331007\"},{\"tid\":\"3\",\"type\":\"lg\",\"money\":\"150.00\",\"ticketid\":\"20250331007\"}],\"username\":\"251468038\",\"amt\":\"8470\",\"ticketid\":\"20250331007\"}]",
        "onlineCount": 3,
        "type": "XP0003",
        "username": "admin"
    }
    
    ```
    
    14. 开奖接口
    ```
    http://localhost:8090/api/chatMessage/send
    
    20250331007开奖
    {
      "content": "{'msg':'20250331007','type':'XP0004','username':''}"
    }
    
    
    
    返回
    {
        "createtime": 1743356899990,
        "msg": "{\"xp0004VOList\":[{\"username\":\"251468038\",\"winamt\":\"-450.00\",\"amt\":\"8680.00\"},{\"username\":\"Nick\",\"winamt\":\"0.00\",\"amt\":\"200.00\"},{\"username\":\"Nick222\",\"winamt\":\"0.00\",\"amt\":\"0.00\"},{\"username\":\"Nick3333\",\"winamt\":\"0.00\",\"amt\":\"100.00\"},{\"username\":\"Nick444\",\"winamt\":\"0.00\",\"amt\":\"105.00\"},{\"username\":\"ceshi\",\"winamt\":\"0.00\",\"amt\":\"0.00\"},{\"username\":\"cess\",\"winamt\":\"0.00\",\"amt\":\"0.00\"},{\"username\":\"user\",\"winamt\":\"0.00\",\"amt\":\"0.00\"},{\"username\":\"ceshi123\",\"winamt\":\"0.00\",\"amt\":\"96454.00\"}],\"nums\":\"47,30,10,2,3\",\"ticketid\":\"20250331007\"}",
        "onlineCount": 1,
        "type": "XP0004",
        "username": "admin"
    }
    ```
    
    15. 下注消息查询接口
    ```
    http://123.57.36.51:8090/api/buyTicket/query?username=ceshi123&size=20&sort=id,desc
    
    
    ``` 
    
    
    
    

    Powered by kodbox V1.53

    Copyright © kodcloud.com.

    Files