Browse Source

根据userid获取token

master
zhangye 5 years ago
parent
commit
6690a88f20
  1. 8
      health/src/main/java/com/ccsens/health/api/DebugController.java
  2. 4
      health/src/main/resources/application.yml
  3. 1
      tall/src/main/java/com/ccsens/tall/config/SpringConfig.java
  4. 2
      tall/src/main/java/com/ccsens/tall/service/IUserService.java
  5. 51
      tall/src/main/java/com/ccsens/tall/service/UserService.java
  6. 14
      tall/src/main/java/com/ccsens/tall/web/UserController.java
  7. 36
      util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java
  8. 4
      util/src/test/java/com/ccsens/util/Base64Test.java

8
health/src/main/java/com/ccsens/health/api/DebugController.java

@ -36,10 +36,10 @@ public class DebugController {
color.r = "243";
color.g = "139";
color.b = "0";
WxXcxUtil.getWxCode("pages/sign/sign"
,"1011&d=1217647686598135808&t=0",color,"/home/cloud/tall/uploads/qrCode/2020-03-07/158357267174.png");
// WxXcxUtil.getWxCodeTest("pages/user-code/user-code?d=1217647686598135808"
// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/2020-03-07/158357267174.png");
WxXcxUtil.getWxCode("pages/index/index"
,"d=1218855229722857472",color,"/home/cloud/tall/uploads/qrCode/0011.png");
// WxXcxUtil.getWxCodeTest("pages/index/index?t=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODM4MDc3MzcsInN1YiI6IjEyMTg4NTUyMjk3MjI4NTc0NzIiLCJhdXRoSWQiOiIxMTc3MDQwNjY"
// ,"d=1217647686598135808",color,"/home/cloud/tall/uploads/qrCode/158357267174.png");
return JsonResponse.newInstance().ok("完成");
}

4
health/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: test
include: common, util-test
active: dev
include: common, util-dev

1
tall/src/main/java/com/ccsens/tall/config/SpringConfig.java

