Commit babfff41 authored by chenchao.deng's avatar chenchao.deng

对腾讯云api

parent f41957ad
......@@ -195,10 +195,16 @@
<version>5.0.13</version>
</dependency>
<!--腾讯云 云服务器ECS api -->
<!-- <dependency>-->
<!-- <groupId>com.tencentcloudapi</groupId>-->
<!-- <artifactId>tencentcloud-sdk-java</artifactId>-->
<!-- <version>3.1.830</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.830</version>
<version>3.1.1091</version>
</dependency>
</dependencies>
......
......@@ -7,42 +7,31 @@ public class CloudamAlipayConfig extends AlipayConfig{
@Override
public String getAPPID() {
return "2019071765790965";
return "2021004169642053";
}
@Override
public String getAPP_PRIVATE_KEY() {
return "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDU+npZLO6AoKN" +
"lQBO/3gOMTJEeOBDV5zRdvkrMUBq8R5r5phzkq2T2lxg5gMnZx6Lk/NZ0evSntMG" +
"PzKXFEmVdBKRuqQvQ7gaZNeWA494sCP76dEDPREcvs7qcP7xTuK9/FTqPQH3iUEA" +
"058N03/edQGdv1HLi3BmTYdp2ywZQsb0hqGu6/pPYCLnwSprBdWv1nG3zstcBEmK" +
"PYNKipzy0LpHiGB445XO0EJWV/XK6t1knDKrC6FFiFfxuLy3fHy37jjFW2TxZLSc" +
"ROGs0Py+w9saxIJ1n7jGJqHCQmyuNgPKtelYy1jpbdXIX/2bhW1ck4dOCF8j37Gc" +
"cGZR+c3nAgMBAAECggEASFW1FDe0zzfKvT/mw1qcTTUu1milNIsnifKzR6mPn4r3" +
"pyHYZ0R0f4KoH0JO/LKVfz8lKagx2ufyYifZRlW/Alff4JPr5Y0AitW5eNaMtTcV" +
"vF7UhoyA39JRskRyRU7fbVga4jwBlHgB2JqGFoqymeFe3dpSIjzbPSeM9Ei0Rg3s" +
"hIv+An/U2optO29ggsC0hXyHWXLupaMwbIpBTOHDiFzxW7z4ZxUH1jAL0jvQxuNN" +
"YEY8vAcvJAlz4iab5x2vlEn00crfhE+kwO6f+0Am7spDKjkjsVX8mioD+J/VozZk" +
"517zz5EF66DdtD5i9LdLIGBsWjagbINtVrH7KWqlgQKBgQDzWxlOMpjsP/WFk0L5" +
"ic7HJvflbz+hCJAyQlDAy43Ls8nVYIkeTk2Umae+uSbkMga2N83LN4e1FRNGDjGB" +
"JNDHtzAF3aAwPXS+PDwLGDrgQ44KN8aw/1dt0W9TiBVLHOhAjqPO4UqW0wkgSwNh" +
"HqeuR1GwLyp5IueFZxX/YhNT4QKBgQDNef0W6fDhhcsxyLm5dDL+LuenE1omas74" +
"zNKPaR7yQpZOxqdJYXEI6nrJ1vTUOLa1nqT1/n8kgLNDASRQH5NFQfSizRG07tij" +
"3NLto8DD89h82y7IbY1Rz38FH3Mf+W7soKMKo6tQb7oHOZm2uDTlSpe25neDSJeI" +
"kL+JsEbaxwKBgQCkAOYJ/DFxLh2CGt+NGqF/N7TjK9k+5m1/YY/YjpYODSldowRl" +
"pzHDjtYsw80BBvHdBbisVs0fbYeis9gLB8uofL1hhp35RMGTnzZ756VuFDj6i+Jc" +
"0IiUWwviyJhJGb8wGrEssEo7YRgKamNppWYuHqRfzzmZj7tl/TYm+Wq7IQKBgBFo" +
"NDisuOtiGkStbI55eZhvAND2orx+b+pD79KWZTjAy1sBGUruJlVLB/vxaexQoanh" +
"NrhgRwUgog8bGahwBFnprH/eP5HEajX3jybyqHHxRnXNW7k/DqnPmkMk1uvuhacm" +
"NKnCE9FMpcXW616/XDvQhenIvHcyvyOin5dah6YhAoGASANVYkA4JX3cTXzDvlzh" +
"5l/afal++mv6Ld2TH/3aeg2CBh2HzNIUBCr/SQFpqOjQf6L2lpftDPIbtDB7ogVv" +
"roAgSIXPlz+TK9rgMRI/uzWTP4J164r2UBs5aT5N5Y6hArL7ce1+1QemCsevFRTP" +
"tHwdG2+8KyXqSWp4eyFmBFs=";
return "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTiRoS+HcBGhxMKGmkJlktf+HRRErZYDw0KV8T6ub5HczH/YQ3LkTKyEhZxvcTngavL/"
+ "iNZQoFAtQbXBHDVH8L7qlS09+ouBmezZ9ijrX6XahNpoZwWPm+7Ua6rQB/8g+ZS/GQJUzez8RngPP2A00803oYLap+iA+tV+lAr1OKmvRBpKSRb7oUfY7tvHf/"
+ "nRgM9KH1mlWbxEavtrZm+8VBSMcx33v+ePWTn1Pp9sqFV/yMPxY9rOBcWIrdb0kuynILS371Do3jT9IgtYe8p0ShLtbWbJkt4gTBC/nVmE8kzH+I0uWmAHJw8QUj"
+ "ysalSwFMsyvybvcK4rvq2x2Pi0t9AgMBAAECggEAZc9Bn/+315nWFzP4Gp+gAIb0JP30jOcdBH3cL5l1REmtLAElQRL7w9fMHa/whqgRQslewuwLqwOVrT+uvlVLy"
+ "scqL48oE3zfqTeKGnAS4i/JWbRlp5eu2HNS0LVb1+8JlqbSjr8+ua80gJx7PbRvk174LUEuG1z3PI6i1tFmXAmf6yloYvhdrf4CqCuZJ/mP3hDs4qnRmbhw/Rb7z9p"
+ "ImLVGxKUxZkaDUvchGKcKrsyl76GA/y8DEIj3j/2GWSzZLh0LuDN3ZJQS4DZ0ZxOGw15TB2Us0XiC1TBlu8si1td0WGI1k4q716bucE9Bp/ODkln1D0EoF7JkShZyWzg"
+ "TXQKBgQDFvy0PjjlAuFHgcK1ihygL60gIxZ5vGu+KG8K5gf8jDqk5Rqj507YvXmWbqax5CyRUOL6KhVD/fk3ddsuzb74JSRO8GS1o7WvcCiyDBteGP8syObYBBDTf0Jz6N"
+ "Nq1ANkamZSxgt6MUGdQrx1X4FpzSXYA17RbFtrf/JaLRdFNQwKBgQC+/0869jkgDQsFodh64eGuOu1g32JzpZuLMSXQGmqk//HbScMMmvco2iwg2ULd9nGxgY3eA/kTvdmK"
+ "/ByoRPieJ7pS0ryP83Qq9M699J240/bzrNbQMAgEguq71ewt8yS+ATk4+ntj/9aGMjOGyTZi7M8HLOu8RqlD35SDbNkYPwKBgGW+j7jJPLwIGliYoR1o3ToEvPOGepZADa"
+ "/JyM8aC+RFztwhdx/TxpFoyG7nRk6hZPfQmnk7TwmmOvoP/Y89l1G/v9+wNKUgQ7bbpTtlcc8pU6tr9jFfsLTX6WzzdPRck1gUXWVYKJmZZQ8mirqEPQXEbmrQkYOspsFIfUz"
+ "7h01xAoGBALdugcxRvuk+PZCqMDtMBq+LHoGD6IzCxxC2IeesBzHyMXh2beIETk0ow2rE3chIsEZW80X/MM657Vzi5i7hFpjl9LcodzoVCUNcG9YpQPTKdYjvPNty1bBnf0Lo"
+ "n8w9kNL+X9OOFMUkZwY43m2bfyUg42+zv67xegyahIp4FkOHAoGACv7HiBADC9SUJ4J4D2+sQhuNRWzCyvT0b7MZyiC7G0t3ch3pjL8asWtk8ZR1bSQurMPuUqGdeix5xD4Nx"
+ "b4ZbhA8gxr2K9TvmVan2Not/L0GgvFULj4l1mli5wjzmli9WJIfcD23FjJ0Dz1w7pcXPzSw4pK3bTsandp0LDf3rrs=";
}
@Override
public String getALIPAY_PUBLIC_KEY() {
return "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkXY3UcHC2Eu4X0Ggf36Kz94aag+nGoBhIjcyXADTCsqYpKLenWC/RzgzbipFKOur+Z8AyxK9pk4Z/B5NlMuSsNM+D4cHdRl21qZszXlygTNIxOnl+tGdlbxjEmlIqwuhSFZRAz7/zhAQ0Rto/1mz+DNmHvhXpXY91xVMLetWXkIKQR+D5IXtAXVkssHevRMiMhMrlazw9Gn1vS+8iKy+Op9G7o9M2LvNiKv0HNOIhvoMqntdPCFWgGNuXMPoobsfkD8dFQs2GzuERgWs+maBQuHWXkghk4RoMYCjS0wKvm8zxJVfHmQ6yApcM676R1pRpJrMzX+LTQINm3UQCaCxKwIDAQAB";
return "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlryO1G3TVb9mRVS08U19s1ydhyfLzy5xk6bFW2Jwkr9jD5TqkpjgI3ZYykz1VkgFxASHUo8+6tHjoOfhtul0MyDbtU8"
+ "/XrXr6spGRGRsHbxTiRj4wflKJHXFwZHM3Bq+5jV8m5SOlHXx62PkTCk8BJsrwYT06CZz3VH8M72JYiZu05Zm8AMKYjKmsmLdzCozL4PB7ztPWmGvLe+5Nc0As2urLBgfX7XGWHju"
+ "k8VsZaxQaVSn4z7cr4eP9iijmqJJXBFhtQLqzMjtlBRqqFn0kvUHiPg/ndEXq8TEVqN0uaSDdIZ+LPrIVvMnmcyaHKBn1fHQHNNaho9B/5PwHMYumQIDAQAB";
}
@Override
......
......@@ -7,43 +7,31 @@ public class VpsAlipayConfig extends AlipayConfig{
@Override
public String getAPPID() {
return "2019091967616095";
return "2021004169642053";
}
@Override
public String getAPP_PRIVATE_KEY() {
return "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQi9PVnyGA+r1Q"+
"Fu08beA/oGX1FBBWMl6A1e7LydbpFutHY2gtLszQquM2CnfR6cS+p2lhNLRO1al9" +
"LO26NR7F+UEbj0ieo1HLss8jS8qpmIcMjWdYYvEbiK19lEW0aYO2tgDKj+JGtvru" +
"L9mBZnr4quuQPa8gBb07DbJ+GsXBNWfRyz3YjVKfzwbU85azu72Gh/cRvqX6Zcbk" +
"1nlbfvHkhGTv/JkTQBT3ilo2bhPffFyArI20gwA0a9zAGr4h31QOl6Sw6mv3q8ed" +
"u4vBl0vVAAKiQJW1e52thLuJ5tflZToqnk5A7QdwqfCe8mksA3V/97+T04bUzINn" +
"QhFK4Q/JAgMBAAECggEAbN0BONt33t+FIaDGOKxWyoANmTDfEk/62yBSJpl3kXfA" +
"XCS9RhDPJAKA1z4BrFdut+Omc/LSSPDqKAjjFDgUl131KdDTJNS2pzHxRUiUQ5H2" +
"tYu/LfmASVJA1nQnKvWFp0Q9B4Cyqx1rwhjCXvVDLjny+/nnSD0WuhP9YCzTnHY1" +
"U7djStrlHmVmiIrHlSV4Myul0Y7AWy2r7X/f43eSra1UP8J2KmN7IYD1nW19Fkdn" +
"uDnXXDLcctnZ5toMjMbikjzvKyMW8HnPyG5aHztJlJWQ33tpAZBkAIWZ4/4KuVLa" +
"zt6MPUXPEw7urWHVg1cqKprAlShVL5G6mCD2AJ6mPQKBgQD8Iv9GqYmaeW4NBQYn" +
"jInoDYaHU2VUwYXwuNjqm7IgVgf6VHqJ5aj5EA+gClpzH6HzLvuEEZ5D4XTlpbHa" +
"AN8h3aMo2lryEB8Cv/6uMjMYRFkuuMCVc1XaAsjTxJhO1qwsW4/IkWIoM7uGMD74" +
"5zGvWg12QQuMPV7sVXT0XCrxFwKBgQDTvdjdu3QdIWYUaiRIkF/8e+6+finFZ0Dt" +
"aaTnZ6mDSGaBwGqOSt+woOB61Vkl/EoaLpPGW0mKmhSlAnrD04LmB1LNt16W39RN" +
"5mjVxBdHIkyWUcQAq46kNYvPJ6BGJkZiRW1eOrXfw0fTBQPb3X1Na2cWBzvT4+tw" +
"Am1Sjv/SHwKBgQDkCKLnvZ194CTwEYMncaun+9OXwIz8wqnotMU6KeZH6Ib+mDjb" +
"TqIr36LCE5sKU6mczvka0PRaYCXhLKJVkEQ91L4jzJhEJOBnFE26LhyX7fjakK1c" +
"fRtAORR4sm0toGnHFGhN9W7Y/TC0hB3v7ui4trFGKj3PcBHRnNhRyKntsQKBgGR2" +
"xEnYYixcJ2nyPorrbY+HYeyiQcF2zziWEnb1GVm/5VsU57nhzqaofjnptmWugZ5Q" +
"kS7hK1CG8NqmBYeaeJYZzXDr2wZs5vebJgyfAIhwvrPn0b6bp49EFLTSUVpXWLfR" +
"xyWZZ6fmqNJ3o7ATNBuipQOvpPRRROkdTa+JR9nzAoGBAJV4ejLCkgllaGr7IISK" +
"YgYNicZKqzNtJ7JTxYsH7pylNHC8eo63S+xNv5xCUp85vjHGQXbp+HY3HeEqzkRn" +
"PS7gkR0Q9tpdX03xREkWodj0GchdjwRgSlHK9W30x00pccv0iDlxSrGJUVLTqFlu" +
"fCu0gOJ91NfpFLX9bP1YN29V";
return "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTiRoS+HcBGhxMKGmkJlktf+HRRErZYDw0KV8T6ub5HczH/YQ3LkTKyEhZxvcTngavL/"
+ "iNZQoFAtQbXBHDVH8L7qlS09+ouBmezZ9ijrX6XahNpoZwWPm+7Ua6rQB/8g+ZS/GQJUzez8RngPP2A00803oYLap+iA+tV+lAr1OKmvRBpKSRb7oUfY7tvHf/"
+ "nRgM9KH1mlWbxEavtrZm+8VBSMcx33v+ePWTn1Pp9sqFV/yMPxY9rOBcWIrdb0kuynILS371Do3jT9IgtYe8p0ShLtbWbJkt4gTBC/nVmE8kzH+I0uWmAHJw8QUj"
+ "ysalSwFMsyvybvcK4rvq2x2Pi0t9AgMBAAECggEAZc9Bn/+315nWFzP4Gp+gAIb0JP30jOcdBH3cL5l1REmtLAElQRL7w9fMHa/whqgRQslewuwLqwOVrT+uvlVLy"
+ "scqL48oE3zfqTeKGnAS4i/JWbRlp5eu2HNS0LVb1+8JlqbSjr8+ua80gJx7PbRvk174LUEuG1z3PI6i1tFmXAmf6yloYvhdrf4CqCuZJ/mP3hDs4qnRmbhw/Rb7z9p"
+ "ImLVGxKUxZkaDUvchGKcKrsyl76GA/y8DEIj3j/2GWSzZLh0LuDN3ZJQS4DZ0ZxOGw15TB2Us0XiC1TBlu8si1td0WGI1k4q716bucE9Bp/ODkln1D0EoF7JkShZyWzg"
+ "TXQKBgQDFvy0PjjlAuFHgcK1ihygL60gIxZ5vGu+KG8K5gf8jDqk5Rqj507YvXmWbqax5CyRUOL6KhVD/fk3ddsuzb74JSRO8GS1o7WvcCiyDBteGP8syObYBBDTf0Jz6N"
+ "Nq1ANkamZSxgt6MUGdQrx1X4FpzSXYA17RbFtrf/JaLRdFNQwKBgQC+/0869jkgDQsFodh64eGuOu1g32JzpZuLMSXQGmqk//HbScMMmvco2iwg2ULd9nGxgY3eA/kTvdmK"
+ "/ByoRPieJ7pS0ryP83Qq9M699J240/bzrNbQMAgEguq71ewt8yS+ATk4+ntj/9aGMjOGyTZi7M8HLOu8RqlD35SDbNkYPwKBgGW+j7jJPLwIGliYoR1o3ToEvPOGepZADa"
+ "/JyM8aC+RFztwhdx/TxpFoyG7nRk6hZPfQmnk7TwmmOvoP/Y89l1G/v9+wNKUgQ7bbpTtlcc8pU6tr9jFfsLTX6WzzdPRck1gUXWVYKJmZZQ8mirqEPQXEbmrQkYOspsFIfUz"
+ "7h01xAoGBALdugcxRvuk+PZCqMDtMBq+LHoGD6IzCxxC2IeesBzHyMXh2beIETk0ow2rE3chIsEZW80X/MM657Vzi5i7hFpjl9LcodzoVCUNcG9YpQPTKdYjvPNty1bBnf0Lo"
+ "n8w9kNL+X9OOFMUkZwY43m2bfyUg42+zv67xegyahIp4FkOHAoGACv7HiBADC9SUJ4J4D2+sQhuNRWzCyvT0b7MZyiC7G0t3ch3pjL8asWtk8ZR1bSQurMPuUqGdeix5xD4Nx"
+ "b4ZbhA8gxr2K9TvmVan2Not/L0GgvFULj4l1mli5wjzmli9WJIfcD23FjJ0Dz1w7pcXPzSw4pK3bTsandp0LDf3rrs=";
}
@Override
public String getALIPAY_PUBLIC_KEY() {
return "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhwIiSpdHHs7XgZyNiSA++/usN6Sg2IKLlEUhfy89yig9GSGyb2p/VW7Ei4/5IuG9hM0yQx9bM28VDMj/KO0Y5VCcOgrVB11UhfdwpLx8JQXB9u9x0gf/q/wovdxBgqtStLuQ98vveID2O/nf+PluWfq/90EgiQs16fi91b7H150fHr3ra8HHTuvCMKGBck3QUURrRp9OdQaa/vPQjuEyVUNUyX9B9HRdn4PkigI/5rrxjVt4r/jvSOR2MhgBo0QKIm4lCxNibumAHN/w+mewjmoTu77X14bn80V1xPjTRfRohyuW1t0pOcPIpiV7FmlQB0T6uzKZ8I3vVg4l0SxfdQIDAQAB";
return "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlryO1G3TVb9mRVS08U19s1ydhyfLzy5xk6bFW2Jwkr9jD5TqkpjgI3ZYykz1VkgFxASHUo8+6tHjoOfhtul0MyDbtU8"
+ "/XrXr6spGRGRsHbxTiRj4wflKJHXFwZHM3Bq+5jV8m5SOlHXx62PkTCk8BJsrwYT06CZz3VH8M72JYiZu05Zm8AMKYjKmsmLdzCozL4PB7ztPWmGvLe+5Nc0As2urLBgfX7XGWHju"
+ "k8VsZaxQaVSn4z7cr4eP9iijmqJJXBFhtQLqzMjtlBRqqFn0kvUHiPg/ndEXq8TEVqN0uaSDdIZ+LPrIVvMnmcyaHKBn1fHQHNNaho9B/5PwHMYumQIDAQAB";
}
@Override
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=utf-8&method=alipay.trade.page.pay&sign=QSc3QsyyBSvtRWHrvD0eoUxRxMb080CUde5BowfoPaUZyVmwXtAGFiKN8DCspxOB7D1I1cbhWZkUcP%2FRAJ8xmnxg7Cqnp84tyO3%2FbmigYWoqD2frlPzdIDOt6%2Fg5NU%2FltVa%2F2LOoTnMVdhVeBgzlJ9vfFTQXvjaNofufN0Y3b%2F7Lxu7AqOk%2BhJtV%2BzWtSLO5C1zf5%2BhIyV%2Fmx86gBBFFdZ4Lv1iTSdxuRNOC6U15GoOq0BZGYlr9kIaE%2BbztC9y%2F72c%2FUP98hXGWRYG0p5iiNpNe2Dq3StuDgzFrlkpYPG4uu7l5%2B%2Fth3%2Bem0ivPDgWj4iu2DO92tnAFXhMVufQtzA%3D%3D&return_url=https%3A%2F%2Fwww.fangguanlian.cn%2Fweb%2FpaySuccess.html%3Falipayreturn%3D202409112024253737&notify_url=https%3A%2F%2Fwww.cloudam.cn%2Faccounts%2F0xalipaycallback%2F202409112024253737&version=1.0&app_id=2021004169642053&sign_type=RSA2&timestamp=2024-09-11+20%3A24%3A28&alipay_sdk=alipay-sdk-java-3.7.110.ALL&format=json">
<input type="hidden" name="biz_content" value="{&quot;out_trade_no&quot;:&quot;202409112024253737&quot;,&quot;product_code&quot;:&quot;FAST_INSTANT_TRADE_PAY&quot;,&quot;total_amount&quot;:&quot;100.00&quot;,&quot;subject&quot;:&quot;订单202409112024253737&quot;,&quot;body&quot;:&quot;&quot;}">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>document.forms[0].submit();</script>
</body>
</html>
\ No newline at end of file
......@@ -31,4 +31,8 @@ public class CloudPlatformConfig {
private String usableArea;//可用区
private String imageId; //镜像id
private String keyId; //镜像id
}
......@@ -18,9 +18,17 @@ public class ReceptionPlatformOptions {
private String platform;//平台
private String platformDesc;//平台描述
private String url;//网址
private int platformType;//平台类型: 1:全球开店 2:亚马逊站点
private String url1;//网址
private String url2;//网址
private String url3;//网址
private int platformType;//平台类型: 1:全球开店 2:亚马逊站点 3.网址导航
private int childType;//子类型
......
......@@ -5,14 +5,12 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;
import java.util.List;
public interface LoginHistoryRepository extends MongoRepository<LoginHistory, String> {
LoginHistory findFirstByUsername(String username);
Page<LoginHistory> findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime(String administrator, long time, Pageable pageable);
Page<LoginHistory> findByAdministratorAndLoginTimeGreaterThanOrderByLoginTimeDesc(String administrator, long time, Pageable pageable);
Page<LoginHistory> findByUsernameAndLoginTimeGreaterThanOrderByLoginTime(String username, long time, Pageable pageable);
Page<LoginHistory> findByUsernameAndLoginTimeGreaterThanOrderByLoginTimeDesc(String username, long time, Pageable pageable);
int countByUsername(String username);
}
......@@ -96,9 +96,9 @@ public class HistoryServiceImpl implements HistoryService {
Page<LoginHistory> loginHistoryPage;
long time = Instant.now().atZone(ZoneOffset.UTC).minusDays(historyListRequestDto.getDay()).toInstant().toEpochMilli();
if (account.getParent() == null) {
loginHistoryPage = loginHistoryRepository.findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime(username, time, pageable);
loginHistoryPage = loginHistoryRepository.findByAdministratorAndLoginTimeGreaterThanOrderByLoginTimeDesc(username, time, pageable);
} else {
loginHistoryPage = loginHistoryRepository.findByUsernameAndLoginTimeGreaterThanOrderByLoginTime(username, time, pageable);
loginHistoryPage = loginHistoryRepository.findByUsernameAndLoginTimeGreaterThanOrderByLoginTimeDesc(username, time, pageable);
}
List<LoginHistoryDto> loginHistoryDtoList = new ArrayList<>();
......
package com.edgec.browserbackend.common.client;
import com.alibaba.fastjson.JSON;
import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import com.edgec.browserbackend.browser.domain.CloudPlatformConfig;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.utils.Aes;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.cvm.v20170312.CvmClient;
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse;
import com.tencentcloudapi.cvm.v20170312.models.DescribeZonesRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeZonesResponse;
import com.tencentcloudapi.cvm.v20170312.models.InstanceChargePrepaid;
import com.tencentcloudapi.cvm.v20170312.models.LaunchTemplate;
import com.tencentcloudapi.cvm.v20170312.models.LoginSettings;
import com.tencentcloudapi.cvm.v20170312.models.ModifyInstancesChargeTypeRequest;
import com.tencentcloudapi.cvm.v20170312.models.ModifyInstancesChargeTypeResponse;
import com.tencentcloudapi.cvm.v20170312.models.Placement;
import com.tencentcloudapi.cvm.v20170312.models.RenewInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.RenewInstancesResponse;
import com.tencentcloudapi.cvm.v20170312.models.RunInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.RunInstancesResponse;
import com.tencentcloudapi.cvm.v20170312.models.TerminateInstancesRequest;
import com.tencentcloudapi.cvm.v20170312.models.TerminateInstancesResponse;
import com.tencentcloudapi.cvm.v20170312.models.ZoneInfo;
import com.tencentcloudapi.lighthouse.v20200324.LighthouseClient;
import com.tencentcloudapi.lighthouse.v20200324.models.Command;
import com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesRequest;
import com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesResponse;
import com.tencentcloudapi.lighthouse.v20200324.models.DockerContainerConfiguration;
import com.tencentcloudapi.lighthouse.v20200324.models.LoginConfiguration;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Random;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
/**
......@@ -71,6 +91,18 @@ public class TenCentEcsClient {
return new CvmClient(cred, regionId, clientProfile);
}
private static LighthouseClient createLightHouseClient(String regionId) {
Credential cred = new Credential(getSecretId(), getSecretKey());
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("lighthouse.tencentcloudapi.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
return new LighthouseClient(cred, regionId, clientProfile);
}
/**
* 创建并运行实例
*/
......@@ -88,7 +120,7 @@ public class TenCentEcsClient {
LoginSettings loginSettings = new LoginSettings();
loginSettings.setKeyIds(Collections.singletonList("skey-j9n2x0pl").toArray(new String[0]));
runInstancesRequest.setLoginSettings(loginSettings);
log.info("调用TenCentEcs创建并运行实例,入参:owner:{},regionId:{}", owner, config.getRegionId());
log.info("调用TenCentEcs创建并运行实例,入参:owner:{},regionId:{}, request{}", owner, config.getRegionId(), JSON.toJSON(runInstancesRequest));
runInstancesResponse = cvmClient.RunInstances(runInstancesRequest);
log.info("调用TenCentEcs创建并运行实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(runInstancesResponse));
......@@ -188,9 +220,75 @@ public class TenCentEcsClient {
response = cvmClient.RenewInstances(req);
log.info("调用TenCentEcs续费实例,响应参数:owner:{},response:{}", owner, JSON.toJSON(response));
} catch (Exception e) {
log.error("fail to TenCentEcs runInstances {}", e.getMessage());
log.error("fail to TenCentEcs renewInstance {}", e.getMessage());
}
return response;
}
/**
* 创建轻量级应用服务器
*/
public static CreateInstancesResponse createInstances(String owner, String username,
String password, CloudPlatformConfig config) {
LighthouseClient cvmClient = createLightHouseClient(config.getRegionId());
CreateInstancesResponse createInstancesResponse = null;
String userData = String.format(getUserData(), username, password, username);
try {
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateInstancesRequest req = new CreateInstancesRequest();
//TODO 暂时写死
req.setBundleId("bundle_starter_nmc_lin_med2_01");
req.setBlueprintId(config.getImageId());
com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid instanceChargePrepaid =
new com.tencentcloudapi.lighthouse.v20200324.models.InstanceChargePrepaid();
instanceChargePrepaid.setPeriod(1L);
req.setInstanceChargePrepaid(instanceChargePrepaid);
LoginConfiguration loginSettings = new LoginConfiguration();
loginSettings.setKeyIds(
Collections.singletonList(config.getKeyId()).toArray(new String[0]));
req.setLoginConfiguration(loginSettings);
Command command = new Command();
command.setContent(Aes.base64Encode(userData.getBytes()));
req.setInitCommand(command);
//TODO 暂时写死
req.setFirewallTemplateId("lhft-46ceryhz");
// 返回的resp是一个CreateInstancesResponse的实例,与请求对象对应
log.info("调用TenCentEcs创建并运行轻量级实例,入参:owner:{},regionId:{}, request{}",
owner, config.getRegionId(), JSON.toJSON(req));
createInstancesResponse = cvmClient.CreateInstances(req);
log.info("调用TenCentEcs创建并运行轻量级实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(createInstancesResponse));
} catch (Exception e) {
log.error("fail to tenCentEcs createInstances {}", e.getMessage());
}
return createInstancesResponse;
}
/**
* 查询轻量级应用服务器
*/
public static com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse getDescribeInstancesLight(
String owner,
String instanceId, String regionId) {
LighthouseClient cvmClient = createLightHouseClient(regionId);
// 返回的resp是一个DescribeInstancesResponse的实例,与请求对象对应
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesResponse describeInstancesResponse = null;
try {
com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesRequest req =
new com.tencentcloudapi.lighthouse.v20200324.models.DescribeInstancesRequest();
String[] instanceIds = {"" + instanceId + ""};
req.setInstanceIds(instanceIds);
log.info("调用TenCentEcs查询单个轻量级实例,入参:owner:{},regionId:{},instanceId:{}",
owner, regionId, instanceId);
describeInstancesResponse = cvmClient.DescribeInstances(req);
log.info("调用TenCentEcs查询单个轻量级实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(describeInstancesResponse));
} catch (Exception e) {
log.error("fail to TenCentEcs getDescribeInstancesLight {}", e.getMessage());
}
return describeInstancesResponse;
}
}
......@@ -28,7 +28,7 @@ public class FGLWxConfig extends WXPayConfig {
@Override
public InputStream getCertStream() {
return getClass().getResourceAsStream("/certs/fangguanlian_cert.p12");
return getClass().getResourceAsStream("/certs/apiclient_cert.p12");
}
@Override
......
......@@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>1</title>
<script src="https://www.kuaitux.com/web/js/plugin/jq.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
......
......@@ -15,11 +15,24 @@ import com.edgec.browserbackend.common.client.AliEcsClient;
import com.edgec.browserbackend.common.client.TenCentEcsClient;
import com.edgec.browserbackend.common.commons.utils.SmsUtils;
import com.edgec.browserbackend.common.utils.Aes;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.lighthouse.v20200324.LighthouseClient;
import com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesRequest;
import com.tencentcloudapi.tat.v20201028.models.Command;
import java.time.Instant;
import javax.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.lighthouse.v20200324.LighthouseClient;
import com.tencentcloudapi.lighthouse.v20200324.models.*;
@SpringBootTest
class BrowserBackendApplicationTests {
......@@ -40,21 +53,22 @@ class BrowserBackendApplicationTests {
receptionPlatformOptions.setUrl("https:www.dhgate.com");
receptionPlatformOptions.setPictureUrl("https://ip-image.oss-rg-china-mainland.aliyuncs.com/app_image/app_image/dhgate.png");
receptionPlatformOptions.setWeight(100);
repository.save(receptionPlatformOptions);
//repository.save(receptionPlatformOptions);
}
@Test
void buyEcsTest() throws Exception {
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId("tenCent",
"ap-guangzhou");
"ap-tokyo");
//browserTask.queryIpNewTasks();
//AliEcsClient.runInstances("111","ceshi11","2222",config);
//AliEcsClient.getDescribeInstances("测试","i-wz9hf0i13xj6h904k14p","cn-shenzhen");
//DeleteInstanceResponse response = AliEcsClient.deleteInstance("测试", "i-j6cd9fujd6we3dzk8z9e","cn-hongkong");
//AliEcsClient.modifyInstanceChargeType("18711016574","Week",1,"cn-hongkong", "i-j6cd9fujd6we3dzk8z9e");
//TenCentEcsClient.runInstances("111","ceshi11","2222",config);
TenCentEcsClient.deleteInstance("111","ins-nws56gg8","ap-guangzhou");
//TenCentEcsClient.createInstances("111","ceshi11","2222",config);
//TenCentEcsClient.getDescribeInstancesLight("测试","lhins-psgtwyeb","ap-tokyo");
//TenCentEcsClient.deleteInstance("111","ins-nws56gg8","ap-guangzhou");
}
@Resource
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment