njs 1 рік тому
батько
коміт
3b3e543734

+ 9 - 2
suishenbang-api/src/test/java/test/MyTest.java

@@ -19,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
 
@@ -52,8 +54,13 @@ public class MyTest {
     /*   String certificateUrl="/profile/pdf/2023/04/13/0584202872.pdf";
         String orders="6107665807";
         esignSignService.tmsCertificate(orders, certificateUrl);*/
-        String name="gujing.sm";
-        System.out.println(DESencode("gujing.sm","SSB2023BMD"));
+        String name="http%3A%2F%2Fwww.baidu.com";
+       String i=URLDecoder.decode(name, "UTF-8");
+        System.out.println(i);
+        String filePath = URLEncoder.encode(name,"utf-8");  //java转码
+        //name= new String(name.getBytes("ISO8859-1"),"UTF-8");
+        System.out.println(filePath);
+        System.out.println(DESencode("niujinsheng.sm","SSB2023BMD"));
         System.out.println(DESdecode("C0D8A1C91E39CE7BD9D07949AC4F08E7","SSB2023BMD"));
         //base64进行加密解密,通常用作对二进制数据进行加密
      /*   byte[] base64Encrypt = EnDecoderUtil.base64Encrypt(name);

+ 9 - 5
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/WxController.java

@@ -30,6 +30,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -572,25 +574,27 @@ public class WxController extends ApiBaseController {
             @ApiImplicitParam(name = "params" , paramType = "body")
     })
     @PostMapping("/getUserBmdByNameAndToken")
-    public Object getUserBmdByNameAndToken(){
+    public Object getUserBmdByNameAndToken() throws UnsupportedEncodingException {
         ParameterObject obj =  getParameterObject();
         obj.checkParameterNotNull("token");
         String token = obj.getString("token");
-        String callbackUrl = obj.getString("callbackUrl");
+        String url = obj.getString("callbackUrl");
+        String callbackUrl = URLDecoder.decode(url, "UTF-8");
+        logger.info("收到BMD跳转信息令牌和回调:"+token+callbackUrl);
         Map result=new HashMap();
         if(callbackUrl !=null && !("").equals(callbackUrl) ){
             result.put("callbackUrl", callbackUrl);
         }
         if(token ==null || ("").equals(token) ){
-            return AjaxResult.error(303,"无识别令牌",result);
+            return AjaxResult.error(303,"BMD无识别令牌",result);
         }
         String name=DESdecode(token,"SSB2023BMD");
         if(name==null || ("").equals(name)){
-            return AjaxResult.error(302,"查无此人",result);
+            return AjaxResult.error(302,"BMD查无此人",result);
         }
         SysUser user = sysUserService.selectUserByLoginName(name);
         if(user==null){
-            return AjaxResult.error(302,"查无此人",result);
+            return AjaxResult.error(302,"BMD查无此人",result);
         }
        // String pass = EncryptPassWordClass.encryptPassword(user.getLoginName(),user.getLoginName(),user.getSalt());
         List<Ztree>  author = sysUserOrderAuthorService.userAuthorTreeDataFmt(user.getUserId());