当前位置: 首页 > news >正文

太谷县建设局网站班级网站建设感想

太谷县建设局网站,班级网站建设感想,网站做app要权限,怎么做网站demo文章目录一、关注我需求分析1. 关注我流程图2. 关注我流程简述3. 表结构设计二、关注我源码分析2.1. 前端2.2. 后端三、账号1关注实战3.1. 关注前数据记录3.2. 账号1关注账号23.3. 账号1关注后数据变化四、. 账号2关注实战4.1. 账号2关注账号14.2. 关注后数据变化4.3. redis存储… 文章目录一、关注我需求分析1. 关注我流程图2. 关注我流程简述3. 表结构设计二、关注我源码分析2.1. 前端2.2. 后端三、账号1关注实战3.1. 关注前数据记录3.2. 账号1关注账号23.3. 账号1关注后数据变化四、. 账号2关注实战4.1. 账号2关注账号14.2. 关注后数据变化4.3. redis存储数据结构一、关注我需求分析 1. 关注我流程图 2. 关注我流程简述 1.短视频页面点击关注2.前端携带用户ID和短视频发布者ID请求后端3.参数校验用户ID和短视频发布者ID是否为空 3.1. 为空直接返回前端提示语3.2.不为空流程继续 4.携带用户ID查询数据库5.携带短视频发布者ID查询数据库6.双ID判断 6.1. 为空直接返回前端提示语6.2.不为空流程继续 7.判断对方是否关注我7.1. 未关注我互为朋友关系状态位07.2. 已关注我互为朋友关系状态位1 7.2.1.更新博主与我的粉丝关系状态为17.2.2.保存落库 8.保存我和博主的粉丝关系9.我的关注总数110.博主的粉丝总数11.我和博主的关联关系112.返回响应 3. 表结构设计 CREATE TABLE fans (id varchar(24) NOT NULL,vloger_id varchar(24) NOT NULL COMMENT 作家用户id,fan_id varchar(24) NOT NULL COMMENT 粉丝用户id,is_fan_friend_of_mine int(1) NOT NULL COMMENT 粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0,PRIMARY KEY (id) USING BTREE,UNIQUE KEY writer_id (vloger_id,fan_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT粉丝表\n\n;二、关注我源码分析 短视频页面关注后个人中心关注状态同步修改 2.1. 前端 // 关注我followMe() {var me this;var myUserInfo getApp().getUserInfoSession();if (myUserInfo null) {uni.showToast({duration: 3000,title: 请登录~,icon: none});uni.navigateTo({url: ../loginRegist/loginRegist,animationType: slide-in-bottom,success() {me.loginWords 请登录}});return;}var vlogerId me.userPageId;var userId getApp().getUserInfoSession().id;var serverUrl app.globalData.serverUrl;uni.request({method: POST,header: {headerUserId: userId,headerUserToken: app.getUserSessionToken()},url: serverUrl /fans/follow?myId userId vlogerId vlogerId,success(result) {if (result.data.status 200) {me.isFollow true;uni.setStorageSync(justFollowVlogerId, vlogerId);// 刷新当前页的粉丝数var pendingInfo me.pageUserInfo;me.pageUserInfo.myFansCounts pendingInfo.myFansCounts 1;} else {uni.showToast({title: result.data.msg,icon: none,duration: 3000});}}});},2.2. 后端 controller /*** 关注** param myId 我的用户ID* param vlogerId 视频发布者ID* return*/PostMapping(follow)public GraceJSONResult follow(RequestParam String myId,RequestParam String vlogerId) {// 判断两个id不能为空if (StringUtils.isBlank(myId) || StringUtils.isBlank(vlogerId)) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_ERROR);}// 判断当前用户自己不能关注自己if (myId.equalsIgnoreCase(vlogerId)) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_RESPONSE_NO_INFO);}// 判断两个id对应的用户是否存在Users vloger userService.getUser(vlogerId);Users myInfo userService.getUser(myId);// fixme: 两个用户id的数据库查询后的判断是分开好还是合并判断好if (myInfo null || vloger null) {return GraceJSONResult.errorCustom(ResponseStatusEnum.SYSTEM_RESPONSE_NO_INFO);}// 保存粉丝关系到数据库fansService.doFollow(myId, vlogerId);// 博主的粉丝1我的关注1//我的关注总数redis.increment(REDIS_MY_FOLLOWS_COUNTS : myId, 1);// 博主的粉丝总数redis.increment(REDIS_MY_FANS_COUNTS : vlogerId, 1);// 我和博主的关联关系依赖redis不要存储数据库避免db的性能瓶颈redis.set(REDIS_FANS_AND_VLOGGER_RELATIONSHIP : myId : vlogerId, 1);return GraceJSONResult.ok();}/*** 关注** param myId 我的ID* param vlogerId 视频博主ID*/TransactionalOverridepublic void doFollow(String myId, String vlogerId) {String fid sid.nextShort();Fans fans new Fans();fans.setId(fid);fans.setFanId(myId);fans.setVlogerId(vlogerId);// 判断对方是否关注我如果关注我那么双方都要互为朋友关系//TODO 这里的参数注意 判断对方是否关注我如果关注我那么双方都要互为朋友关系Fans vloger queryFansRelationship(vlogerId, myId);if (vloger ! null) {fans.setIsFanFriendOfMine(YesOrNo.YES.type);// 粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0vloger.setIsFanFriendOfMine(YesOrNo.YES.type);fansMapper.updateByPrimaryKeySelective(vloger);} else {//粉丝是否是vloger的朋友如果成为朋友则本表的双方此字段都需要设置为1如果有一人取关则两边都需要设置为0fans.setIsFanFriendOfMine(YesOrNo.NO.type);}fansMapper.insert(fans);// 系统消息关注msgService.createMsg(myId, vlogerId, MessageEnum.FOLLOW_YOU.type, null);}/*** 判断对方是否关注我如果关注我那么双方都要互为朋友关系** param fanId 粉丝ID* param vlogerId 短视频发布ID* return*/public Fans queryFansRelationship(String fanId, String vlogerId) {Example example new Example(Fans.class);Example.Criteria criteria example.createCriteria();criteria.andEqualTo(vlogerId, vlogerId);criteria.andEqualTo(fanId, fanId);List list fansMapper.selectByExample(example);Fans fan null;if (list ! null list.size() 0 !list.isEmpty()) {fan (Fans) list.get(0);}return fan;}三、账号1关注实战 3.1. 关注前数据记录 找二个没有关注的账号进行测试 账号尾号~5217 昵称昕泽之源 关注总量2 粉丝数1 账号尾号~0009 昵称小美女 关注总量0 粉丝数1 2个账号关系~二人暂无关注 3.2. 账号1关注账号2 使用“尾号为5217”账号登录 查看首页由尾号为0009的小美女账号发布短视频 点击关注 3.3. 账号1关注后数据变化 尾号~5217关注 尾号~0009的账户后数据变化 尾号~5217数据变化 关注总量由2变成了3 粉丝数1 尾号~0009数据变化 关注总量没变 还是 0 粉丝数由1变成了2 表数据变化 用户表 尾号~0009 userid21100598TZ9XG6RP 尾号~5217 userid220620BZ2DH0KP94 粉丝表 新增一条数据视频博主21100598TZ9XG6RP粉丝中有我220620BZ2DH0KP94 2206279H48HX0T54 21100598TZ9XG6RP 220620BZ2DH0KP94 0四、. 账号2关注实战 4.1. 账号2关注账号1 使用尾号~0009账户登录 去首页~视频列表中查看是否关注的状态为-未关注 点击关注 关注状态为-已关注 4.2. 关注后数据变化 尾号~0009关注 尾号~5217的账户后数据变化 尾号~5217数据变化 关注总量3 粉丝数由1变成了2 尾号~0009数据变化 关注总量由 变成了1 粉丝数还是2 表数据变化 用户表 尾号~0009 userid21100598TZ9XG6RP 尾号~5217 userid220620BZ2DH0KP94 粉丝表 新增一条数据 我220620BZ2DH0KP94的粉丝中有尾号000921100598TZ9XG6RP 视频博主21100598TZ9XG6RP粉丝中有我220620BZ2DH0KP94 并且我们的关系更新为朋友关系状态都为0 2206279P5FYBZYNC 220620BZ2DH0KP94 21100598TZ9XG6RP 1 2206279H48HX0T54 21100598TZ9XG6RP 220620BZ2DH0KP94 14.3. redis存储数据结构
http://www.zqtcl.cn/news/828760/

相关文章:

  • 微信小程序插件开发seo的网站建设
  • 婚纱摄影网站建设方案WordPress 同步网易博客
  • 上海长宁网站建设公司python语言基础
  • 官方网站怎样做餐饮业手机php网站
  • 网站建设企业有哪些内容十九届六中全会
  • 如何管理手机网站首页怎么建设一个社交网站
  • 网站规则山东网站备案网站
  • 成都网站制作龙兵科技做网站原型图用什么软件
  • 鄂州网站网站建设做网站 用哪种
  • 医药公司网站建设厦门网站建设合同
  • 网站开发全程设计注册公司哪个网站
  • 广州大型网站设计公司网站总体设计怎么写
  • 福州网站制作工具搜索引擎营销的特点是什么
  • 安徽省建设干部网站新品网络推广
  • 做网站要实名吗怎样给一个公司做网站
  • 品牌官方网站建设大航母网站建设
  • 自己做音乐网站挣钱吗网站定制公司kinglink
  • 网站建设案例新闻随州程力网站建设
  • 国外网站平台龙岩天宫山缆车收费
  • 站长工具seo综合查询是什么湖北做网站
  • 青海网站建设价格建一个免费网站的流程
  • 网站备案中 解析地址asp.net企业网站框架
  • flash里鼠标可以跟随到网站上就不能跟随了蚌埠网站建设
  • 东莞茶山网站建设网络推广方案ppt
  • 不需要写代码的网站开发软件模板之家如何免费下载
  • 购物网站模板多媒体网站开发实验报告
  • 做网站上数字快速增加上海市建设部注册中心网站
  • 义乌市网站制作青岛建设银行银行招聘网站
  • 公司网站的留言板怎么做wordpress减肥网站采集规则
  • app软件下载站seo教程wordpress实现专题