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="用户登录") @ApiOperation(value="用户登录")
@PostMapping(value = "/loginFh") @PostMapping(value = "/loginFh")
public AjaxResult loginWx(@Validated @RequestBody @ApiParam("登录对象") FhLoginDto dto){ public AjaxResult loginFh(@Validated @RequestBody @ApiParam("登录对象") FhLoginDto dto){
log.info("【快手图文小程序】用户【{}】授权登录了", dto.getCode()); log.info("【快手图文小程序】用户【{}】授权登录了", dto.getCode());
return AjaxResult.success(fhUserService.login(dto)); 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 * id
*/ */
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="id") @ApiModelProperty(value="id")
private Long 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 com.bnyer.img.vo.FhUserInfoVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.crypto.Cipher; import javax.crypto.Cipher;
@ -101,20 +105,22 @@ public class FhUserServiceImpl implements FhUserService {
* @return - * @return -
*/ */
private FhSessionInfoVo getSessionInfo(String code) { private FhSessionInfoVo getSessionInfo(String code) {
Map<String,String> map = new HashMap<>(); HttpHeaders headers = new HttpHeaders();
map.put("appid",fhConfig.getAppId()); headers.add("Content-Type", "application/x-www-form-urlencoded");
map.put("app_secret", fhConfig.getSecret()); MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
map.put("js_code", code); postParameters.add("app_id", fhConfig.getAppId());
JSONObject sessionInfo = restTemplate.postForObject(fhConfig.getSessionInfoUrl(), map, JSONObject.class); 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)){ if(!sessionInfo.getString("result").equals(TiktokConstant.FH_SUCCESS)){
//log.error("快手授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("result"),sessionInfo.getString("err_tips")); //log.error("快手授权session接口调用失败,错误状态码为:【{}】,错误信息为:【{}】",sessionInfo.getString("result"),sessionInfo.getString("err_tips"));
throw new ServiceException("快手授权session接口调用失败!",TiktokConstant.FH_AUTH_ERROR); throw new ServiceException("快手授权session接口调用失败!",TiktokConstant.FH_AUTH_ERROR);
} }
//调用成功,组装返回数据 //调用成功,组装返回数据
JSONObject data = sessionInfo.getJSONObject("data");
FhSessionInfoVo result = new FhSessionInfoVo(); FhSessionInfoVo result = new FhSessionInfoVo();
result.setSessionKey(data.getString("session_key")); result.setSessionKey(sessionInfo.getString("session_key"));
result.setOpenId(data.getString("open_id")); result.setOpenId(sessionInfo.getString("open_id"));
return result; return result;
} }
@ -158,6 +164,7 @@ public class FhUserServiceImpl implements FhUserService {
fhUser.setFhCode(Sm4Util.sm4Encryption(openId)); fhUser.setFhCode(Sm4Util.sm4Encryption(openId));
fhUser.setCreateTime(new Date()); fhUser.setCreateTime(new Date());
fhUser.setUpdateTime(new Date()); fhUser.setUpdateTime(new Date());
fhUser.setIsShow("1");
fhUserMapper.insert(fhUser); fhUserMapper.insert(fhUser);
log.info("快手用户【{}】创建成功!", openId); log.info("快手用户【{}】创建成功!", openId);
return fhUser; return fhUser;

Loading…
Cancel
Save