shenhao 4 سال پیش
والد
کامیت
12166af2dd

+ 8 - 0
src/main/java/com/ssj/framework/core/security/manager/TokenManager.java

@@ -350,4 +350,12 @@ public interface TokenManager {
      * @param expireSeconds 新过期时间
      */
     void refreshExpireTime(String key, int expireSeconds);
+
+    /**
+     * 将一个或者多个元素添加到集合
+     * @param key
+     * @param value
+     * @return
+     */
+    Long sadd(String key ,String... value);
 }

+ 5 - 0
src/main/java/com/ssj/framework/core/security/manager/impl/RedisTokenManager.java

@@ -791,4 +791,9 @@ public class RedisTokenManager implements TokenManager {
     public void refreshExpireTime(String key, int expireSeconds) {
         jedisPool.expire(key, expireSeconds);
     }
+
+    @Override
+    public Long sadd(String key,String... value){
+        return jedisPool.sadd(key,value);
+    }
 }

+ 47 - 6
src/main/java/com/ssj/weixin/api/activity/BrandActivityController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.ssj.bean.weixin.user.domain.User;
+import com.ssj.framework.basic.utils.DateHelper;
 import com.ssj.framework.core.common.controller.BaseController;
 import com.ssj.framework.core.security.annotation.IgnoreSecurity;
 import com.ssj.framework.core.security.manager.TokenManager;
@@ -18,14 +19,13 @@ import com.ssj.weixin.api.activity.vo.SignUpBase;
 import com.ssj.weixin.api.activity.vo.SignUpVO;
 import io.swagger.annotations.Api;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.formula.functions.Now;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ConcurrentModificationException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
 
 /**
  * @author sh
@@ -118,8 +118,8 @@ public class BrandActivityController extends BaseController {
             return responseEntity.success(data,"成功");
         }
         //检查剩余名额
-        int configNum = tokenManager.get("activity_num_limit",int.class);
-        int nowNum = tokenManager.get("activity_num_now",int.class);
+        int configNum = tokenManager.get("activity_num_limit"+req.getType(),int.class);
+        int nowNum = tokenManager.get("activity_num_now"+req.getType(),int.class);
         if(nowNum>=configNum){
             return responseEntity.failure("您好,名额已满!");
         }
@@ -142,6 +142,47 @@ public class BrandActivityController extends BaseController {
     }
 
     @IgnoreSecurity
+    @RequestMapping(value="/limitCheck",method = RequestMethod.POST)
+    public ResponseEntity limitCheck(String type){
+        ResponseEntity responseEntity = new ResponseEntity();
+        Map<String,Object> data = new HashMap<>();
+        int configNum = tokenManager.get("activity_num_limit"+type,int.class);
+        int nowNum = tokenManager.get("activity_num_now"+type,int.class);
+        if(configNum>nowNum){
+            data.put("state","1");
+        }else{
+            data.put("state","2");
+        }
+        responseEntity.success(data,"获取成功!");
+        return   responseEntity;
+    }
+    @IgnoreSecurity
+    @RequestMapping(value="/viewAdd",method = RequestMethod.POST)
+    public ResponseEntity viewAdd(){
+        ResponseEntity responseEntity = new ResponseEntity();
+        Map<String,Object> data = new HashMap<>();
+        //ip_时间
+        String value = getIpAddr(request).concat(DateHelper.format(new Date(),"yyyyMMddHHmmss"));
+        tokenManager.sadd("other_activity_202104",value);
+        responseEntity.success(data,"获取成功!");
+        return   responseEntity;
+    }
+
+    public String getIpAddr(HttpServletRequest request) {
+        String ip = request.getHeader("x-forwarded-for");
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+        return ip;
+    }
+    
+    @IgnoreSecurity
     @RequestMapping(value="/initQrCode",method = RequestMethod.POST)
     public ResponseEntity initQrCode(){
         ResponseEntity responseEntity = new ResponseEntity();

+ 1 - 0
src/main/java/com/ssj/weixin/interceptor/SetControlDataInterceptor.java

@@ -55,6 +55,7 @@ public class SetControlDataInterceptor extends HandlerInterceptorAdapter {
 	        notCheckURLList.add("/weixin/payment/pay_vip_callback.html");
 	        notCheckURLList.add("/weixin/payment/order_alipay_callback.html");
 	        notCheckURLList.add("/weixin/libVip/msgType.html");
+	        notCheckURLList.add("/weixin/question/wxjssdk");
 
 	        
 	        needZuoybURLList.add("/weixin/zuoyb/saveZybList");

+ 2 - 0
src/main/java/com/ssj/weixin/question/controller/QuestionController.java

@@ -7,6 +7,7 @@ import com.ssj.framework.weixin.util.SHA1Util;
 import com.ssj.framework.weixin.util.WeixinUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -33,6 +34,7 @@ public class QuestionController extends BaseController{
      * @param url
      * @return
      */
+	@CrossOrigin
     @RequestMapping(value = "/wxjssdk", method = RequestMethod.POST)
     @ResponseBody
     public ResponseEntity wxjssdk( String url ) {

+ 2 - 2
src/main/resources/templates/weixin/vip/serviceVipBuy.html

@@ -157,13 +157,13 @@
 		});
 		mui("div.panelbttom").on('tap','.txt-tiaokuan #a1',function(){
             $("#tt").html("小塾学伴平台用户协议");
-		    $("#f1").attr("src","http://aikmt.sharingschool.com/H5/agreement/AJCustomerServiceAgreement.html");
+		    $("#f1").attr("src","https://aikmt.sharingschool.com/H5/agreement/AJCustomerServiceAgreement.html");
 
 			$('.js_dialog').show('fast');
 		});
 		mui("div.panelbttom").on('tap','.txt-tiaokuan #a2',function(){
             $("#tt").html("小塾学伴平台隐私政策");
-            $("#f1").attr("src","http://aikmt.sharingschool.com/H5/agreement/SSJPrivacyPolicy.html");
+            $("#f1").attr("src","https://aikmt.sharingschool.com/H5/agreement/SSJPrivacyPolicy.html");
 			$('.js_dialog').show('fast');
 		});
 		mui("body").on('tap','.dc-mask, .Top_close',function(){