Browse Source

feature1.0.0-img:修复快手端用户登录问题

feature-1.0-img-prototype
chengkun 4 years ago
parent
commit
c4e7966ea0
  1. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java
  2. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/FhUser.java
  3. 23
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java

@ -191,7 +191,7 @@ public class FhMiniController extends BaseController {
@ApiOperation(value="用户登录")
@PostMapping(value = "/loginFh")
public AjaxResult loginWx(@Validated @RequestBody @ApiParam("登录对象") FhLoginDto dto){
public AjaxResult loginFh(@Validated @RequestBody @ApiParam("登录对象") FhLoginDto dto){
log.info("【快手图文小程序】用户【{}】授权登录了", dto.getCode());
return AjaxResult.success(fhUserService.login(dto));
}

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/domain/FhUser.java

@ -32,7 +32,7 @@ public class FhUser extends BaseDomain {
/**
* id
*/
@TableId(value = "id", type = IdType.INPUT)
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="id")
private Long id;

23
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/FhUserServiceImpl.java

@ -24,8 +24,12 @@ import com.bnyer.img.vo.FhSessionInfoVo;
import com.bnyer.img.vo.FhUserInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import javax.crypto.Cipher;
@ -101,20 +105,22 @@ public class FhUserServiceImpl implements FhUserService {
* @return -
*/
private FhSessionInfoVo getSessionInfo(String code) {
Map<String,String> map = new HashMap<>();
map.put("appid",fhConfig.getAppId());
map.put("app_secret", fhConfig.getSecret());
map.put("js_code", code);
JSONObject sessionInfo = restTemplate.postForObject(fhConfig.getSessionInfoUrl(), map, JSONObject.class);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/x-www-form-urlencoded");
MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
postParameters.add("app_id", fhConfig.getAppId());
postParameters.add("app_secret", fhConfig.getSecret());
postParameters.add("js_code", code);
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(postParameters, headers);
JSONObject sessionInfo = restTemplate.postForObject(fhConfig.getSessionInfoUrl(), httpEntity, JSONObject.class);
if(!sessionInfo.getString("result").equals(TiktokConstant.FH_SUCCESS)){
//log.error("快手授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("result"),sessionInfo.getString("err_tips"));
throw new ServiceException("快手授权session接口调用失败!",TiktokConstant.FH_AUTH_ERROR);
}
//调用成功,组装返回数据
JSONObject data = sessionInfo.getJSONObject("data");
FhSessionInfoVo result = new FhSessionInfoVo();
result.setSessionKey(data.getString("session_key"));
result.setOpenId(data.getString("open_id"));
result.setSessionKey(sessionInfo.getString("session_key"));
result.setOpenId(sessionInfo.getString("open_id"));
return result;
}
@ -158,6 +164,7 @@ public class FhUserServiceImpl implements FhUserService {
fhUser.setFhCode(Sm4Util.sm4Encryption(openId));
fhUser.setCreateTime(new Date());
fhUser.setUpdateTime(new Date());
fhUser.setIsShow("1");
fhUserMapper.insert(fhUser);
log.info("快手用户【{}】创建成功!", openId);
return fhUser;

Loading…
Cancel
Save