Commit c7a7f3ab authored by zhangyanduan's avatar zhangyanduan

add: 提交未完成的代码-3 欠缺参数对应关系以及字段的映射

parent 1408fb0f
package org.rcisoft.integration.jieLink.dto;
import lombok.Data;
import java.util.List;
/**
* 邀访人员详情
*/
@Data
public class VisitDataSubItemDto {
......
package org.rcisoft.integration.jieLink.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
......@@ -10,6 +11,7 @@ import org.rcisoft.integration.jieLink.service.IJieLinkService;
import org.rcisoft.sys.sysuser.entity.SysUser;
import org.rcisoft.sys.sysuser.service.SysUserService;
import org.rcisoft.sys.visit.entity.VisitInfoMation;
import org.rcisoft.sys.visit.entity.VisitUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.transaction.annotation.Propagation;
......@@ -239,34 +241,19 @@ public class JieLinkServiceImpl implements IJieLinkService {
String apiUri = "/api/base/visitordatainvite";
HttpHeaders headers = this.loadHeaderHandle();
if(headers!=null){
JieLinkPersonDto pushData = this.convertUserBean(userData);
HttpEntity<JieLinkPersonDto> httpEntity = new HttpEntity<>(pushData,headers);
JSONObject pushData = this.convertVisitorData(visitInfoMation);
HttpEntity<JSONObject> httpEntity = new HttpEntity<>(pushData,headers);
StringBuffer uriAddr = new StringBuffer();
uriAddr.append(jieLinkUri).append(apiUri);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
JieLinkResultDto<JieLinkPersonDto> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
//后续处理逻辑
JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){
JieLinkPersonDto persion = resultData.getData();
if(persion!=null){
//此处需要将捷顺中的ID存入到用户信息中
String personId = persion.getPersonId();
if(userData.getBusinessId()!=null){
sysUserService.saveJieLinkId(personId,userData.getBusinessId());
return true;
}else{
//ID竟然没有返回,说明参数没有传全
log.error("pushAddUserData接口请求时缺少用户ID");
return false;
}
}else{
//返回结果为空
return false;
}
return true;
}else{
log.error("pushAddUserData接口返回错误信息:"+resultData.getMsg());
log.error("pushVisitorData接口返回错误信息:"+resultData.getMsg());
//请求返回结果错误啦
return false;
}
......@@ -282,15 +269,56 @@ public class JieLinkServiceImpl implements IJieLinkService {
//认证信息获取失败
return false;
}
return false;
}
/**
* 撤销邀访记录
* @param visitUserId 邀访人Id
* @param visitInfoId 邀请记录ID
* @return
*/
@Override
public boolean cancelVisitorData(String visitUserId, String visitInfoId) {
return false;
String apiUri = "/api/base/visitdatacancelinvite";
HttpHeaders headers = this.loadHeaderHandle();
if(headers!=null){
JSONObject pushData = new JSONObject();
if(StringUtils.isNotBlank(visitInfoId)){
pushData.put("inviteId",visitInfoId);
}else if(StringUtils.isNotBlank(visitUserId)){
pushData.put("visitorId",visitUserId);
}else{
//
log.error("cancelVisitorData 接口传递的参数信息有误,请检查参数");
return false;
}
HttpEntity<JSONObject> httpEntity = new HttpEntity<>(pushData,headers);
StringBuffer uriAddr = new StringBuffer();
uriAddr.append(jieLinkUri).append(apiUri);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
JieLinkResultDto resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){
return true;
}else{
log.error("cancelVisitorData接口返回错误信息:"+resultData.getMsg());
//请求返回结果错误啦
return false;
}
}else{
//请求失败啦
return false;
}
}catch (Exception ex){
log.error(ex.getMessage(),ex);
return false;
}
}else{
//认证信息获取失败
return false;
}
}
/**
......@@ -301,20 +329,73 @@ public class JieLinkServiceImpl implements IJieLinkService {
private JSONObject convertVisitorData(VisitInfoMation infoMation){
JSONObject result = new JSONObject();
VisitDataInviteDto manData = new VisitDataInviteDto();
manData.setPersonId(infoMation.);
//TODO 此处需要沟通下才行
manData.setPersonId("");//转换ID
manData.setItemId("");//邀访记录
manData.setTimeDesc("");//邀访时间格式
manData.setVisitorType("3");//访客类型
manData.setContent("");//到访事由
List<VisitDataSubItemDto> userList = new ArrayList<>();
if(infoMation.getUserList()!=null && !infoMation.getUserList().isEmpty()){
List<VisitUser> userDataList = infoMation.getUserList();
for(VisitUser user: userDataList){
VisitDataSubItemDto userItemDto = new VisitDataSubItemDto();
userItemDto.setVisitorId("");//访客ID
userItemDto.setVisitorName(user.getUserName());//访客名称
userItemDto.setVisitorTel(user.getVisitPhone());//访客手机号
//下面需要构建凭证信息,此处没有用数据获取的源头
///参数对应啦
userList.add(userItemDto);
}
}
result.put("visitDataInviteModel",manData);
result.put("visitDataSubItemModelList",userList);
return result;
}
/***
* 拉取访客所需的二维码信息
* @return
*/
@Override
public String pullVisitUserQrCode(String visitUserId) {
return null;
String apiUri = "/api/base/getqrcodedata";
HttpHeaders headers = this.loadHeaderHandle();
if(headers!=null){
JSONObject pushData = new JSONObject();
pushData.put("guid",visitUserId);
HttpEntity<JSONObject> httpEntity = new HttpEntity<>(pushData,headers);
StringBuffer uriAddr = new StringBuffer();
uriAddr.append(jieLinkUri).append(apiUri);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(uriAddr.toString(), httpEntity, String.class);
try{
if(HttpStatus.OK.value() ==responseEntity.getStatusCode().value()) {
JieLinkResultDto<JSONObject> resultData = JSONObject.parseObject(responseEntity.getBody(), JieLinkResultDto.class);
if(StringUtils.equals(resultData.getCode(),"0")){
JSONObject data = resultData.getData();
if(data.containsKey("qrCodeData")){
return data.getString("qrCodeData");
}else{
return null;
}
}else{
log.error("cancelVisitorData接口返回错误信息:"+resultData.getMsg());
//请求返回结果错误啦
return null;
}
}else{
//请求失败啦
return null;
}
}catch (Exception ex){
log.error(ex.getMessage(),ex);
return null;
}
}else{
//认证信息获取失败
return null;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment