Skip to content

Commit

Permalink
feat: (#60)
Browse files Browse the repository at this point in the history
1. update springboot version
2. support websocket
3. redo interactive action handlers
  • Loading branch information
CxyJerry authored Jan 31, 2024
1 parent 3ba7faf commit a7f82f4
Show file tree
Hide file tree
Showing 75 changed files with 984 additions and 549 deletions.
33 changes: 20 additions & 13 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<version>3.0.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.jerry</groupId>
Expand Down Expand Up @@ -51,13 +51,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
Expand All @@ -82,10 +75,10 @@
<!--knife4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索2.X最新版本号-->
<version>2.0.8</version>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>

<!--validation-->
<dependency>
<groupId>org.springframework.boot</groupId>
Expand All @@ -108,9 +101,16 @@
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<artifactId>sa-token-spring-boot3-starter</artifactId>
<version>1.37.0</version>
</dependency>
<!-- Sa-Token 整合 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jwt</artifactId>
<version>1.37.0</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
Expand All @@ -128,19 +128,26 @@
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.1.12</version>
<version>3.4.2</version>
</dependency>
<!-- 短信 sdk -->
<dependency>
<groupId>com.apistd.uni</groupId>
<artifactId>uni-sdk</artifactId>
<version>0.0.4</version>
</dependency>
<!-- 七牛云 SDK -->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.11.0</version>
</dependency>
<!-- websocket -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;

@Data
@Accessors(chain = true)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;


@Data
@Accessors(chain = true)
public class DanmakuDTO {
// 用户ID
@NotBlank(message = "弹幕作者不得为空")
private String author;
@NotNull(message = "弹幕颜色不得为空")
private Integer color;
// 稿件ID
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
public class EmailLoginDTO {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
public class LoginDTO {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
public class UserUpdateDTO {
@NotBlank(message = "昵称不得为空")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.jerry.pilipala.application.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
import com.jerry.pilipala.infrastructure.common.response.StandardResponse;
import com.jerry.pilipala.infrastructure.enums.LimitType;
import com.jerry.pilipala.infrastructure.utils.RequestUtil;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.jerry.pilipala.domain.interactive.entity;

import com.jerry.pilipala.application.dto.DanmakuDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class BarrageInteractiveParam extends BaseInteractiveParam {
private Long cid;
private DanmakuDTO danmaku;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.jerry.pilipala.domain.interactive.entity;


import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class BaseInteractiveParam {
protected String selfUid = "unknown";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.jerry.pilipala.domain.interactive.entity;

import com.jerry.pilipala.application.dto.CommentDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class CommentInteractiveParam extends BaseInteractiveParam {
private Long cid;
private CommentDTO comment;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.jerry.pilipala.domain.interactive.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class DeleteCommentInteractiveParam extends BaseInteractiveParam {
private Long cid;
private String commentId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.jerry.pilipala.domain.interactive.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class FollowInteractiveParam extends BaseInteractiveParam {
private String upUid;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.jerry.pilipala.domain.interactive.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class PlayInteractiveParam extends BaseInteractiveParam {
private Long cid;
private String authorUid;
private Boolean valid;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.jerry.pilipala.domain.interactive.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class UpdateTimeInteractiveParam extends BaseInteractiveParam {
private String bvId;
private Long cid;
private Integer time;
private String playActionId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.jerry.pilipala.domain.interactive.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class VodInteractiveParam extends BaseInteractiveParam {
private Long cid;
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package com.jerry.pilipala.domain.interactive.handler;

import com.jerry.pilipala.domain.interactive.entity.BaseInteractiveParam;
import com.jerry.pilipala.domain.interactive.entity.VodInteractiveParam;
import com.jerry.pilipala.domain.vod.entity.mongo.interactive.VodInteractiveAction;
import com.jerry.pilipala.infrastructure.enums.redis.VodCacheKeyEnum;
import com.jerry.pilipala.infrastructure.enums.video.VodInteractiveActionEnum;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.Map;
import java.util.Objects;

@Component
Expand All @@ -18,10 +19,11 @@ public CoinInteractiveActionHandler(MongoTemplate mongoTemplate,
}

@Override
public VodInteractiveAction trigger(Map<String, Object> params) {
super.trigger(params);
String cid = params.get("cid").toString();
String uid = params.get("uid").toString();
public VodInteractiveAction handle(BaseInteractiveParam interactiveParam) {
super.handle(interactiveParam);
VodInteractiveParam param = (VodInteractiveParam) interactiveParam;
String cid = param.getCid().toString();
String uid = param.getSelfUid();

String coinSetKey = VodCacheKeyEnum.SetKey.COIN_SET.concat(uid);
if (Objects.nonNull(redisTemplate.opsForZSet().score(coinSetKey, cid))) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package com.jerry.pilipala.domain.interactive.handler;

import com.jerry.pilipala.domain.interactive.entity.BaseInteractiveParam;
import com.jerry.pilipala.domain.interactive.entity.VodInteractiveParam;
import com.jerry.pilipala.domain.vod.entity.mongo.interactive.VodInteractiveAction;
import com.jerry.pilipala.infrastructure.enums.redis.VodCacheKeyEnum;
import com.jerry.pilipala.infrastructure.enums.video.VodInteractiveActionEnum;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.Map;
import java.util.Objects;

@Component
Expand All @@ -18,10 +19,11 @@ public CollectInteractiveActionHandler(MongoTemplate mongoTemplate,
}

@Override
public VodInteractiveAction trigger(Map<String, Object> params) {
VodInteractiveAction interactiveAction = super.trigger(params);
public VodInteractiveAction handle(BaseInteractiveParam interactiveParam) {
VodInteractiveAction interactiveAction = super.handle(interactiveParam);
VodInteractiveParam param = (VodInteractiveParam) interactiveParam;
String cid = param.getCid().toString();

String cid = params.get("cid").toString();
// 是取消收藏事件,点赞数 - 1,set 移除 uid
String uid = interactiveAction.getUid();
String collectSet = VodCacheKeyEnum.SetKey.COLLECT_SET.concat(String.valueOf(uid));
Expand Down
Loading

0 comments on commit a7f82f4

Please sign in to comment.