09 2021 档案
摘要:长轮询: 客户端向服务器发送一个请求 若在规定时间内服务器没有响应数据则阻塞 若服务器在规定时间内响应数据则返回给客户端 既保证了时效性 又保证了服务器不会发送大量无用请求 客户端服务器数据交换 推的方式 当客户端的配置进行改变 立即将响应返回给客户端 拥有较高的时效性 缺点: 需要维持服务端与客户
阅读全文
摘要:微服务配置文件的问题 微服务项目太多 配置文件太多不易修改 服务修改配置文件后必须重启才能生效 无法根据配置文件切换运行环境 配置中心解决的问题: 无需重启服务 修改配置文件后直接生效 统一进行配置文件管理 提供统一接口 服务根据接口拉取配置文件 搭建配置中心 运行nacos server没有什么好
阅读全文
摘要:搭建nacos server 打开nacos官网: 按文档将服务器起来 默认帐号密码为nacos conf目录中有个application.yml文件中可以配置 将服务注册进nacos中 nacso server版本可以是是最新 根据: https://github.com/alibaba/spri
阅读全文
摘要:微服务项目搭建 微服务共有五个模块 加上父工程共六个 查看spring cloud alibaba 支持的spring boot 版本和spring cloud 版本 避免依赖错误 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89
阅读全文
摘要:AKF扩展立方体 微服务拆分按y轴进行拆分 将每个功能单独拆分成一个服务 每个服务用完成一个功能 比与其他服务解耦合 y轴 按服务功能进行拆分 将大的服务 拆分成一组简单的小的服务 x轴 将服务以多副本的方式进行部署 以负载均衡的方式进行访问 以提高服务的可靠性 z轴 按用户的特殊请求将原有的服务进
阅读全文
摘要:新建一个list用于保存各省份 private static final List<String> regions = Arrays.asList( "北京", "天津", "上海", "重庆", "河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽" , "
阅读全文
摘要:根据性别状态查询表count即可 @Override public Integer queryFanManCount(String writerId) { QueryWrapper<Fans> queryWrapper = new QueryWrapper<>(); queryWrapper.eq(
阅读全文
摘要:从redis中查询数据 若为空则显示0 刚注册的用户肯定没有粉丝和关注的直接显示0即可 这个在userInfo中添加即可 // 获取粉丝数和关注数 将粉丝数和关注数设置到用户基本信息中 查询用户时从redis中获取粉丝数和关注数即可 Integer redisWriterFollowCounts =
阅读全文
摘要:和关注反着来就行 根据writerId和粉丝id查询用户 执行删除操作 redis粉丝数 - 1 public void deleteFans(String writerId, String fanId) { QueryWrapper<Fans> queryWrapper = new QueryWr
阅读全文
摘要:业务逻辑: 判断参数是否合法 根据writerId查询用户信息 新建粉丝对象 并将用户信息和基本设置到粉丝对象中 进行插入操作 redis粉丝数 + 1 controller public GraceJSONResult follow(String writerId, String fanId) {
阅读全文
摘要:查询粉丝表 若粉丝id和用户id匹配则表示关注 反之未关注 @Override public GraceJSONResult isMeFollowThisWriter(String writerId, String fanId) { // 0. 判断传入参数是否合法 if (StringUtils.
阅读全文
摘要:和首页业务逻辑相同 没有什么好说的 public GraceJSONResult queryArticleListOfWriter(String writerId, Integer page, Integer pageSize) { if (page == null) { page = 0; } i
阅读全文
摘要:根据以读数进行分页查询 只显示前五条 controller 直接调用service @Override public GraceJSONResult hotList() { List<Article> articles = portalService.getHostList(); return Gr
阅读全文
摘要:业务逻辑: 判断分页参数 设置默认值 根据分页参数构建Page列表 它这个前端有bug 只要一直往下划 分页一直 + 1 没有限制 所以我们若是结果为空 则直接返回 文章列表不单单只显示文章 还有显示发布文章的作者信息 根据查询到的文章列表中的作者id 远程调用获取用户信息 新建分页对象 将用户信息
阅读全文
摘要:直接调用spring data mongodb 的 MongoRepository 查询所用友情链接即可 首先继承通用MongoRepository public interface FriendLinkMapper extends MongoRepository<FriendLinkMO, Str
阅读全文
摘要:和之前一样换汤不换要 根据文章id查找文章 将文章状态改为撤回即可 @Transactional public void updateArticleWithout(String userId, String articleId) { Article article = articleMapper.s
阅读全文
摘要:业务逻辑: 根据文章id查询文章 若文章不存在 直接抛出异常 首先有两个按钮 一个是审核通过 另一个是审核失败 当点击其中一个按钮时 会向后端传递一个参数: 0 / 1 后对根据参数进行对比并将文章状态进行更新 controller 判断传入参数是否存在 若不存在 则抛出异常 if (StringU
阅读全文
摘要:阿里云文档位置: https://help.aliyun.com/document_detail/53427.html 返回参数 执行完毕只有判断返回的参数是否正确 然后返回给用户即可 if (suggestion.equals("pass")) { return ArticleStatusEnum
阅读全文
摘要:查看接口传入的参数 有用户id 关键字 文章状态 发布时间 分页参数 业务逻辑: 判断分页参数是否存在 若不存在设置一个默认值 判断传入的条件是否存在 若存在则使用queryWrapper添加参数 构造分页参数 并进行分页查询 controller 首先判断分页参数是否存在 若不存在设置一个默认值
阅读全文
摘要:使用@EnableScheduling开启定时任务的支持 在方法上添加@Scheduled 注解声明定时器调用的频率 可以使用cron表达式 cron表达式生成器: https://cron.qqe2.com/ 每三秒输出一次时间 @Component @EnableScheduling publi
阅读全文
摘要:The bean 'friendLinkMapper', defined in com.lyra.admin.mapper.FriendLinkMapper defined in @EnableMongoRepositories declared on AdminApplication, could
阅读全文
摘要:controller 业务逻辑: 判断传入参数是否合法 if (bindingResult.hasErrors()) { Map<String, String> bindResultErrors = super.getBindResultErrors(bindingResult); return G
阅读全文
摘要:为什么不直接使用admin后台的接口进行查询: 因为业务不同 admin是用于管理类别 而发布文章是用于读 若有一天在数据库中添加一个is_delete字段 若两个业务使用同一个接口 耦合高 admin需要将删除未删除的类别查出来 而文章页面只用将未删除的页面查出来 这样就形成了冲突 不易维护 业务
阅读全文
摘要:参数接收为 List forEach循环上传 最后将上传链接list返回即可 @Override public GraceJSONResult uploadSomeFiles(String userId, List<MultipartFile> files) { if (StringUtils.is
阅读全文
摘要:查询用户列表 业务逻辑 判断page和pageSize是否合法 根据前端传入的参数进行查询 @Override public GraceJSONResult queryAll(String nickname, Integer status, String startDate, String endD
阅读全文
摘要:查询文章分类列表 没有什么好说的 直接调用mapper将list全部搜出即可 @Override public List<Category> queryCategoryByList() { return categoryMapper.selectList(null); } @Override pub
阅读全文
摘要:Mongodb的应用场景 mongodb使用的场景一般都可以redis替代 因为内存比较贵 贫穷就可以使用mongodb了 环境搭建 导入依赖 <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-m
阅读全文
摘要:步骤 一. 首先判断前端参数是否传入正确 和之前一样 若参数不合法则将异常抛出 public class FaceLoginBO { @NotBlank private String img64; @NotBlank private String username; public String ge
阅读全文
摘要:若使用原码表示负数 两个值相加 如 +2 + -2 = 0 若使用原码进行计算 -2 的最高位为符号位 100 做运算 100 + 010 = 110 结果不对 所以要使用 补码进行运算 补码: 负数 按位取反 + 1 0和正数的补码为原码
阅读全文