随笔分类 - 项目二 探花
摘要:本业务通过对用户行为 动态,小视频 浏览行为 进行评分,并将统计数据分别记录到 动态推荐与视频推荐表中 其中与log记录共用一个交换机 tanhua.log.exchange , routingKey则各自换成 log.movement/video 以动态为例 1.动态评分实体类 //大数据动态评分
阅读全文
摘要:本业务根据每日统计的日志log表按时进行统计,将统计的结果记录到 Analysis 表中 1.实体类 @Data @NoArgsConstructor @AllArgsConstructor @Builder @TableName("tb_analysis_by_day") public class
阅读全文
摘要:将用户的一系列行为记录下来,为后续的后台管理,以及用户评分(大数据推送依据)提供数据支撑 本数据记录到log表中 1.用户行为 /** * 操作类型, * 0101为登录,0102为注册, * 0201为发动态,0202为浏览动态,0203为动态点赞,0204为动态喜欢,0205为评论,0206为动
阅读全文
摘要:1.启动类配置 @EnableScheduling //开启定时任务支持 public class AdminServerApplication { public static void main(String[] args) { SpringApplication.run(AdminServerA
阅读全文
摘要:FastDFS是分布式文件系统 使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker serve
阅读全文
摘要:定义用户位置类: MongoDB的 2dsphere索引支持查询在一个类地球的球面上进行几何计算,以GeoJSON对象或者普通坐标对的方式存储数据。 @Data @NoArgsConstructor @AllArgsConstructor @Document(collection = "user_l
阅读全文
摘要:1.本案采用了环信提供的即时通信服务,并封装成spring的自动装配类 public class HuanXinTemplate { private EMService service; public HuanXinTemplate(HuanXinProperties properties) { E
阅读全文
摘要:后端: 架构: 采用Dubbo作为分布式架构技术 采用RabbitMQ 作为消息服务中间件 采用Redis实现缓存的高可用 采用Mysql,MongoDB进行海量数据的存储 集成第三方应用组件(阿里云,短信,即时通信) 功能模块: 用户信息 用户发布动态及交互 圈子功能 即时通信 附近的人 小视频
阅读全文
摘要:基于ThreadLocal + 拦截器的形式统一处理 拦截器(Interceptor) 是一种动态拦截方法调用的机制; 类似于Servlet 开发中的过滤器Filter,用于对处理器进行前置处理和后置处理。 ThreadLocal 线程内部的存储类,赋予了线程存储数据的能力。 线程内调用的方法都可以
阅读全文
摘要:public Map loginVerification(String mobile, String code) { //1. 从Redis中获取验证码 String redisCode = redisTemplate.opsForValue().get("CHECK_CODE_" + mobile
阅读全文
摘要:调用spring的自动装配 application.yml tanhua: msg: smsSignId: templateId: appcode: 配置类 @ConfigurationProperties(prefix = "tanhua.msg") @Data public class MsgP
阅读全文
摘要:登陆完成:通过JWT令牌存储用户信息,并随请求在app和服务器间传输 public class JwtUtils { /** * TOKEN的有效期1小时(S) */ private static final int TOKEN_TIME_OUT = 1 * 3600; /** * 加密KEY */
阅读全文
摘要:package com.tanhua.commons.utils;//常量定义public class Constants { //冻结用户 redis前缀 public static final String FREEZE_USER = "FREEZE_USER_"; //手机APP短信验证码CH
阅读全文
摘要:1.冻结用户,将数据存入Redis,并设置key的失效时间。2.解冻用户,删除Redis数据3.探花系统在用户登录,评论,发布动态时判断其冻结状态,如果被冻结抛出异常 用户状态枚举 public enum UserStatusEnum { FREEZE_LOGIN("1","冻结登录"), FREE
阅读全文
摘要:@ControllerAdvice public class ExceptionAdvice { // 处理业务异常 @ExceptionHandler(BusinessException.class) public ResponseEntity handaleException(BusinessE
阅读全文

浙公网安备 33010602011771号