1.模糊好友搜索
2.新增七牛云上传
This commit is contained in:
@@ -63,6 +63,17 @@
|
||||
<groupId>com.squareup.okio</groupId>
|
||||
<artifactId>okio</artifactId>
|
||||
</dependency>
|
||||
<!-- 七牛云依赖 -->
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>okhttp</artifactId>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.hula.common.storage;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hula.common.storage.engine.QiNiuStorage;
|
||||
import com.hula.core.user.service.ConfigService;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class StorageDriver {
|
||||
|
||||
private final ConfigService configService;
|
||||
|
||||
/**
|
||||
* 当前存储引擎
|
||||
*/
|
||||
private String engine;
|
||||
|
||||
/**
|
||||
* 存储引擎配置
|
||||
*/
|
||||
private Map<String, String> config = new HashMap<>();
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
this.engine = configService.get("storageDefault");
|
||||
config.put("storagePrefix", configService.get("qnStorageName"));
|
||||
config.put("qnUploadUrl", configService.get("qnUploadUrl"));
|
||||
config.put("qnAccessKey", configService.get("qnAccessKey"));
|
||||
config.put("qnSecretKey", configService.get("qnSecretKey"));
|
||||
config.put("qnStorageName", configService.get("qnStorageName"));
|
||||
}
|
||||
|
||||
public Map<String, String> getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
public JSONObject getToken() {
|
||||
switch (this.engine) {
|
||||
case "qiniu" -> {
|
||||
return new QiNiuStorage(this.getConfig()).upToken();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.hula.common.storage.engine;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.qiniu.util.Auth;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 七牛云存储
|
||||
*/
|
||||
public class QiNiuStorage {
|
||||
|
||||
/**
|
||||
* 存储配置
|
||||
*/
|
||||
private final Map<String, String> config;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
*/
|
||||
public QiNiuStorage(Map<String, String> config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
/**
|
||||
* 鉴权令牌
|
||||
*
|
||||
* @author 乾乾
|
||||
* @return JSONObject
|
||||
*/
|
||||
public JSONObject upToken() {
|
||||
String domain = this.config.getOrDefault("qnUploadUrl", "");
|
||||
String accessKey = this.config.getOrDefault("qnAccessKey", "");
|
||||
String secretKey = this.config.getOrDefault("qnSecretKey", "");
|
||||
String bucket = this.config.getOrDefault("qnStorageName", "");
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("domain", domain);
|
||||
jsonObject.put("token", Auth.create(accessKey, secretKey).uploadToken(bucket));
|
||||
|
||||
jsonObject.put("storagePrefix", config.get("storagePrefix"));
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.hula.core.user.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hula.common.storage.StorageDriver;
|
||||
import com.hula.core.user.domain.vo.req.oss.UploadUrlReq;
|
||||
import com.hula.core.user.domain.vo.resp.config.Init;
|
||||
import com.hula.core.user.service.ConfigService;
|
||||
@@ -9,6 +11,7 @@ import com.hula.domain.vo.res.OssResp;
|
||||
import com.hula.utils.RequestHolder;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -26,6 +29,9 @@ public class RootController {
|
||||
@Resource
|
||||
private OssService ossService;
|
||||
|
||||
@Resource
|
||||
private StorageDriver storageDriver;
|
||||
|
||||
@Resource
|
||||
private ConfigService configService;
|
||||
|
||||
@@ -35,6 +41,13 @@ public class RootController {
|
||||
return ApiResult.success(ossService.getUploadUrl(RequestHolder.get().getUid(), req));
|
||||
}
|
||||
|
||||
@Operation(summary = "获取七牛云上传token")
|
||||
@GetMapping("ossToken")
|
||||
public ApiResult<JSONObject> token() {
|
||||
return ApiResult.success(storageDriver.getToken());
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("config/init")
|
||||
@ApiOperation("获取系统全局配置")
|
||||
public ApiResult<Init> init() {
|
||||
|
||||
@@ -93,6 +93,6 @@ public class UserDao extends ServiceImpl<UserMapper, User> {
|
||||
}
|
||||
|
||||
public List<ChatMemberListResp> getFriend(String key) {
|
||||
return baseMapper.getFriend(key);
|
||||
return baseMapper.getFriend("%" + key + "%");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
<select id="getFriend" resultType="com.hula.core.chat.domain.vo.response.ChatMemberListResp">
|
||||
SELECT id AS uid, name, avatar, account_code
|
||||
FROM user
|
||||
WHERE account_code = #{key}
|
||||
WHERE account_code like #{key}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
9
pom.xml
9
pom.xml
@@ -21,6 +21,7 @@
|
||||
<hutool.version>5.8.27</hutool.version>
|
||||
<mysql-connector.version>8.2.0</mysql-connector.version>
|
||||
<jjwt.version>0.9.1</jjwt.version>
|
||||
<qiniu.version>7.15.1</qiniu.version>
|
||||
<logstash-logback.version>7.2</logstash-logback.version>
|
||||
<minio.version>8.4.5</minio.version>
|
||||
<jaxb-api.version>2.3.1</jaxb-api.version>
|
||||
@@ -168,7 +169,7 @@
|
||||
<artifactId>jjwt</artifactId>
|
||||
<version>${jjwt.version}</version>
|
||||
</dependency>
|
||||
<!-- 阿里云OSS -->
|
||||
<!-- minio OSS -->
|
||||
<dependency>
|
||||
<groupId>io.minio</groupId>
|
||||
<artifactId>minio</artifactId>
|
||||
@@ -179,6 +180,12 @@
|
||||
<artifactId>redisson-spring-boot-starter</artifactId>
|
||||
<version>${redisson-spring-boot-starter.version}</version>
|
||||
</dependency>
|
||||
<!-- 七牛云OSS -->
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
<version>${qiniu.version}</version>
|
||||
</dependency>
|
||||
<!-- maven模块版本 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
|
||||
Reference in New Issue
Block a user