wangchuanjin il y a 3 mois
Parent
commit
751fd3be09
20 fichiers modifiés avec 16 ajouts et 339 suppressions
  1. 0 234
      client/client.go
  2. 0 37
      client/client_restful_test.go
  3. 0 15
      client/client_rpc_test.go
  4. 0 16
      client/constant/constant.go
  5. 0 14
      client/entity/entity.go
  6. 0 5
      client/go.mod
  7. 0 2
      client/go.sum
  8. BIN
      client/qie.jpeg
  9. 0 0
      config.json
  10. 0 0
      config/config.go
  11. 2 2
      go.mod
  12. 2 2
      go.sum
  13. 0 0
      logs/oss.log
  14. 4 4
      main.go
  15. 2 2
      oss/http.go
  16. 1 1
      oss/oss.go
  17. 2 2
      oss/rpc.go
  18. 1 1
      util/email.go
  19. 1 1
      util/heartbeat.go
  20. 1 1
      util/weixin.go

+ 0 - 234
client/client.go

@@ -1,234 +0,0 @@
-package client
-
-import (
-	"bytes"
-	"encoding/json"
-	"errors"
-	"io"
-	"log"
-	"mime/multipart"
-	"net/http"
-	"net/rpc"
-	"strconv"
-
-	"app.yhyue.com/moapp/jybase/api"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/constant"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/entity"
-)
-
-/* restful方式上传
- * @param domain 域名,例如:https://ossservice.jianyu360.cn
- * @param bucketId 桶id
- * @param objectName 对象名称
- * @param stream 文件流
- * @param gzip 是否压缩
- * @return {"error_code":0,"error_msg":"上传成功"}
- */
-func UpLoadByRestful(domain, bucketId, objectName string, stream []byte, gzip bool) (reply *api.Result) {
-	reply = &api.Result{Error_code: -1}
-
-	// 创建一个缓冲区来存储表单数据
-	body := &bytes.Buffer{}
-	writer := multipart.NewWriter(body)
-	writer.WriteField("bucket_id", bucketId)
-	writer.WriteField("object_name", objectName)
-	writer.WriteField("gzip", strconv.FormatBool(gzip))
-
-	// 创建表单字段
-	part, err := writer.CreateFormFile("file", objectName)
-	if err != nil {
-		reply.Error_msg = err.Error()
-		return
-	}
-
-	// 模拟文件流
-	fileStream := bytes.NewReader(stream)
-
-	// 将文件流复制到表单字段
-	_, err = io.Copy(part, fileStream)
-	if err != nil {
-		reply.Error_msg = err.Error()
-		return
-	}
-
-	// 创建 HTTP 请求
-	if respBody, err := post(domain+constant.UploadUrl, writer, body); err != nil {
-		reply.Error_msg = err.Error()
-	} else {
-		json.Unmarshal(respBody, &reply)
-	}
-	return
-}
-
-/* restful方式下载
- * @param domain 域名,例如:https://ossservice.jianyu360.cn
- * @param bucketId 桶id
- * @param objectName 对象名称
- * @return {"error_code":0,"error_msg":"下载成功"}
- */
-func DownloadByRestful(domain, bucketId, objectName string) (reply *api.Result) {
-	reply = &api.Result{}
-	// 创建一个缓冲区来存储表单数据
-	body := &bytes.Buffer{}
-	writer := multipart.NewWriter(body)
-	writer.WriteField("bucket_id", bucketId)
-	writer.WriteField("object_name", objectName)
-	if respBody, err := post(domain+constant.DownloadUrl, writer, body); err != nil {
-		reply.Error_msg = err.Error()
-	} else {
-		reply.Error_msg = constant.DownloadSuccess
-		reply.Data = respBody
-	}
-	return
-}
-
-/* restful方式删除
- * @param domain 域名,例如:https://ossservice.jianyu360.cn
- * @param bucketId 桶id
- * @param objectName 对象名称
- * @return {"error_code":0,"error_msg":"上传成功"}
- */
-func DeleteByRestful(domain, bucketId, objectName string) (reply *api.Result) {
-	reply = &api.Result{}
-	// 创建一个缓冲区来存储表单数据
-	body := &bytes.Buffer{}
-	writer := multipart.NewWriter(body)
-	writer.WriteField("bucket_id", bucketId)
-	writer.WriteField("object_name", objectName)
-	if respBody, err := post(domain+constant.DeleteUrl, writer, body); err != nil {
-		reply.Error_msg = err.Error()
-	} else {
-		json.Unmarshal(respBody, &reply)
-	}
-	return
-}
-
-/* restful方式获取标讯正文
- * @param domain 域名,例如:https://ossservice.jianyu360.cn
- * @param bucketId 桶id
- * @param objectName 对象名称
- * @return {"error_code":0,"error_msg":"获取正文成功","data":"正文内容"}
- */
-func GetBidDetailByRestful(domain, bucketId, objectName string) (reply *api.Result) {
-	reply = &api.Result{}
-	// 创建一个缓冲区来存储表单数据
-	body := &bytes.Buffer{}
-	writer := multipart.NewWriter(body)
-	writer.WriteField("bucket_id", bucketId)
-	writer.WriteField("object_name", objectName)
-	if respBody, err := post(domain+constant.GetBidDetailUrl, writer, body); err != nil {
-		reply.Error_msg = err.Error()
-	} else {
-		reply.Error_msg = constant.GetBidDetailSuccess
-		reply.Data = string(respBody)
-	}
-	return
-}
-
-func post(url string, writer *multipart.Writer, body *bytes.Buffer) ([]byte, error) {
-	// 关闭表单写入器
-	if err := writer.Close(); err != nil {
-		return nil, err
-	}
-	// 创建 HTTP 请求
-	req, err := http.NewRequest("POST", url, body)
-	if err != nil {
-		log.Println("Error creating request:", err)
-		return nil, err
-	}
-
-	// 设置请求头
-	req.Header.Set("Content-Type", writer.FormDataContentType())
-
-	// 发送请求
-	client := &http.Client{}
-	resp, err := client.Do(req)
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close()
-
-	// 读取响应
-	respBody, err := io.ReadAll(resp.Body)
-	if err != nil {
-		return nil, err
-	}
-	if resp.StatusCode != http.StatusOK {
-		return nil, errors.New(string(respBody))
-	}
-	return respBody, nil
-}
-
-/* rpc方式上传
- * @param address 域名,例如:192.168.3.206:8110
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.objectName 对象名称
- * @param args.Stream 文件流
- * @param args.Gzip 是否压缩
- * @return {"error_code":0,"error_msg":"上传成功"}
- * @return error 错误信息
- */
-func UpLoadByRpc(address string, args *entity.UploadArgs) (api.Result, error) {
-	var reply api.Result
-	err := rpcCall(address, "OSSService.Upload", args, &reply)
-	return reply, err
-}
-
-/*
- *rpc方式下载
- * @param address 域名,例如:192.168.3.206:8110
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.objectName 对象名称
- * @return {"error_code":0,"error_msg":"下载成功","data":"文件流"}
- * @return error 错误信息
- */
-func DownloadByRpc(address string, args *entity.Args) (api.Result, error) {
-	var reply api.Result
-	err := rpcCall(address, "OSSService.Download", args, &reply)
-	return reply, err
-}
-
-/* rpc方式删除
- * @param address 域名,例如:192.168.3.206:8110
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.objectName 对象名称
- * @return {"error_code":0,"error_msg":"删除成功"}
- * @return error 错误信息
- */
-func DeleteByRpc(address string, args *entity.Args) (api.Result, error) {
-	var reply api.Result
-	err := rpcCall(address, "OSSService.Delete", args, &reply)
-	return reply, err
-}
-
-/*
- *rpc方式获取标讯正文
- * @param address 域名,例如:192.168.3.206:8110
- * @param args 参数
- * @param args.BucketID 文件名
- * @param args.objectName 对象名称
- * @return {"error_code":0,"error_msg":"下载成功","data":"正文内容"}
- * @return error 错误信息
- */
-func GetBidDetailByRpc(address string, args *entity.Args) (api.Result, error) {
-	var reply api.Result
-	err := rpcCall(address, "OSSService.GetBidDetail", args, &reply)
-	return reply, err
-}
-func rpcCall(address, serviceMethod string, args any, reply any) error {
-	client, err := rpc.DialHTTP("tcp", address)
-	if err != nil {
-		log.Println(err)
-		return err
-	}
-	defer client.Close()
-	err = client.Call(serviceMethod, args, reply)
-	if err != nil {
-		log.Println(err)
-		return err
-	}
-	return nil
-}

