Browse Source

VIP校验

花田厝 3 months ago
parent
commit
95f27feaba

+ 129 - 2
jsjp-admin/src/main/java/com/miaxis/app/controller/userInfo/UserVipController.java

@@ -150,8 +150,8 @@ public class UserVipController extends BaseController {
                 vo.setSpSubject4Int(0);
             }
 
-            String sign = getSignInt(vo.getUserId(),vo.getSubject1(), vo.getSubject2(), vo.getSubject3(),vo.getSubject4(),vo.getSpSubject1(),vo.getSpSubject4(),
-                    vo.getSubject1Int(),vo.getSubject2Int(),vo.getSubject3Int(),vo.getSubject4Int(),vo.getSpSubject1Int(),vo.getSpSubject4Int());
+            String sign = getSignInt(vo.getUserId(),vo.getSubject1(), vo.getSubject2(), vo.getSubject3(),vo.getSubject4(),
+                    vo.getSubject1Int(),vo.getSubject2Int(),vo.getSubject3Int(),vo.getSubject4Int());
             vo.setSign(sign);
             return Response.success(vo);
         } else {
@@ -159,7 +159,92 @@ public class UserVipController extends BaseController {
         }
     }
 
+    /**
+     * 获取会员信息0-1表示2
+     * @return
+     */
+    @GetMapping(value = "/info2/{userId}")
+    @ApiOperation("获取会员信息0-1表示2")
+    public Response<UserVipTFVO> getUserVipUserId2(
+            @ApiParam(name = "userId", value = "会员信息参数", required = true)
+            @PathVariable("userId") Long userId
+    ) throws Exception {
+        UserVip userVip = userVipService.getUserVipByUserId(userId);
+        UserVipTFVO vo = new UserVipTFVO();
+        if (userVip != null) {
+            BeanUtils.copyProperties(userVip, vo);
+            Date now = new Date();
+            //科一
+            if(vo.getSubject1()!=null){
+                if(now.compareTo(vo.getSubject1())>0) {  //如果过期
+                    vo.setSubject1Int(0);
+                } else {
+                    vo.setSubject1Int(1);
+                }
+            } else {
+                vo.setSubject1Int(0);
+            }
+            //科二
+            if(vo.getSubject2()!=null){
+                if(now.compareTo(vo.getSubject2())>0) {  //如果过期
+                    vo.setSubject2Int(0);
+                } else {
+                    vo.setSubject2Int(1);
+                }
+            } else {
+                vo.setSubject2Int(0);
+            }
+            //科三
+            if(vo.getSubject3()!=null){
+                if(now.compareTo(vo.getSubject3())>0) {  //如果过期
+                    vo.setSubject3Int(0);
+                } else {
+                    vo.setSubject3Int(1);
+                }
+            } else {
+                vo.setSubject3Int(0);
+            }
+            //科四
+            if(vo.getSubject4()!=null){
+                if(now.compareTo(vo.getSubject4())>0) {  //如果过期
+                    vo.setSubject4Int(0);
+                } else {
+                    vo.setSubject4Int(1);
+                }
+            } else {
+                vo.setSubject4Int(0);
+            }
 
+            //科一特训包
+            if(vo.getSpSubject1()!=null){
+                if(now.compareTo(vo.getSpSubject1())>0) {  //如果过期
+                    vo.setSpSubject1Int(0);
+                } else {
+                    vo.setSpSubject1Int(1);
+                }
+            } else {
+                vo.setSpSubject1Int(0);
+            }
+
+            //科四特训包
+            if(vo.getSpSubject4()!=null){
+                if(now.compareTo(vo.getSpSubject4())>0) {  //如果过期
+                    vo.setSpSubject4Int(0);
+                } else {
+                    vo.setSpSubject4Int(1);
+                }
+            } else {
+                vo.setSpSubject4Int(0);
+            }
+
+            String sign = getSignInt(vo.getUserId(),vo.getSubject1(), vo.getSubject2(), vo.getSubject3(),vo.getSubject4(),vo.getSpSubject1(),vo.getSpSubject4(),
+                    vo.getSubject1Int(),vo.getSubject2Int(),vo.getSubject3Int(),vo.getSubject4Int(),vo.getSpSubject1Int(),vo.getSpSubject4Int());
+            vo.setSign(sign);
+            return Response.success(vo);
+        } else {
+            return Response.success(vo);
+        }
+    }
 
     /**
      * 删除会员信息
@@ -212,6 +297,7 @@ public class UserVipController extends BaseController {
 
     private String getSignInt(Long userId, Date subject1, Date subject2, Date subject3, Date subject4, Date spSubject1, Date spSubject4, Integer subject1Int, Integer subject2Int, Integer subject3Int, Integer subject4Int, Integer spSubject1Int, Integer spSubject4Int) throws Exception {
         String str = userId + "";
+        //VIP 套餐
         if (subject1 != null) {
             str += subject1.getTime() + "";
         }
@@ -262,4 +348,45 @@ public class UserVipController extends BaseController {
 
     }
 
+    private String getSignInt(Long userId, Date subject1, Date subject2, Date subject3, Date subject4,  Integer subject1Int, Integer subject2Int, Integer subject3Int, Integer subject4Int) throws Exception {
+        String str = userId + "";
+        //VIP 套餐
+        if (subject1 != null) {
+            str += subject1.getTime() + "";
+        }
+        if (subject2 != null) {
+            str += subject2.getTime() + "";
+        }
+        if (subject3 != null) {
+            str += subject3.getTime() + "";
+        }
+        if (subject4 != null) {
+            str += subject4.getTime() + "";
+        }
+        if (subject1Int != null) {
+            str += subject1Int + "";
+        }
+        if (subject2Int != null) {
+            str += subject2Int + "";
+        }
+        if (subject3Int != null) {
+            str += subject3Int + "";
+        }
+        if (subject4Int != null) {
+            str += subject4Int + "";
+        }
+
+
+        // 进行签名服务
+        Signature signature = Signature.getInstance("SHA256withRSA");
+        KeyFactory kf = KeyFactory.getInstance("RSA");
+        PrivateKey privateKey = kf.generatePrivate(new PKCS8EncodedKeySpec(Base64.getDecoder().decode(PrivateKeyUtil.rsaPrivateKey)));
+        signature.initSign(privateKey);
+        signature.update(str.getBytes("UTF-8"));
+        byte[] signedData = signature.sign();
+        return Base64.getEncoder().encodeToString(signedData);
+
+    }
+
+
 }