Commit d762facd authored by hezhen's avatar hezhen

123

parent d17303d8
...@@ -6,6 +6,9 @@ import lombok.Data; ...@@ -6,6 +6,9 @@ import lombok.Data;
@Data @Data
public class UserInfo { public class UserInfo {
private String unionid;
private String openId; private String openId;
private String nickname;
private String headimgurl;
private String sex;
} }
...@@ -3,6 +3,9 @@ package com.xxfc.platform.summit.biz; ...@@ -3,6 +3,9 @@ package com.xxfc.platform.summit.biz;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.summit.entity.ActivityBm; import com.xxfc.platform.summit.entity.ActivityBm;
import com.xxfc.platform.summit.mapper.ActivityBmMapper;; import com.xxfc.platform.summit.mapper.ActivityBmMapper;;
import com.xxfc.platform.summit.vo.MeepoActivityVo; import com.xxfc.platform.summit.vo.MeepoActivityVo;
...@@ -12,6 +15,7 @@ import org.springframework.beans.BeanUtils; ...@@ -12,6 +15,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
...@@ -26,17 +30,29 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> { ...@@ -26,17 +30,29 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
private RedisTemplate userRedisTemplate; private RedisTemplate userRedisTemplate;
//用户报名
public void userBm(ActivityBm activityBm,Integer meepoUserId)throws Exception{ public ObjectRestResponse userBm(ActivityBm activityBm,Integer meepoUserId)throws Exception{
if (activityBm==null||meepoUserId==null||meepoUserId==0){ if (activityBm==null||meepoUserId==null||meepoUserId==0){
log.info("-----activityBm==="+activityBm+"-------meepoUserId==="+meepoUserId+"-----为空"); log.info("-----activityBm==="+activityBm+"-------meepoUserId==="+meepoUserId+"-----为空");
return; return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"参数不能为空");
}
Integer activityId=activityBm.getActivityId();
log.info("-----activityBm==="+JSONObject.toJSONString(activityBm)+"-------meepoUserId==="+meepoUserId+"----activityId==="+activityId);
if (activityId==null||activityId==0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"活动不存在");
}
Example example =new Example(ActivityBm.class);
example.createCriteria().andEqualTo("meepoUserId",meepoUserId).andEqualTo("activityId",activityId).andEqualTo("isDel",0);
List<ActivityBm> list=mapper.selectByExample(example);
if (list.size()>0){
log.info("----用户已报名---meepoUserId==="+meepoUserId);
return ObjectRestResponse.createFailedResult(ResultCode.EXIST_CODE,"用户已报名");
} }
log.info("-----activityBm==="+JSONObject.toJSONString(activityBm)+"-------meepoUserId==="+meepoUserId);
activityBm.setMeepoUserId(meepoUserId); activityBm.setMeepoUserId(meepoUserId);
insertSelective(activityBm); insertSelective(activityBm);
log.info("-----用户报名成功----bmId===="+activityBm.getId()); log.info("-----用户报名成功----bmId===="+activityBm.getId());
return ObjectRestResponse.succ();
} }
//获取小程序峰会活动 //获取小程序峰会活动
...@@ -59,4 +75,5 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> { ...@@ -59,4 +75,5 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
} }
} }
...@@ -15,10 +15,10 @@ import com.xxfc.platform.summit.vo.MeepoActivityVo; ...@@ -15,10 +15,10 @@ import com.xxfc.platform.summit.vo.MeepoActivityVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mockito.internal.util.collections.Sets; import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.List; import java.util.List;
...@@ -78,6 +78,7 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -78,6 +78,7 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
List<User> uses=mapper.selectByExample(example); List<User> uses=mapper.selectByExample(example);
if (uses.size()>0){ if (uses.size()>0){
userId=uses.get(0).getId(); userId=uses.get(0).getId();
user.setId(userId);
}else { }else {
user.setWeId(weId); user.setWeId(weId);
user.setRId(rId); user.setRId(rId);
...@@ -86,7 +87,6 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -86,7 +87,6 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
} }
return userId; return userId;
} }
public void authUser(String code,String key, HttpServletRequest request){ public void authUser(String code,String key, HttpServletRequest request){
if (StringUtils.isBlank(code)){ if (StringUtils.isBlank(code)){
log.info("----code为空---"); log.info("----code为空---");
...@@ -157,6 +157,27 @@ public class UserBiz extends BaseBiz<UserMapper, User> { ...@@ -157,6 +157,27 @@ public class UserBiz extends BaseBiz<UserMapper, User> {
} }
} }
//获取缓存
public User getSession(HttpServletRequest request){
try {
HttpSession session = request.getSession();
String frontSessionValue1 = (String) session.getAttribute(frontSessionKey);
if (StringUtils.isBlank(frontSessionValue1)) {
return null;
}
JSONObject jsonObject=JSONObject.parseObject(frontSessionValue1);
User user=new User();
BeanUtils.copyProperties(jsonObject,user);
return user;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
......
package com.xxfc.platform.summit.controller; package com.xxfc.platform.summit.controller;
import cn.hutool.core.codec.Base64;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.summit.biz.ActivityBiz; import com.xxfc.platform.summit.biz.ActivityBmBiz;
import com.xxfc.platform.summit.entity.Activity; import com.xxfc.platform.summit.biz.UserBiz;
import com.xxfc.platform.summit.entity.ActivityBm; import com.xxfc.platform.summit.entity.ActivityBm;
import com.xxfc.platform.summit.entity.User; import com.xxfc.platform.summit.entity.User;
import com.xxfc.platform.summit.pojo.ActivityQuery; import org.springframework.beans.factory.annotation.Autowired;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/** /**
* @author Administrator * @author Administrator
*/ */
@RestController @RestController
@RequestMapping("/activity") @RequestMapping("front/activity")
public class ActivityBmController extends BaseController<ActivityBiz, Activity> { public class ActivityBmController extends BaseController<ActivityBmBiz,ActivityBm> {
@PostMapping("/list") @Autowired
public ObjectRestResponse getList(@RequestBody ActivityQuery query ){ UserBiz userBiz;
return ObjectRestResponse.succ(baseBiz.getList(query));
}
@Override @PostMapping("/bm")
@PutMapping ("/update") public ObjectRestResponse bm(@RequestBody ActivityBm activityBm, HttpServletRequest request){
public ObjectRestResponse update(@RequestBody Activity activity ){ User user=userBiz.getSession(request);
if (baseBiz.update(activity)) { try {
return ObjectRestResponse.succ(); return baseBiz.userBm(activityBm,user.getId());
} }catch (Exception e){
e.printStackTrace();
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
}
/* *//** /* *//**
* 微信浏览器获取用户信息 * 微信浏览器获取用户信息
* @param code * @param code
......
package com.xxfc.platform.summit.interceptor;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.util.UserAgentUtil;
import com.xxfc.platform.summit.biz.UserBiz;
import com.xxfc.platform.summit.constant.RedisKey;
import com.xxfc.platform.summit.entity.User;
import com.xxfc.platform.summit.service.WeixinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
;
/**
* 微信登陆拦截器
*
* @author
*
*/
@Slf4j
public class ActivityInterceoptor extends HandlerInterceptorAdapter {
@Autowired
WeixinService weixinService;
@Autowired
UserBiz userBiz;
@Autowired
private RedisTemplate userRedisTemplate;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String curr_domain = request.getServerName();
log.info("curr_domain:" + curr_domain);
log.info("address:" + request.getRequestURL().toString());
log.info("params:" + request.getQueryString());
boolean isWx = UserAgentUtil.isWexinBrowser(request);
if (isWx) {
//session里面获取用户信息
User user=userBiz.getSession(request);
if (user!=null){
return true;
}
String redisKey=redisBmInfo(request);
Map<String,Object> result=new HashMap<>();
JSONObject json = new JSONObject();
if (StringUtils.isNotBlank(redisKey)){
json.put("key",redisKey);
}
json.put("url","https://dev.dfangche.com/api/summit/auth/app/unauth/wxLogin?redirec_url=https://dev.dfangche.com/h5/appHtml/view/wxh5/index.html");
result.put("data",json);
result.put("status",1001);
response.getWriter().write(result.toString());
return false;
}
return true;
}
//获取body的参数并放入redis
public String redisBmInfo(HttpServletRequest request)throws Exception{
request.setCharacterEncoding("UTF-8");
StringBuffer jb = new StringBuffer();
String line = null;
try
{
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
}
catch (Exception e)
{
e.printStackTrace();
}
String redisLockKey=null;
if (StringUtils.isNotBlank(jb)){
redisLockKey= RedisKey.CONSTANT_CODE_PREFIX + UUID.randomUUID();
Boolean suc = userRedisTemplate.opsForValue().setIfAbsent(redisLockKey, jb);
if (suc) {
userRedisTemplate.expire(redisLockKey, 5, TimeUnit.MINUTES);//5分钟内过期
}
}
return redisLockKey;
}
}
...@@ -6,7 +6,9 @@ import javax.servlet.http.HttpServletRequest; ...@@ -6,7 +6,9 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import com.github.wxiaoqi.security.common.util.UserAgentUtil; import com.github.wxiaoqi.security.common.util.UserAgentUtil;
import com.xxfc.platform.summit.biz.UserBiz;
import com.xxfc.platform.summit.constant.RedisKey; import com.xxfc.platform.summit.constant.RedisKey;
import com.xxfc.platform.summit.entity.User;
import com.xxfc.platform.summit.service.WeixinService; import com.xxfc.platform.summit.service.WeixinService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;; import org.apache.commons.lang3.StringUtils;;
...@@ -29,14 +31,13 @@ import java.util.concurrent.TimeUnit; ...@@ -29,14 +31,13 @@ import java.util.concurrent.TimeUnit;
@Slf4j @Slf4j
public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter { public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
/**
* 微信公众号自动登陆令牌的url参数名
*/
public static final String frontSessionKey = "frontWeixKey";
@Autowired @Autowired
WeixinService weixinService; WeixinService weixinService;
@Autowired
UserBiz userBiz;
@Autowired @Autowired
private RedisTemplate userRedisTemplate; private RedisTemplate userRedisTemplate;
...@@ -45,7 +46,6 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter { ...@@ -45,7 +46,6 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String curr_domain = request.getServerName(); String curr_domain = request.getServerName();
HttpSession session = request.getSession();
log.info("curr_domain:" + curr_domain); log.info("curr_domain:" + curr_domain);
log.info("address:" + request.getRequestURL().toString()); log.info("address:" + request.getRequestURL().toString());
log.info("params:" + request.getQueryString()); log.info("params:" + request.getQueryString());
...@@ -53,8 +53,9 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter { ...@@ -53,8 +53,9 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
boolean isWx = UserAgentUtil.isWexinBrowser(request); boolean isWx = UserAgentUtil.isWexinBrowser(request);
if (isWx) { if (isWx) {
String frontSessionValue1 = (String) session.getAttribute(frontSessionKey); //session里面获取用户信息
if (StringUtils.isNotBlank(frontSessionValue1)) { User user=userBiz.getSession(request);
if (user!=null){
return true; return true;
} }
String redisKey=redisBmInfo(request); String redisKey=redisBmInfo(request);
...@@ -71,8 +72,7 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter { ...@@ -71,8 +72,7 @@ public class WeChatH5LoginInterceoptor extends HandlerInterceptorAdapter {
} }
return true; return true;
} }
//获取body的参数并放入redis
public String redisBmInfo(HttpServletRequest request)throws Exception{ public String redisBmInfo(HttpServletRequest request)throws Exception{
request.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8");
StringBuffer jb = new StringBuffer(); StringBuffer jb = new StringBuffer();
......
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