@ -142,6 +142,7 @@ public class SpringConfig implements WebMvcConfigurer {
.excludePathPatterns("/users/claims")
.excludePathPatterns("/users/member")
.excludePathPatterns("/users/allMemberAll")
.excludePathPatterns("/users/userId")
.addPathPatterns("/plugins/**")
.excludePathPatterns("/plugins/sign")
.excludePathPatterns("/plugins/fuzzy")

2
tall/src/main/java/com/ccsens/tall/service/IUserService.java

@ -73,5 +73,5 @@ public interface IUserService {
UserVo.UserSign changePhoneNotPassword(Long userId,UserDto.WxBindingPhone phoneInfo) throws Exception;
String getTokenByUserId(Long userId);
}

51
tall/src/main/java/com/ccsens/tall/service/UserService.java

@ -7,6 +7,7 @@ import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import com.ccsens.cloudutil.feign.HealthFeignClient;
import com.ccsens.tall.bean.dto.ProjectDto;
import com.ccsens.tall.bean.dto.UserDto;
@ -112,6 +113,7 @@ public class UserService implements IUserService {
/**
* 企业登录
*
* @param identifier
* @param credential
* @return
@ -402,7 +404,6 @@ public class UserService implements IUserService {
}
/**
*
* @param openId
* @param unionId
* @return
@ -478,6 +479,7 @@ public class UserService implements IUserService {
/**
* 获取企业微信信息并绑定用户
*
* @param identifyType
* @param param
* @param user
@ -1032,6 +1034,7 @@ public class UserService implements IUserService {
/**
* 查询用户是否关注此项目
*
* @param currentUserId
* @param projectId
* @return
@ -1054,6 +1057,7 @@ public class UserService implements IUserService {
/**
* 用户关注某个项目
*
* @param currentUserId
* @param projectIdDto
*/
@ -1298,6 +1302,7 @@ public class UserService implements IUserService {
/**
* 更改绑定手机号不要密码
*
* @param userId
* @param phoneInfo
* @throws Exception
@ -1347,4 +1352,48 @@ public class UserService implements IUserService {
}
return userSign;
}
/**
* 通过userId获取token
*
* @param userId
* @return
*/
@Override
public String getTokenByUserId(Long userId) {
if (ObjectUtil.isNull(userId)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
Object object = redisUtil.get(RedisKeyManager.getTokenCachedKey(userId));
if (ObjectUtil.isNull(object)) {
UserVo.UserSign userSignVo = null;
SysAuthExample authExample = new SysAuthExample();
authExample.createCriteria().andUserIdEqualTo(userId);
List<SysAuth> authList = authDao.selectByExample(authExample);
if (CollectionUtil.isNotEmpty(authList)) {
userSignVo = new UserVo.UserSign();
userSignVo.setUserId(authList.get(0).getUserId());
userSignVo.setAuthId(authList.get(0).getId());
}
//3.生成token(access_token,refresh_token)
if (ObjectUtil.isNotNull(userSignVo)) {
Map<String, Object> theMap = CollectionUtil.newHashMap();
theMap.put("authId", String.valueOf(userSignVo.getAuthId()));
Long tokenExpired = 3600 * 1000L * 24 * 100;
String token =
JwtUtil.createJWT(userId + "",
theMap, tokenExpired,
WebConstant.JWT_ACCESS_TOKEN_SECERT);
redisUtil.set(RedisKeyManager.getTokenCachedKey((Long) userId),
token, tokenExpired / 1000);
object = token;
} else {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
}
return object.toString();
}
}

14
tall/src/main/java/com/ccsens/tall/web/UserController.java

@ -302,6 +302,20 @@ public class UserController {
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "通过userId获取token",notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name="projectId",value = "projectId",required = true,paramType = "query")
})
@RequestMapping(value = "/userId",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
public JsonResponse<UserVo.TokenToUserId> getTokenByUserId(HttpServletRequest request,
@RequestParam(required = true) Long userId) throws Exception {
String token = userService.getTokenByUserId(userId);
return JsonResponse.newInstance().ok(token);
}
/*===============================================================================================*/
@ApiOperation(value = "根据token获取userId",notes = "")
@ApiImplicitParams({

36
util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java

@ -249,24 +249,24 @@ public class WxXcxUtil {
HttpsUtil.httpsRequest(url,"POST",postStr,path);
}
// /**
// * 获取小程序二维码/小程序码
// * @return
// * @throws Exception
// */
// public static void getWxCodeTest(String page,String scene,LineColor color,String path) throws Exception {
// String url = String.format(URL_GET_WX_CODE_C, WxGzhUtil.getAccessToken());
//
// WechatCodeA wechatCodeA = new WechatCodeA();
// wechatCodeA.path = page;
//// wechatCode.path = page+"?"+scene;
//
//// WechatCodeA.line_color = color;
//
// String postStr = JacksonUtil.beanToJson(wechatCodeA);
// System.out.println(postStr);
// HttpsUtil.httpsRequest(url,"POST",postStr,path);
// }
/**
* 获取小程序二维码/小程序码(长度128有数量限制)
* @return
* @throws Exception
*/
public static void getWxCodeTest(String page,String scene,LineColor color,String path) throws Exception {
String url = String.format(URL_GET_WX_CODE_C, WxGzhUtil.getAccessToken());
WechatCodeA wechatCodeA = new WechatCodeA();
wechatCodeA.path = page;
// wechatCode.path = page+"?"+scene;
// WechatCodeA.line_color = color;
String postStr = JacksonUtil.beanToJson(wechatCodeA);
System.out.println(postStr);
HttpsUtil.httpsRequest(url,"POST",postStr,path);
}
/**
* 统一下单

4
util/src/test/java/com/ccsens/util/Base64Test.java

@ -4,6 +4,7 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import com.ccsens.util.wx.WxXcxUtil;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.ServletOutputStream;
import java.io.ByteArrayOutputStream;
@ -29,8 +30,7 @@ public class Base64Test {
//// out.write(decode);
//// out.close();
// System.out.println(System.currentTimeMillis());
// }
//
@Test
public void test01() throws Exception{

Loading…
Cancel
Save