+ 0 - 37
client/client_restful_test.go

@@ -1,37 +0,0 @@
-package client
-
-import (
-	"io/ioutil"
-	"testing"
-)
-
-var (
-	restfulAddress = "http://127.0.0.1:8011"
-)
-
-// restful方式上传附件
-func TestUploadFileByRestful(t *testing.T) {
-	b, _ := ioutil.ReadFile("./" + imgFileName)
-	t.Log(UpLoadByRestful(restfulAddress, bucketID, imgFileName, b, false))
-}
-
-// restful方式上传正文
-func TestUploadTextByRestful(t *testing.T) {
-	b := []byte(textDetail)
-	t.Log(UpLoadByRestful(restfulAddress, bucketID, txtFileName, b, false))
-}
-
-// restful方式下载
-func TestDownloadTextByRestful(t *testing.T) {
-	t.Log(DownloadByRestful(restfulAddress, bucketID, txtFileName))
-}
-
-// restful方式删除
-func TestDeleteByRestful(t *testing.T) {
-	t.Log(DeleteByRestful(restfulAddress, bucketID, txtFileName))
-}
-
-// restful方式获取标讯正文
-func TestGetBidDetailByRestful(t *testing.T) {
-	t.Log(GetBidDetailByRestful(restfulAddress, bucketID, txtFileId))
-}

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 15
client/client_rpc_test.go


