Commit 543e35e0 authored by hezhen's avatar hezhen Committed by libin

123

parent de48d825
......@@ -6,11 +6,12 @@ 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.Activity;
import com.xxfc.platform.summit.entity.ActivityBm;
import com.xxfc.platform.summit.entity.ActivityShow;
import com.xxfc.platform.summit.entity.User;
import com.xxfc.platform.summit.mapper.ActivityBmMapper;;
import com.xxfc.platform.summit.vo.MeepoActivityVo;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -18,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
......@@ -35,6 +35,12 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
@Autowired
private UserBiz userBiz;
@Autowired
private ActivityBiz activityBiz;
@Autowired
private ActivityShowBiz activityShowBiz;
//用户报名
public ObjectRestResponse userBm(ActivityBm activityBm,Integer meepoUserId)throws Exception{
......@@ -91,49 +97,97 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
}
public JSONObject userBmByKey(String key,Integer activityId, HttpServletRequest request)throws Exception{
//用户报名操作
public JSONObject userBmByKey(String key,Integer activityId, HttpServletRequest request){
JSONObject jsonObject=new JSONObject();
jsonObject.put("isbm",0);
jsonObject.put("value","");
User user=userBiz.getSession(request);
//是否登录
log.info("-----userBmByKey---activityId==="+activityId);
if (user==null){
log.info("-----userBmByKey---用户未登录----");
ActivityBm activityBm= userInfo(key);
if (activityBm!=null){
log.info("-----userBmByKey---key已存在----");
jsonObject.put("value",activityBm);
// 获取到缓存的验证码后要先清空缓存对应键的值
summbitRedisTemplate.delete(key);
}
}else {
Integer userId=user.getId();
log.info("-----userBmByKey---用户登录--userId==="+userId);
ActivityBm activityBm= userInfo(key);
if (activityBm==null){
log.info("-----userBmByKey---key不存在判断用户是否报名----");
if (checkUserBm(userId,activityId)!=null){
log.info("-----userBmByKey---key不存在用户已报名----");
jsonObject.put("isbm",1);
try {
User user=userBiz.getSession(request);
//是否登录
log.info("-----userBmByKey---activityId==="+activityId);
if (user==null){
log.info("-----userBmByKey---用户未登录----");
ActivityBm activityBm= userInfo(key);
if (activityBm!=null){
log.info("-----userBmByKey---key已存在----");
jsonObject.put("value",activityBm);
// 获取到缓存的验证码后要先清空缓存对应键的值
summbitRedisTemplate.delete(key);
}
}else {
log.info("-----userBmByKey---key已存在去报名----");
ObjectRestResponse restResponse=userBm(activityBm,userId);
if (restResponse.getStatus()==RestCode.SUCCESS.getStatus()){
log.info("-----userBmByKey---key已存在去报名----报名成功");
jsonObject.put("isbm",1);
jsonObject.put("bmStatus",1);
Integer userId=user.getId();
log.info("-----userBmByKey---用户登录--userId==="+userId);
ActivityBm activityBm= userInfo(key);
if (activityBm==null){
log.info("-----userBmByKey---key不存在判断用户是否报名----");
if (checkUserBm(userId,activityId)!=null){
log.info("-----userBmByKey---key不存在用户已报名----");
jsonObject.put("isbm",1);
}
}else {
log.info("-----userBmByKey---key已存在去报名----报名失败");
jsonObject.put("bmStatus",2);
log.info("-----userBmByKey---key已存在去报名----");
ObjectRestResponse restResponse=userBm(activityBm,userId);
if (restResponse.getStatus()==RestCode.SUCCESS.getStatus()){
log.info("-----userBmByKey---key已存在去报名----报名成功");
jsonObject.put("isbm",1);
jsonObject.put("bmStatus",1);
}else {
log.info("-----userBmByKey---key已存在去报名----报名失败");
jsonObject.put("bmStatus",2);
}
summbitRedisTemplate.delete(key);
}
summbitRedisTemplate.delete(key);
}
}catch (Exception e){
e.printStackTrace();
}
return jsonObject;
}
//获取峰会活动详情
public ObjectRestResponse getActivityById(Integer activityId,String key,HttpServletRequest request){
if (activityId==0||activityId==null){
return ObjectRestResponse.createFailedResult(ResultCode.NOTEXIST_CODE,"参数为空");
}
Example example=new Example(Activity.class);
example.createCriteria().andEqualTo("id",activityId).andEqualTo("isDel",0);
List<Activity> list=activityBiz.selectByExample(example);
if (list.size()==0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"活动不存在");
}
Activity activity=list.get(0);
if (activity.getIsShow()==null||activity.getIsShow()==0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"活动已下架");
}
if (activity.getIsPublish()==null||activity.getIsPublish()==0){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"活动未发布");
}
Integer status=activity.getStatus();
if (status==null){
status=0;
}
if (status==0){
Long nowTime=System.currentTimeMillis();
Long startTime=activity.getStartTime();
Long endTime=activity.getEndTime();
if (nowTime<startTime){
status=1;
}else if (nowTime>=startTime&&nowTime<endTime){
status=2;
}else {
status=3;
}
activity.setStatus(status);
}
JSONObject jsonObject=new JSONObject();
jsonObject.put("activity",activity);
JSONObject userBm=userBmByKey(key,activityId,request);
jsonObject.put("bmInfo",userBm);
return ObjectRestResponse.succ(jsonObject);
}
}
......@@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletRequest;
* @author Administrator
*/
@RestController
@RequestMapping("front/activity")
@RequestMapping("front/activityBm")
public class ActivityBmController extends BaseController<ActivityBmBiz,ActivityBm> {
......@@ -24,7 +24,7 @@ public class ActivityBmController extends BaseController<ActivityBmBiz,ActivityB
UserBiz userBiz;
@PostMapping("/bm")
@PostMapping("/add")
public ObjectRestResponse bm(@RequestBody ActivityBm activityBm, HttpServletRequest request){
User user=userBiz.getSession(request);
try {
......@@ -37,89 +37,4 @@ public class ActivityBmController extends BaseController<ActivityBmBiz,ActivityB
}
/* *//**
* 微信浏览器获取用户信息
* @param code
* @param callback
* @return
*//*
@GetMapping(value = "/app/unauth/users")
public String getUserInfo(String code, String callback,String key, HttpServletRequest request) {
log.info("-----微信回调userInfo---code=="+code+"----redirec_url==="+callback);
if (StringUtils.isBlank(code)){
log.info("----code为空---");
return String.format("code为空");
}
String openid = null;
String access_token = null;
try {
JSONObject jsonData = weixinService.getAccessToken(code);
openid = jsonData.getString("openid");
access_token = jsonData.getString("access_token");
String refresh_token = jsonData.getString("refresh_token");
log.info("-----微信回调userInfo---openid=="+openid+"----access_token==="+access_token);
//验证access_token是否失效
JSONObject validateData = weixinService.getValidateData(access_token, openid);
if (!"0".equals(validateData.getString("errcode"))){
//刷新access_token
JSONObject refreshData= weixinService.getRefreshToken(refresh_token);
access_token = refreshData.getString("access_token");
}
}catch (Exception e){
e.printStackTrace();
log.info("网络异常===" + e.getMessage());
return String.format("网络异常");
}
try {
// 获取微信用户基本信息
JSONObject userinfo_json = weixinService.getUserInfo(access_token,openid);
if (userinfo_json == null || StringUtils.isNotBlank(userinfo_json.getString("errcode"))) {
log.info("调用微信用户基本信息接口失败");
return String.format("调用微信用户基本信息接口失败");
}
log.info("微信用户基本信息---user===" +userinfo_json.toJSONString());
ActivityBm activityBm=activityBmBiz.userInfo(key);
if (activityBm==null){
log.info("redis的报名信息为空");
return String.format("redis的报名信息为空");
}
Integer activityId=activityBm.getActivityId();
if (activityId==null||activityId==0){
log.info("redis的报名信息activityId---为空");
return String.format("redis的报名信息activityId---为空");
}
User userInfo=new User();
String nickName = userinfo_json.getString("nickname");
String headimgurl = userinfo_json.getString("headimgurl");
String sex = userinfo_json.getString("sex");
if (StringUtils.isBlank(sex)){
sex="0";
}
userInfo.setOpenId(openid);
userInfo.setNickName(nickName);
userInfo.setAvatar(headimgurl);
userInfo.setSex(sex);
Integer userId=userBiz.addMeepoUser(userInfo,activityId);
log.info("小程序用户---userId===" +userId);
if (userId==null||userId==0){
log.info("小程序用户---userId---为空");
return String.format("小程序用户---userId---为空");
}
activityBmBiz.userBm(activityBm,userId);
log.info("UserInfo===" + JSONObject.toJSONString(userInfo));
String encode = Base64.encode(JSONObject.toJSONString(userInfo));
HttpSession session = request.getSession();
session.removeAttribute(frontSessionKey);
session.setAttribute(frontSessionKey, encode);
callback =new String(Base64.decode(callback), "utf-8");
log.info("callback===" + callback);
} catch (Exception e) {
log.info("调用微信用户基本信息接口失败", e);
return String.format("调用微信用户基本信息接口失败:");
}
return String.format("redirect:"+callback);
}*/
}
package com.xxfc.platform.summit.controller;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
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.pojo.ActivityQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author Administrator
*/
@RestController
@RequestMapping("/front/activity")
@IgnoreUserToken
@IgnoreClientToken
public class FrontActivityController extends BaseController<ActivityBiz, Activity> {
@Autowired
private ActivityBmBiz activityBmBiz;
@GetMapping("app/unauth/info")
public ObjectRestResponse info(
@RequestParam(value = "activityId",defaultValue = "0")Integer activityId,
@RequestParam(value = "key",defaultValue = "")String key,
HttpServletRequest request){
return activityBmBiz.getActivityById(activityId,key,request);
}
}
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