ソースを参照

Merge remote-tracking branch 'origin/master'

Joburgess 5 年 前
コミット
dd07d87e00

BIN
mec-biz/src/main/resources/config/certificate/yqpay.pfx


+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -22,7 +22,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 
 	@Override
 	public void configure(HttpSecurity http) throws Exception {
-		http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs", "/register/findSubByMusicGroupId", "/register/add","/musicGroup/test","musicGroup/getSubjectGoodsAndInfo").permitAll().anyRequest().authenticated().and().httpBasic();
+		http.csrf().disable().authorizeRequests().antMatchers("/v2/api-docs", "/register/findSubByMusicGroupId", "/register/add","musicGroup/getSubjectGoodsAndInfo","/musicGroup/test").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 9 - 11
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.util.string.IdWorker;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -92,7 +93,7 @@ public class MusicGroupController extends BaseController {
     @ApiOperation(value = "乐团报名支付")
     @PostMapping("/pay")
     @ApiImplicitParams({@ApiImplicitParam(name = "registerPayDto", value = "支付信息", required = true, dataType = "Integer")})
-    public HttpResponseResult pay(@RequestBody RegisterPayDto registerPayDto) {
+    public HttpResponseResult pay(@RequestBody RegisterPayDto registerPayDto) throws Exception {
 
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         Integer userId = sysUser.getId();
@@ -137,16 +138,13 @@ public class MusicGroupController extends BaseController {
         if (amount.compareTo(orderAmount) != 0) {
             return failed("商品价格不符");
         }
-        Map<String, Object> rqMap = new LinkedHashMap<String, Object>();
-        rqMap.put("merNo", "07654478");
-        rqMap.put("version", "v1");
-        rqMap.put("notifyUrl", "https://notify.cpm");
-        rqMap.put("timestamp", new Date().getTime());
-        rqMap.put("apiContent", "ap");
-        rqMap.put("signType", "signType");
-        rqMap.put("sign", "sign");
-        rqMap.put("payUrl", "http://pay.url");
-        return succeed(rqMap);
+
+        IdWorker idWorker = new IdWorker(0, 0);
+        String orderNo = idWorker.nextId();
+
+        Map payMap = payService.getPayMap(orderAmount,orderNo,"https://pay.dayaedu.com/yqpay/notify","http://dev.dayaedu.com","测试订单","测试订单");
+
+        return succeed(payMap);
     }
 
     @GetMapping("/test")

+ 4 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/yqpay/CFCARAUtil.java

@@ -6,6 +6,7 @@ import cfca.sadk.lib.crypto.JCrypto;
 import cfca.sadk.system.FileHelper;
 import cfca.sadk.util.*;
 import cfca.sadk.x509.certificate.X509Cert;
+import org.hibernate.validator.internal.util.privilegedactions.GetClassLoader;
 import org.springframework.core.io.ClassPathResource;
 
 import javax.crypto.spec.SecretKeySpec;
@@ -49,7 +50,8 @@ public class CFCARAUtil {
     public static String signMessageByP1(String message, String pfxPath, String passWord) throws Exception{
        // File file = new ClassPathResource(pfxPath).getFile();
 
-        PrivateKey userPriKey = KeyUtil.getPrivateKeyFromPFX(new ClassPathResource(pfxPath).getInputStream(), passWord);
+
+        PrivateKey userPriKey = KeyUtil.getPrivateKeyFromPFX(CFCARAUtil.class.getClassLoader().getResourceAsStream(pfxPath), passWord);
         Signature signature = new Signature();
         byte[] base64P7SignedData = signature.p1SignMessage(Mechanism.SHA256_RSA, message.getBytes("UTF-8"), userPriKey, session);
         return new String(base64P7SignedData);
@@ -65,7 +67,7 @@ public class CFCARAUtil {
      */
     public static boolean verifyMessageByP1(String beforeSignedData, String afterSignedData, String certPath) throws Exception{
         //File file = new ClassPathResource(certPath).getFile();
-        X509Cert cert = new X509Cert(new ClassPathResource(certPath).getInputStream());
+        X509Cert cert = new X509Cert(CFCARAUtil.class.getClassLoader().getResourceAsStream(certPath));
         PublicKey publicKey = cert.getPublicKey();
         Signature signature = new Signature();
         return signature.p1VerifyMessage(Mechanism.SHA256_RSA, beforeSignedData.getBytes("UTF-8"), afterSignedData.getBytes("UTF-8"), publicKey, session);

BIN
mec-thirdparty/src/main/resources/config/certificate/sq_formal_sign.cer


BIN
mec-thirdparty/src/main/resources/config/certificate/yqpay.cer


BIN
mec-thirdparty/src/main/resources/config/certificate/yqpay.pfx


+ 12 - 0
pom.xml

@@ -295,6 +295,18 @@
 				<artifactId>git-commit-id-plugin</artifactId>
 				<version>2.2.5</version>
 			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-resources-plugin</artifactId>
+				<configuration><encoding>UTF-8</encoding>
+					<!-- 过滤后缀为pem、pfx的证书文件 -->
+					<nonFilteredFileExtensions>
+						<nonFilteredFileExtension>cer</nonFilteredFileExtension>
+						<nonFilteredFileExtension>pem</nonFilteredFileExtension>
+						<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
+					</nonFilteredFileExtensions>
+				</configuration>
+			</plugin>
 		</plugins>
 	</build>