+ 0 - 16
client/constant/constant.go

@@ -1,16 +0,0 @@
-package constant
-
-const (
-	UploadUrl           = "/ossservice/upload"
-	DownloadUrl         = "/ossservice/download"
-	DeleteUrl           = "/ossservice/delete"
-	GetBidDetailUrl     = "/ossservice/biddetail"
-	UploadSuccess       = "上传成功"
-	DownloadSuccess     = "下载成功"
-	DeleteSuccess       = "删除成功"
-	GetBidDetailSuccess = "获取正文成功"
-	UploadFail          = "上传失败:%v"
-	DownloadFail        = "下载失败:%v"
-	DeleteFail          = "删除失败:%v"
-	BidDetailFail       = "获取正文失败:%v"
-)

+ 0 - 14
client/entity/entity.go

@@ -1,14 +0,0 @@
-package entity
-
-// RPC相关结构体
-type UploadArgs struct {
-	Stream     []byte // 客户端将文件数据传递过来
-	Gzip       bool   //是否压缩
-	BucketID   string //桶id
-	ObjectName string //对象名称
-}
-
-type Args struct {
-	BucketID   string //桶id
-	ObjectName string //对象名称
-}

+ 0 - 5
client/go.mod

@@ -1,5 +0,0 @@
-module jygit.jydev.jianyu360.cn/BaseService/ossService/client
-
-go 1.20
-
-require app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa

+ 0 - 2
client/go.sum

@@ -1,2 +0,0 @@
-app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa h1:F45Yi0O0W7ezagpb4EWc57CGNoQ60HN3Ut7npO/sto4=
-app.yhyue.com/moapp/jybase v0.0.0-20250403014436-53740a2395aa/go.mod h1:OEtMbsn7wY/7MLgV7yDUpVDKExUoj3B8h+4w4ZckJQQ=

BIN
client/qie.jpeg


+ 0 - 0
server/config.json → config.json


+ 0 - 0
server/config/config.go → config/config.go


+ 2 - 2
server/go.mod → go.mod

@@ -1,4 +1,4 @@
-module jygit.jydev.jianyu360.cn/BaseService/ossService/server
+module jygit.jydev.jianyu360.cn/BaseService/ossService
 
 go 1.23.0
 
