代码调整

This commit is contained in:
ziming 2025-08-21 11:29:11 +08:00
parent 7e782ee9f8
commit ec03b1b37d
3 changed files with 34 additions and 17 deletions

View File

@ -2,7 +2,7 @@ package internal
import ( import (
"context" "context"
"encoding/json" "encoding/base64"
"fmt" "fmt"
"gitea.cdlsxd.cn/sdk/plugin/proto" "gitea.cdlsxd.cn/sdk/plugin/proto"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -12,13 +12,14 @@ import (
var server = &AlipayCpnService{} var server = &AlipayCpnService{}
func config() []byte { func config() []byte {
c := &Config{ return []byte(`{"npk": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5sfDbw6kkHXeOSfr7RbrbkV7xHlNE8c5eXNI3ri+UCQLka9aehlnLhI2M1DkzSWFXvHuo5vHlC6set5j25nv+4AKevY1TgAPTMZQjNA3EMXinvBTZVCZnG6Cc3BN5jvAnt31NyTE9JsR5shFL9O6WTFED/WGUaM95kJfVeA1CwWkXUVV2kd1qU5KPAIHKMWsWiu9mSOBVZGd7NWwqfrZq33tiHmqYQ5LkS2JIno3qXukKm/2HIL+Ri1lw7s1c/xE6XalKPiroojK6zLLtrLa3LEGN833NWASrdGi4moYhAPHPZnhwsMr9FfUEsGSvwqdJlAbCtnIdbx3a6mV+sBRxQIDAQAB", "prk": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2cF2AxAJP/cQJGPcvzJ5Tt9AQnSzpncTo0sOsge07E9WOi8zIP772lm+ar0cjX9jx8Pf1fJ0hJuzqcsSikC/ZeFWNVmmG4crnwb1NzS/3Ymb22SVKqAjUyjgUkaMQEBRSBAYSTbzwLi9ziggiSvgaIZvUnpQWStcYzhPG91aF2q968vKMd3670b0WwCWSMmWW7dezyqMVikigJCvhSOBfC9A66MciiwtATLpiHBAsRr6IZQ6o9JeH7TPwwLW45QMOXR5VG0xuNj5/8dQmhZGtkckhYEC0v2DrjKkORdfbm4XcvsBsnVhcIVcDu1YkDZHYvhH45r7fUqYfKbgUHH9dAgMBAAECggEBAJUtundxT4bDNYpO3Mk8IvbH5h2/uBrrRDkxJomn0Ckvpb+itvfDkE4oYuf0jVHyrP3hEZCtrfqOzslCwWFAT7Aewq4Iy89cUEND25yDvMYns5QDqYercVU2abcAA3s9+q+51JEg+e7XhTuP0ejgrpEHjFnGtcaoucvxrqBSXXCjJu7l/R/O4gSctTKytTrkZ2vcbaUjVSsDIHE0qtzYinpHlUz8yzxTyhbI2ZHiLiZt3bQVbfPjKiu9H1VLcg4Ty38aP6g1c+nc0aanKiJSjlFWrka2dKB8EySYzt1yqSXHtsFc5BI7lopMTXlQ3f7eZljFt+/QjoGdD3LkRLGsZM0CgYEA74fZQjMeqqGGKxRH1vHkVBQ293VcLZxMh/62VROhWR2JU+UFYmP4zjtu+jnCMAb03kXFoyEJtEShcPoJmW/X5jIR7ukQYYTmlognPOHt4j8n1LP3AxF6m1qhfCPKjX+cbFoYebJtmR4u/pGQQcz6VgsaVTmPLEvBlJaW+C2fBWsCgYEAwvuanPWxHqWhUzGRXQWBOZC4tnS0R43xmnNOPjX0py/X/PwfDvYiMbuV9qRHoHu1dXQ/IfURpOJLp/ibqhTd7TRk6TwVtpnCZ4XJaXZ4wVnIFuH6d78nbEsQODtOwC82OscXvC+foymouM+7HfjXFYh597y+6f3khPQGoTP2+FcCgYBiffWz5tlBSFGm/RvdInHEsNs5PaS9jHtboDzRFtVNk3uYZ5+jKYBxLLchZQaYQQQHMaFmxnr7CQ1pKycvVHHuUcBWALefoco/M5UOz8fFNDrol2eGd3V20/l61iy/qi1j0FgoElpGj8a7Hpe2ttZo8v/M83IPwMbElndVbUzqKQKBgQCSvNlR8JEYWFv9iRs1n1PuJ5zrKw8VnpxJuScUKHTzcU0iBfe1wcRgGyUz1dRV0WPxfceZXZ6msOtxAObdbBDMWBbtdBt/LV4hnIzEgrVEBbZQikZ94ezgUell+DQ+7Ajq2TRimpCQMWTZmPPgDYqImQn5SCGBZWKaMC/hF4NwxwKBgASRF+xP/NUxj3G3TjRHMskFTgtOvzCChZgRXRuvIEd4zEZ1Y29sPSuTHFnJPVPfMDeGmcwPPVDGpMIumRXKJAO6hC9BtnivDnqjtCh16fzoimBeBlaGgg4KWfXT+7BTAPFzlKg4diHoa4Adc4JC+r9Xh++VAMUc3zvH4LWB+Oen", "app_id": "2021004125622196"}`)
AppId: "2021004125622196", //c := &Config{
Prk: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2cF2AxAJP/cQJGPcvzJ5Tt9AQnSzpncTo0sOsge07E9WOi8zIP772lm+ar0cjX9jx8Pf1fJ0hJuzqcsSikC/ZeFWNVmmG4crnwb1NzS/3Ymb22SVKqAjUyjgUkaMQEBRSBAYSTbzwLi9ziggiSvgaIZvUnpQWStcYzhPG91aF2q968vKMd3670b0WwCWSMmWW7dezyqMVikigJCvhSOBfC9A66MciiwtATLpiHBAsRr6IZQ6o9JeH7TPwwLW45QMOXR5VG0xuNj5/8dQmhZGtkckhYEC0v2DrjKkORdfbm4XcvsBsnVhcIVcDu1YkDZHYvhH45r7fUqYfKbgUHH9dAgMBAAECggEBAJUtundxT4bDNYpO3Mk8IvbH5h2/uBrrRDkxJomn0Ckvpb+itvfDkE4oYuf0jVHyrP3hEZCtrfqOzslCwWFAT7Aewq4Iy89cUEND25yDvMYns5QDqYercVU2abcAA3s9+q+51JEg+e7XhTuP0ejgrpEHjFnGtcaoucvxrqBSXXCjJu7l/R/O4gSctTKytTrkZ2vcbaUjVSsDIHE0qtzYinpHlUz8yzxTyhbI2ZHiLiZt3bQVbfPjKiu9H1VLcg4Ty38aP6g1c+nc0aanKiJSjlFWrka2dKB8EySYzt1yqSXHtsFc5BI7lopMTXlQ3f7eZljFt+/QjoGdD3LkRLGsZM0CgYEA74fZQjMeqqGGKxRH1vHkVBQ293VcLZxMh/62VROhWR2JU+UFYmP4zjtu+jnCMAb03kXFoyEJtEShcPoJmW/X5jIR7ukQYYTmlognPOHt4j8n1LP3AxF6m1qhfCPKjX+cbFoYebJtmR4u/pGQQcz6VgsaVTmPLEvBlJaW+C2fBWsCgYEAwvuanPWxHqWhUzGRXQWBOZC4tnS0R43xmnNOPjX0py/X/PwfDvYiMbuV9qRHoHu1dXQ/IfURpOJLp/ibqhTd7TRk6TwVtpnCZ4XJaXZ4wVnIFuH6d78nbEsQODtOwC82OscXvC+foymouM+7HfjXFYh597y+6f3khPQGoTP2+FcCgYBiffWz5tlBSFGm/RvdInHEsNs5PaS9jHtboDzRFtVNk3uYZ5+jKYBxLLchZQaYQQQHMaFmxnr7CQ1pKycvVHHuUcBWALefoco/M5UOz8fFNDrol2eGd3V20/l61iy/qi1j0FgoElpGj8a7Hpe2ttZo8v/M83IPwMbElndVbUzqKQKBgQCSvNlR8JEYWFv9iRs1n1PuJ5zrKw8VnpxJuScUKHTzcU0iBfe1wcRgGyUz1dRV0WPxfceZXZ6msOtxAObdbBDMWBbtdBt/LV4hnIzEgrVEBbZQikZ94ezgUell+DQ+7Ajq2TRimpCQMWTZmPPgDYqImQn5SCGBZWKaMC/hF4NwxwKBgASRF+xP/NUxj3G3TjRHMskFTgtOvzCChZgRXRuvIEd4zEZ1Y29sPSuTHFnJPVPfMDeGmcwPPVDGpMIumRXKJAO6hC9BtnivDnqjtCh16fzoimBeBlaGgg4KWfXT+7BTAPFzlKg4diHoa4Adc4JC+r9Xh++VAMUc3zvH4LWB+Oen", // AppId: "2021004125622196",
Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5sfDbw6kkHXeOSfr7RbrbkV7xHlNE8c5eXNI3ri+UCQLka9aehlnLhI2M1DkzSWFXvHuo5vHlC6set5j25nv+4AKevY1TgAPTMZQjNA3EMXinvBTZVCZnG6Cc3BN5jvAnt31NyTE9JsR5shFL9O6WTFED/WGUaM95kJfVeA1CwWkXUVV2kd1qU5KPAIHKMWsWiu9mSOBVZGd7NWwqfrZq33tiHmqYQ5LkS2JIno3qXukKm/2HIL+Ri1lw7s1c/xE6XalKPiroojK6zLLtrLa3LEGN833NWASrdGi4moYhAPHPZnhwsMr9FfUEsGSvwqdJlAbCtnIdbx3a6mV+sBRxQIDAQAB", // Prk: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2cF2AxAJP/cQJGPcvzJ5Tt9AQnSzpncTo0sOsge07E9WOi8zIP772lm+ar0cjX9jx8Pf1fJ0hJuzqcsSikC/ZeFWNVmmG4crnwb1NzS/3Ymb22SVKqAjUyjgUkaMQEBRSBAYSTbzwLi9ziggiSvgaIZvUnpQWStcYzhPG91aF2q968vKMd3670b0WwCWSMmWW7dezyqMVikigJCvhSOBfC9A66MciiwtATLpiHBAsRr6IZQ6o9JeH7TPwwLW45QMOXR5VG0xuNj5/8dQmhZGtkckhYEC0v2DrjKkORdfbm4XcvsBsnVhcIVcDu1YkDZHYvhH45r7fUqYfKbgUHH9dAgMBAAECggEBAJUtundxT4bDNYpO3Mk8IvbH5h2/uBrrRDkxJomn0Ckvpb+itvfDkE4oYuf0jVHyrP3hEZCtrfqOzslCwWFAT7Aewq4Iy89cUEND25yDvMYns5QDqYercVU2abcAA3s9+q+51JEg+e7XhTuP0ejgrpEHjFnGtcaoucvxrqBSXXCjJu7l/R/O4gSctTKytTrkZ2vcbaUjVSsDIHE0qtzYinpHlUz8yzxTyhbI2ZHiLiZt3bQVbfPjKiu9H1VLcg4Ty38aP6g1c+nc0aanKiJSjlFWrka2dKB8EySYzt1yqSXHtsFc5BI7lopMTXlQ3f7eZljFt+/QjoGdD3LkRLGsZM0CgYEA74fZQjMeqqGGKxRH1vHkVBQ293VcLZxMh/62VROhWR2JU+UFYmP4zjtu+jnCMAb03kXFoyEJtEShcPoJmW/X5jIR7ukQYYTmlognPOHt4j8n1LP3AxF6m1qhfCPKjX+cbFoYebJtmR4u/pGQQcz6VgsaVTmPLEvBlJaW+C2fBWsCgYEAwvuanPWxHqWhUzGRXQWBOZC4tnS0R43xmnNOPjX0py/X/PwfDvYiMbuV9qRHoHu1dXQ/IfURpOJLp/ibqhTd7TRk6TwVtpnCZ4XJaXZ4wVnIFuH6d78nbEsQODtOwC82OscXvC+foymouM+7HfjXFYh597y+6f3khPQGoTP2+FcCgYBiffWz5tlBSFGm/RvdInHEsNs5PaS9jHtboDzRFtVNk3uYZ5+jKYBxLLchZQaYQQQHMaFmxnr7CQ1pKycvVHHuUcBWALefoco/M5UOz8fFNDrol2eGd3V20/l61iy/qi1j0FgoElpGj8a7Hpe2ttZo8v/M83IPwMbElndVbUzqKQKBgQCSvNlR8JEYWFv9iRs1n1PuJ5zrKw8VnpxJuScUKHTzcU0iBfe1wcRgGyUz1dRV0WPxfceZXZ6msOtxAObdbBDMWBbtdBt/LV4hnIzEgrVEBbZQikZ94ezgUell+DQ+7Ajq2TRimpCQMWTZmPPgDYqImQn5SCGBZWKaMC/hF4NwxwKBgASRF+xP/NUxj3G3TjRHMskFTgtOvzCChZgRXRuvIEd4zEZ1Y29sPSuTHFnJPVPfMDeGmcwPPVDGpMIumRXKJAO6hC9BtnivDnqjtCh16fzoimBeBlaGgg4KWfXT+7BTAPFzlKg4diHoa4Adc4JC+r9Xh++VAMUc3zvH4LWB+Oen",
} // Npk: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5sfDbw6kkHXeOSfr7RbrbkV7xHlNE8c5eXNI3ri+UCQLka9aehlnLhI2M1DkzSWFXvHuo5vHlC6set5j25nv+4AKevY1TgAPTMZQjNA3EMXinvBTZVCZnG6Cc3BN5jvAnt31NyTE9JsR5shFL9O6WTFED/WGUaM95kJfVeA1CwWkXUVV2kd1qU5KPAIHKMWsWiu9mSOBVZGd7NWwqfrZq33tiHmqYQ5LkS2JIno3qXukKm/2HIL+Ri1lw7s1c/xE6XalKPiroojK6zLLtrLa3LEGN833NWASrdGi4moYhAPHPZnhwsMr9FfUEsGSvwqdJlAbCtnIdbx3a6mV+sBRxQIDAQAB",
marshal, _ := json.Marshal(c) //}
return marshal //marshal, _ := json.Marshal(c)
//return marshal
} }
func TestConfig(t *testing.T) { func TestConfig(t *testing.T) {
@ -30,15 +31,16 @@ func TestConfig(t *testing.T) {
} }
func TestOrder(t *testing.T) { func TestOrder(t *testing.T) {
// 5Y8JyDe7GDmxxpNa
request := &proto.OrderRequest{ request := &proto.OrderRequest{
Config: config(), Config: config(),
Order: &proto.OrderRequest_Order{ Order: &proto.OrderRequest_Order{
OrderNo: "240403164049635931", OrderNo: "202507291411243510013587",
Account: "", Account: "18043057911",
Extra: []byte(`{"logon_id":"13100720242"}`), Extra: []byte(`{"logon_id":"18043057911"}`),
}, },
Product: &proto.OrderRequest_Product{ Product: &proto.OrderRequest_Product{
ProductNo: "3102024032977191_11", ProductNo: "ACT673CCV03194025",
Extra: []byte(`{}`), Extra: []byte(`{}`),
}, },
} }
@ -57,10 +59,11 @@ func TestQuery(t *testing.T) {
request := &proto.QueryRequest{ request := &proto.QueryRequest{
Config: config(), Config: config(),
Order: &proto.QueryRequest_Order{ Order: &proto.QueryRequest_Order{
OrderNo: "240403180614988314_80", OrderNo: "202507291411243510013587",
TradeNo: "", TradeNo: "",
Account: "", Account: "18043057911",
Extra: []byte(`{"phone_id":"","logon_id":"13691105465","activity_id":"ACT873CCV02108400"}`), //Extra: []byte(`{"phone_id":"","logon_id":"13691105465","activity_id":"ACT873CCV02108400"}`),
Extra: []byte(`{"phone_id":"","logon_id":"18043057911","activity_id":"ACT673CCV03194025"}`),
}, },
} }
t.Run("TestQuery", func(t *testing.T) { t.Run("TestQuery", func(t *testing.T) {
@ -92,3 +95,19 @@ func TestNotify(t *testing.T) {
assert.Equal(t, int(proto.Status_SUCCESS), int(got.Result.Status)) assert.Equal(t, int(proto.Status_SUCCESS), int(got.Result.Status))
}) })
} }
func TestBytes(t *testing.T) {
// Base64 编码的字节数据
//byteData := []byte("eyJhbGlwYXlfdXNlcl9kdGJhbmtjdXN0X2NoYW5uZWx2b3VjaGVyX3NlbmRfcmVzcG9uc2UiOnsiY29kZSI6IjQwMDA0IiwibXNnIjoiQnVzaW5lc3MgRmFpbGVkIiwic3ViX2NvZGUiOiJCVURHRVRfTk9UX0VOT1VHSCIsInN1Yl9tc2ciOiLmtLvliqjpooTnrpfkuI3otrMiLCJhY3Rpdml0eV9vcmRlcl9pZCI6IiIsImFjdGl2aXR5X2lkIjoiIiwic2VuZF9zdGF0dXMiOiJGQUlMRUQiLCJkaXNjb3VudF90eXBlIjoiIiwiZGlzY291bnRfdGhyZXNob2xkX2FtdCI6MCwiZGlzY291bnRfdmFsdWUiOjAsInNlbmRfYW1vdW50IjowLCJ2b3VjaGVyX2lkIjoiIn19")
byteData := []byte("eyJsb2dvbl9pZCI6IjE4MDQzMDU3OTExIn0=")
// 解码 Base64
decodedData, err := base64.StdEncoding.DecodeString(string(byteData))
if err != nil {
fmt.Println("解码错误:", err)
return
}
// 将解码后的数据转为字符串
str := string(decodedData)
// 输出结果
fmt.Println(str)
}

View File

@ -82,7 +82,6 @@ func TestQuery(t *testing.T) {
Extra: nil, Extra: nil,
}, },
} }
t.Logf("%+v\n", c)
t.Run("TestQuery", func(t *testing.T) { t.Run("TestQuery", func(t *testing.T) {
got, err := srv.Query(context.Background(), request) got, err := srv.Query(context.Background(), request)
if err != nil { if err != nil {

View File

@ -82,7 +82,6 @@ func TestQuery(t *testing.T) {
func TestNotify(t *testing.T) { func TestNotify(t *testing.T) {
bodyBytes := []byte(`{"tradeStatus":"SUCCESS","orderNo":"C2169720720874659840","tradeStateDesc":"成功","cards":[{"no":"RpHWw3cEhiRW764pFoKVHKRypwZg8Txf0YAW8dE+F7lsrkoUKaAlkYL549lRWp+Q","pwd":"","url":"hei8pdKAWO7aiFHPmtZWg1iTupwk3oXV8QH7IVBtUpoPhFt6wksIiN034wbbe9sOo8Wpl7iOXUVSd50mJdwDknUi8BpitNpODfjjiTt7vTk=","deadline":"2025-09-30 00:00:00","cardType":3}],"mchId":25891,"outTradeNo":"202504031355308910010048","rechargeAccount":"","attach":"","unitPrice":27}`) bodyBytes := []byte(`{"tradeStatus":"SUCCESS","orderNo":"C2169720720874659840","tradeStateDesc":"成功","cards":[{"no":"RpHWw3cEhiRW764pFoKVHKRypwZg8Txf0YAW8dE+F7lsrkoUKaAlkYL549lRWp+Q","pwd":"","url":"hei8pdKAWO7aiFHPmtZWg1iTupwk3oXV8QH7IVBtUpoPhFt6wksIiN034wbbe9sOo8Wpl7iOXUVSd50mJdwDknUi8BpitNpODfjjiTt7vTk=","deadline":"2025-09-30 00:00:00","cardType":3}],"mchId":25891,"outTradeNo":"202504031355308910010048","rechargeAccount":"","attach":"","unitPrice":27}`)
headerBytes := []byte(`{"Accept-Encoding":["gzip"],"Authorization":["a4decf2803323a023d187578f85f4d21"],"Connection":["close"],"Content-Length":["442"],"Content-Type":["application/json"],"Lsxd-Api-Proxy":["v2"],"Lsxd-From-System":["card"],"Lsxd-Signature":["bc0eb734101796c5bd1fe72472b406a4"],"Lsxd-Timestamp":["1743659731"],"User-Agent":["Go-http-client/1.1"],"X-Envoy-Attempt-Count":["1"],"X-Forwarded-Client-Cert":["By=spiffe://cluster.local/ns/gopro/sa/default;Hash=4798784d2ecd4218a4b71b4d08737f9714e2dbd508446d916b2999fd22d5811c;Subject=\"\";URI=spiffe://cluster.local/ns/card/sa/default"],"X-Forwarded-For":["112.124.3.46"],"X-Forwarded-Proto":["http"],"X-Real-Ip":["112.124.3.46"],"X-Remoteaddr":["172.18.0.1"],"X-Request-Id":["eab52927-95c8-4e64-9f5c-8a5f2aa339c1"]}`) headerBytes := []byte(`{"Accept-Encoding":["gzip"],"Authorization":["a4decf2803323a023d187578f85f4d21"],"Connection":["close"],"Content-Length":["442"],"Content-Type":["application/json"],"Lsxd-Api-Proxy":["v2"],"Lsxd-From-System":["card"],"Lsxd-Signature":["bc0eb734101796c5bd1fe72472b406a4"],"Lsxd-Timestamp":["1743659731"],"User-Agent":["Go-http-client/1.1"],"X-Envoy-Attempt-Count":["1"],"X-Forwarded-Client-Cert":["By=spiffe://cluster.local/ns/gopro/sa/default;Hash=4798784d2ecd4218a4b71b4d08737f9714e2dbd508446d916b2999fd22d5811c;Subject=\"\";URI=spiffe://cluster.local/ns/card/sa/default"],"X-Forwarded-For":["112.124.3.46"],"X-Forwarded-Proto":["http"],"X-Real-Ip":["112.124.3.46"],"X-Remoteaddr":["172.18.0.1"],"X-Request-Id":["eab52927-95c8-4e64-9f5c-8a5f2aa339c1"]}`)
in := &proto.NotifyRequest{ in := &proto.NotifyRequest{
Config: config(), Config: config(),
Queries: nil, Queries: nil,