|
|
@@ -11,7 +11,6 @@ import com.kym.common.constant.ResponseEnum;
|
|
|
import com.kym.common.enums.WxApi;
|
|
|
import com.kym.common.exception.BusinessException;
|
|
|
import com.kym.common.utils.HttpUtil;
|
|
|
-import com.kym.common.utils.IDGenerator;
|
|
|
import com.kym.entity.miniapp.Account;
|
|
|
import com.kym.entity.miniapp.Cars;
|
|
|
import com.kym.entity.miniapp.User;
|
|
|
@@ -50,8 +49,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
@Autowired
|
|
|
WxConfig wxConfig;
|
|
|
@Autowired
|
|
|
- private IDGenerator idGenerator;
|
|
|
- @Autowired
|
|
|
private UserMapper userMapper;
|
|
|
@Autowired
|
|
|
private AccountService accountService;
|
|
|
@@ -71,12 +68,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
"js_code", params.getCode()
|
|
|
));
|
|
|
|
|
|
- var errorCode = json.getIntValue("errcode");
|
|
|
- if (200 == errorCode) {
|
|
|
+ Integer errorCode = json.getInteger("errcode");
|
|
|
+ if (errorCode == null) {
|
|
|
// 业务逻辑处理
|
|
|
var openid = json.getString("openid");
|
|
|
var session_key = json.getString("session_key");
|
|
|
- var unionid = json.getString("unionid");
|
|
|
+ var unionid = json.getString("unionid") == null ? "" : json.getString("unionid");
|
|
|
// 判断有没有,没有就新增
|
|
|
var user = userMapper.selectOne(new QueryWrapper<User>().eq("openid", openid));
|
|
|
if (user != null) {
|
|
|
@@ -86,14 +83,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
// 注册逻辑
|
|
|
// 新增用户
|
|
|
var newUser = new User();
|
|
|
- newUser.setId(idGenerator.nextId());
|
|
|
newUser.setOpenid(openid);
|
|
|
newUser.setUnionid(unionid);
|
|
|
// 手机号解密:先获取access_token,再请求手机号信息
|
|
|
// access_token获取
|
|
|
var accessTokenJson = HttpUtil.getJson(WxApi.WX_GET_ACCESS_TOKEN.getApi(), Map.of("appid", wxConfig.getAppid(), "secret", wxConfig.getSecret()));
|
|
|
var accessToken = accessTokenJson.getString("access_token");
|
|
|
- var wxPhoneNum = HttpUtil.post(WxApi.WX_MP_GET_PHONE.getApi().replace("ACCESS_TOKEN", accessToken), Map.of("code", params.getCode()), WxPhoneNum.class);
|
|
|
+ var wxPhoneNum = HttpUtil.post(WxApi.WX_MP_GET_PHONE.getApi().replace("ACCESS_TOKEN", accessToken), Map.of("code", params.getPhoneCode()), WxPhoneNum.class);
|
|
|
var mobilePhone = wxPhoneNum.getPhone_info().getPurePhoneNumber();
|
|
|
newUser.setMobilePhone(mobilePhone);
|
|
|
newUser.setAvatar(params.getAvatar());
|
|
|
@@ -101,7 +97,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
userMapper.insert(newUser);
|
|
|
// 创建用户账户
|
|
|
var account = new Account();
|
|
|
- account.setId(idGenerator.nextId());
|
|
|
account.setUserId(newUser.getId());
|
|
|
accountService.save(account);
|
|
|
// 登录逻辑
|
|
|
@@ -134,18 +129,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
private R handleLogin(User user) {
|
|
|
StpUtil.login(user.getId());
|
|
|
// 用户名存入session,统一日志读取使用
|
|
|
+ StpUtil.getSession().set("openid", user.getOpenid());
|
|
|
StpUtil.getSession().set("userId", user.getId());
|
|
|
- StpUtil.getSession().set("username", user.getUsername());
|
|
|
+ StpUtil.getSession().set("mobilePhone", user.getMobilePhone());
|
|
|
user.setLastLoginTime(LocalDateTime.now());
|
|
|
updateById(user);
|
|
|
- LOGGER.info("用户:" + user.getUsername() + "/id:" + user.getId() + "登录");
|
|
|
- return R.success(of("id", user.getId(), "token", StpUtil.getTokenValue()));
|
|
|
+ LOGGER.info("用户:" + user.getMobilePhone() + "/id:" + user.getId() + "登录成功");
|
|
|
+ return R.success(of("userId", user.getId(), "accessToken", "Bearer ".concat(StpUtil.getTokenValue())));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public boolean createUser(UserVo userVo) {
|
|
|
var user = new User();
|
|
|
- user.setId(idGenerator.nextId());
|
|
|
user.setUsername(userVo.username);
|
|
|
return save(user);
|
|
|
}
|
|
|
@@ -188,5 +183,4 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
}
|