@@ -10,7 +10,7 @@ require (
 	github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible
 	github.com/go-redis/redis/v8 v8.11.5
 	gopkg.in/natefinch/lumberjack.v2 v2.2.1
-	jygit.jydev.jianyu360.cn/BaseService/ossService/client v0.0.0-20250415083706-9a011904ba1e
+	jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250415084929-bc2e49395095
 )
 
 require (

+ 2 - 2
server/go.sum → go.sum

@@ -719,8 +719,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-jygit.jydev.jianyu360.cn/BaseService/ossService/client v0.0.0-20250415083706-9a011904ba1e h1:UBIabvHRF7x0pmKiYtZTOh/ZnglySL+YCZBwk1Khsds=
-jygit.jydev.jianyu360.cn/BaseService/ossService/client v0.0.0-20250415083706-9a011904ba1e/go.mod h1:bgNRAdrcwyTbH6+hFuCMqAYOXKUzZX2SIY2Cj2HgFdk=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250415084929-bc2e49395095 h1:9E1+gKwtEXXzXbPmj4Dnz6wXTi2SD8ozpjQRGnh6p1I=
+jygit.jydev.jianyu360.cn/BaseService/ossClient v0.0.0-20250415084929-bc2e49395095/go.mod h1:YsGX4mWac558Q1oI/B4dPzySot308jV929LHiJERomg=
 k8s.io/api v0.26.3 h1:emf74GIQMTik01Aum9dPP0gAypL8JTLl/lHa4V9RFSU=
 k8s.io/api v0.26.3/go.mod h1:PXsqwPMXBSBcL1lJ9CYDKy7kIReUydukS5JiRlxC3qE=
 k8s.io/apimachinery v0.27.0-alpha.3 h1:uujqsdFrbqF+cEbqFHrkLKp+s3XxRgphTpc6Yg84qLo=

+ 0 - 0
server/logs/oss.log → logs/oss.log


+ 4 - 4
server/main.go → main.go

@@ -8,10 +8,10 @@ import (
 	"time"
 
 	"app.yhyue.com/moapp/jybase/endless"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/constant"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/config"
-	ossService "jygit.jydev.jianyu360.cn/BaseService/ossService/server/oss"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/util"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/constant"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/config"
+	ossService "jygit.jydev.jianyu360.cn/BaseService/ossService/oss"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/util"
 )
 
 func main() {

+ 2 - 2
server/oss/http.go → oss/http.go

@@ -9,8 +9,8 @@ import (
 
 	"app.yhyue.com/moapp/jybase/api"
 	. "app.yhyue.com/moapp/jybase/common"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/constant"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/util"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/constant"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/util"
 )
 
 /* restful方式上传

+ 1 - 1
server/oss/oss.go → oss/oss.go

@@ -11,7 +11,7 @@ import (
 
 	"app.yhyue.com/moapp/jybase/es"
 	ossSDK "github.com/aliyun/aliyun-oss-go-sdk/oss"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/config"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/config"
 )
 
 // bucketMap 用来缓存bucket配置,避免重复查询数据库

+ 2 - 2
server/oss/rpc.go → oss/rpc.go

@@ -7,8 +7,8 @@ import (
 	"log"
 
 	"app.yhyue.com/moapp/jybase/api"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/constant"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/client/entity"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/constant"
+	"jygit.jydev.jianyu360.cn/BaseService/ossClient/entity"
 )
 
 // OSSService 定义了RPC服务方法

+ 1 - 1
server/util/email.go → util/email.go

@@ -2,7 +2,7 @@ package util
 
 import (
 	. "bp.jydev.jianyu360.cn/BaseService/pushpkg/pusher"
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/config"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/config"
 )
 
 // SendEmailNotification 发送邮件通知给多个收件人

+ 1 - 1
server/util/heartbeat.go → util/heartbeat.go

@@ -6,7 +6,7 @@ import (
 	"log"
 	"time"
 
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/config"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/config"
 
 	"github.com/go-redis/redis/v8"
 )

+ 1 - 1
server/util/weixin.go → util/weixin.go

@@ -6,7 +6,7 @@ import (
 	"log"
 	"net/http"
 
-	"jygit.jydev.jianyu360.cn/BaseService/ossService/server/config"
+	"jygit.jydev.jianyu360.cn/BaseService/ossService/config"
 )
 
 type WeixinMessage struct {

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff