个人项目小结 (13)


用户在登录时在sso系统中进行判断,如果是新用户,在注册完成后,需要调用dubbo中的环信服务进行注册环信用户 dubbo-huanxin服务在注册环信用户时,需要随机生成密码,携带token请求环信的REST API进行用户注册。 注册成功后,需要将环信的用户信息保存到MySQL中。 用户在APP端使用即时通讯功能时,需要通过环信用户信息登录到环信平台,由于数据存储到服务端,所以需要通过dubbo-huanxin进行查询 在拿到环信账号信息后,登录环信,登录成功后即可与环信平台进行交互。 需要注意的是,APP端与环信平台交互,是不走后端系统的,是直连操作 重试机制 @EnableRetry注解来激活重试功能 导入依赖

·        dependency>    <groupId>org.springframework.retry</groupId>    <artifactId>spring-retry</artifactId></dependency><dependency>    <groupId>org.aspectj</groupId>    <artifactId>aspectjweaver</artifactId></dependency>

参数说明

·        value:抛出指定异常才会重试

·        maxAttempts:最大重试次数,默认3

·        backoff:重试等待策略,默认使用@Backoff

      @Backoff value默认为1000L,我们设置为2000L

      multiplier(指定延迟倍数)默认为0,表示固定暂停1秒后进行重试,如果把multiplier设置为2,则第一次重试为2秒,第二次为4秒,第三次为6

·        Recover标注的方法,是在所有的重试都失败的情况下,最后执行该方法

      方法的第一个参数必须是 Throwable 类型,最好与 @Retryable 中的 value一致

      方法的返回值必须与@Retryable的方法返回值一致,否则该方法不能被执行

添加联系人 实现

·        将好友写入到MongoDB

·        将好友关系注册到环信

流程

·         

个人项目小结

 

 


联系人列表 根据用户id查询全部Users列表 环信一管理员身份发送消息  @param targetUserName 发送目标的用户名 @param huanXinMessageType 消息类型  @param msg 消息体   String targetUrl = this.huanXinConfig.getUrl()                + this.huanXinConfig.getOrgName() + "http://www.likecs.com/"                + this.huanXinConfig.getAppName() + "/messages";     /*{"target_type": "users","target": ["user2","user3"],"msg": {"type": "txt","msg": "testmessage"},"from": "user1"}*/ String body = JSONUtil.createObj()                    .set("target_type", "users")                    .set("target", JSONUtil.createArray().set(targetUserName))                    .set("msg", JSONUtil.createObj()                            .set("type", huanXinMessageType.getType())                            .set("msg", msg)).toString();            //表示消息发送者;无此字段Server会默认设置为“from”:“admin”,有from字段但值为空串(“”)时请求失败//                .set("from", "")            return this.requestService.execute(targetUrl, body, Method.POST).isOk(); 易错


要查询的id数据库有多条数据

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppjzd.html