xiaohanzi 5 лет назад
Родитель
Сommit
7b62bc4676
5 измененных файлов: 39 добавлений и 30 удалений
  1. +23
    -23
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  2. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java
  4. +12
    -3
      mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java
  5. +1
    -1
      mallinkService/src/main/resources/mapper/WxCUserMapper.xml

+ 23
- 23
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Просмотреть файл

@@ -222,33 +222,33 @@ public class WxUserGrantController extends BaseController {

String token = null;
String session_key = null;
String openId = "opvcM5IEkl0U5pNiHcN49Ens40jU";
String openId = null;
String unionId = null;
boolean boolHaveUnionId = false;
boolean boolFindByUnionId = false;
Long userId = null;

// try {
// WxMaJscode2SessionResult session = wxMaService.jsCode2SessionInfo(code);
// logger.info("sessionResult: " + session);
// if (null != session) {
// logger.info("sessionResultDetail: [openid]" + session.getOpenid()+",[sessionkey]"+session.getSessionKey()+",[unionid]"+session.getUnionid());
try {
WxMaJscode2SessionResult session = wxMaService.jsCode2SessionInfo(code);
logger.info("sessionResult: " + session);
if (null != session) {
logger.info("sessionResultDetail: [openid]" + session.getOpenid()+",[sessionkey]"+session.getSessionKey()+",[unionid]"+session.getUnionid());
}

//获取会话密钥(session_key)
session_key = session.getSessionKey();
openId = session.getOpenid();
unionId = session.getUnionid();
// if (StringUtils.isNotBlank(unionId)) {
// boolHaveUnionId = true;
// }
//
// //获取会话密钥(session_key)
// session_key = session.getSessionKey();
// openId = session.getOpenid();
// unionId = session.getUnionid();
//// if (StringUtils.isNotBlank(unionId)) {
//// boolHaveUnionId = true;
//// }
//
// logger.info("session_key: " + session_key + ", openId: " + openId + ", unionId: " + unionId);
// resultMap.put("openId", openId);
// } catch (WxErrorException e) {
// logger.error(e.getMessage(), e);
// return new ResultData(ErrorCode.SESSION_KEY_DECODE_ERR, resultMap);
// }

logger.info("session_key: " + session_key + ", openId: " + openId + ", unionId: " + unionId);
resultMap.put("openId", openId);
} catch (WxErrorException e) {
logger.error(e.getMessage(), e);
return new ResultData(ErrorCode.SESSION_KEY_DECODE_ERR, resultMap);
}

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String ipaddress = IPUtil.getIpAddr(request);
@@ -277,7 +277,7 @@ public class WxUserGrantController extends BaseController {
}
if (oldUser != null) {
// 已有用户
token = oldUser.createToken(new Date());
token = oldUser.createToken(new Date(),oldUser.getTenantId());

resultMap.put("token", token);
request.setAttribute(Constant.LOGIN_USER_KEY, oldUser.getId());
@@ -357,7 +357,7 @@ public class WxUserGrantController extends BaseController {
if(StringUtils.isNotBlank(wxMall.getParentTenantId())){
newUser.setParentTenantId(wxMall.getParentTenantId());
}
token = newUser.createToken(new Date());
token = newUser.createToken(new Date(),newUser.getTenantId());

newUser.setRegisterIp(ipaddress);
if (StringUtils.isNotBlank(sceneAddress) &&


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java Просмотреть файл

@@ -134,11 +134,11 @@ public class WxCUser extends BaseCUserEntity {
@io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId")
private Long operatorId;

public String createToken(Date currentDate) {
public String createToken(Date currentDate,String tenantId) {
if (this.getExpireTime() == null || this.getExpireTime().getTime() - Constant.H_EXPIRE < currentDate.getTime())
{
//生成一个token
this.setToken(UUID.randomUUID().toString()+Constant.TOKEN_WXC_END);
this.setToken(UUID.randomUUID().toString()+":"+tenantId+Constant.TOKEN_WXC_END);
//过期时间
this.setExpireTime(new Date(currentDate.getTime() + Constant.S_D_EXPIRE));
}


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java Просмотреть файл

@@ -18,7 +18,7 @@ public interface WxCUserMapper extends CommonMapper<WxCUser, Long> {

WxCUser findByUnionId(WxCUser record);

WxCUser findByToken(String token);
WxCUser findByToken(@Param("id")String token,@Param("tenantId")String tenantId);
long findCount(WxCUserBasicInfoDto dto);



+ 12
- 3
mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.service.cuser.wx;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@@ -29,11 +30,19 @@ public class WxCUserServiceAdapter implements CUserServiceApapter{
@Override
public BaseCUserEntity getByToken(String token) {
WxCUser wxCUser = wxCUserMapper.findByToken(token);
if (null == wxCUser) {
if ((!StringUtils.isBlank(token))) {
String[] tokens = token.split(":");
if (null == tokens || tokens.length != 3) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "WxCUserServiceAdapter token失效");
}
WxCUser wxCUser = wxCUserMapper.findByToken(token,tokens[1]);
if (null == wxCUser) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "WxCUserServiceAdapter token失效");
}
return generateBaseEntity(wxCUser);
}else {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(), "WxCUserServiceAdapter token失效");
}
return generateBaseEntity(wxCUser);
}
@Override


+ 1
- 1
mallinkService/src/main/resources/mapper/WxCUserMapper.xml Просмотреть файл

@@ -242,7 +242,7 @@

<select id="findByToken" resultMap="BaseResultMap">
select <include refid="allColumns"/> from wx_c_user
where `token` = #{token}
where `token` = #{token} and `tenant_id` = #{tenantId}
</select>

<select id="findCount" parameterType="com.iformall.domain.dto.WxCUserBasicInfoDto" resultType="java.lang.Long">


Загрузка…
Отмена
Сохранить