|
@@ -11,6 +11,7 @@ import com.xyzc.common.web.security.cache.TokenStoreCache;
|
|
|
import com.xyzc.common.web.security.mobile.WeiXinScanAuthenticationToken;
|
|
|
import com.xyzc.common.web.security.user.UserDetail;
|
|
|
import com.xyzc.start.cache.SysParamsCache;
|
|
|
+import com.xyzc.start.constant.WxScanStatus;
|
|
|
import com.xyzc.start.domain.BaseUser;
|
|
|
import com.xyzc.start.domain.WxConfig;
|
|
|
import com.xyzc.start.domain.vo.AccessTokenVo;
|
|
@@ -120,10 +121,7 @@ public class WeiXinAuthServiceImpl implements IWeiXinAuthService {
|
|
|
log.info("response: {}", response);
|
|
|
JSONObject entries = new JSONObject(response);
|
|
|
return entries.getStr("access_token");
|
|
|
-//
|
|
|
-// JSONObject jsonObject = new JSONObject(response);
|
|
|
-// log.info("jsonObject: {}", jsonObject);
|
|
|
-// return jsonObject.getString("access_token");
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -171,6 +169,7 @@ public class WeiXinAuthServiceImpl implements IWeiXinAuthService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void postToken(HttpServletRequest req, HttpServletResponse res) {
|
|
|
final Map<String, String> map = parseXml(req);
|
|
|
|
|
@@ -210,14 +209,15 @@ public class WeiXinAuthServiceImpl implements IWeiXinAuthService {
|
|
|
BaseUser baseUser = baseUserMapper.selectOne(new LambdaQueryWrapper<BaseUser>()
|
|
|
.select(BaseUser::getId)
|
|
|
.eq(BaseUser::getOpenid, fromUserName)
|
|
|
- .eq(BaseUser::getAgentMerId, Long.getLong(scene_str)));
|
|
|
+ .eq(BaseUser::getAgentMerId, Long.valueOf(scene_str)));
|
|
|
if (baseUser == null) {
|
|
|
// 未注册过,则自动注册
|
|
|
baseUser = new BaseUser();
|
|
|
baseUser.setOpenid(fromUserName);
|
|
|
- baseUser.setAgentMerId(Long.getLong(scene_str));
|
|
|
+ baseUser.setAgentMerId(Long.valueOf(scene_str));
|
|
|
baseUser.setSurplusFuel(10L);
|
|
|
baseUser.setStatus(1);
|
|
|
+ baseUserMapper.insert(baseUser);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -238,9 +238,14 @@ public class WeiXinAuthServiceImpl implements IWeiXinAuthService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public AccessTokenVo getStatus(String ticket) {
|
|
|
+
|
|
|
+ AccessTokenVo baseUserTokenVo = new AccessTokenVo();
|
|
|
+
|
|
|
+
|
|
|
String userOpenid = sysParamsCache.getUserStatus(ticket);
|
|
|
if (userOpenid == null || userOpenid.isEmpty()) {
|
|
|
- throw new ServerException(ErrorCode.NOT_SCAN_CODE);
|
|
|
+ baseUserTokenVo.setStatus(WxScanStatus.NO_SCAN.getCode());
|
|
|
+ return baseUserTokenVo;
|
|
|
}
|
|
|
|
|
|
// 获取用户信息
|
|
@@ -254,12 +259,12 @@ public class WeiXinAuthServiceImpl implements IWeiXinAuthService {
|
|
|
|
|
|
// 保存用户信息到缓存
|
|
|
tokenStoreCache.saveUser(accessToken, user);
|
|
|
-
|
|
|
- AccessTokenVo baseUserTokenVo = new AccessTokenVo();
|
|
|
baseUserTokenVo.setAccess_token(accessToken);
|
|
|
|
|
|
// 清除ticket
|
|
|
sysParamsCache.delUserStatus(ticket);
|
|
|
+
|
|
|
+ baseUserTokenVo.setStatus(WxScanStatus.HAS_SCAN.getCode());
|
|
|
return baseUserTokenVo;
|
|
|
} catch (BadCredentialsException e) {
|
|
|
throw new ServerException(ErrorCode.QR_CODE_ERROR);
|