提交 d0fc1026 编写于 作者: rushui.chen's avatar rushui.chen

20191016 长海项目自动注册并完善信息

上级 b0901c9a
流水线 #15922 已失败 于阶段
in 6 second
......@@ -79,6 +79,12 @@
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
<dependency>
<groupId>com.pica.cloud.base.doctor</groupId>
<artifactId>pica-cloud-doctor-client</artifactId>
<version>1.1.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.pica.cloud.foundation</groupId>
<artifactId>pica-cloud-utils</artifactId>
......
......@@ -4,6 +4,7 @@ import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.OCINRequest;
import com.pica.cloud.account.account.server.service.RegisterService;
import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil;
......@@ -40,4 +41,16 @@ public class RegisterController extends AccountBaseController {
LoginResult result = registerService.register(request);
return PicaResponse.toResponse(result);
}
@ApiOperation("OCIN项目")
@PostMapping(value = "/ocin")
public PicaResponse register(@RequestBody OCINRequest ocinRequest) throws Exception {
ocinRequest.setFlag(AccountTypeEnum.SYSCODE_TYPE_REGISTER.getCode());
ocinRequest.setProductType(super.getProductType());
ocinRequest.setSourceType(super.getSourceType());
ocinRequest.setLoginIp(super.getIpAddr());
registerService.ocinRegister(ocinRequest);
return PicaResponse.toResponse();
}
}
package com.pica.cloud.account.account.server.req;
import io.swagger.annotations.ApiModelProperty;
/**
* Created on 2019/10/16 16:46
* author:crs
* Description:ocin项目
*/
public class OCINRequest {
public String mobile;
private String name;
private Integer type;
private Integer hospitalId;
private Integer flag;
@ApiModelProperty("产品线类型")
private Integer productType;
@ApiModelProperty("渠道来源")
private Integer sourceType;
@ApiModelProperty("登录ip")
private String loginIp;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getHospitalId() {
return hospitalId;
}
public void setHospitalId(Integer hospitalId) {
this.hospitalId = hospitalId;
}
public Integer getFlag() {
return flag;
}
public void setFlag(Integer flag) {
this.flag = flag;
}
public Integer getProductType() {
return productType;
}
public void setProductType(Integer productType) {
this.productType = productType;
}
public Integer getSourceType() {
return sourceType;
}
public void setSourceType(Integer sourceType) {
this.sourceType = sourceType;
}
public String getLoginIp() {
return loginIp;
}
public void setLoginIp(String loginIp) {
this.loginIp = loginIp;
}
}
......@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.OCINRequest;
public interface RegisterService {
......@@ -15,4 +16,12 @@ public interface RegisterService {
LoginResult register(BaseRequest baseRequest);
/**
* 长海项目医生注册
*
* @param request
*/
void ocinRegister(OCINRequest request);
}
......@@ -12,11 +12,14 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.mapper.*;
import com.pica.cloud.account.account.server.queue.QueueProducer;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.OCINRequest;
import com.pica.cloud.account.account.server.service.RegisterService;
import com.pica.cloud.account.account.server.util.AESUtil;
import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.ExecutorServiceUtils;
import com.pica.cloud.account.account.server.util.TokenUtils;
import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.req.PrefectInfoReq;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -63,6 +66,9 @@ public class RegisterServiceImpl implements RegisterService {
@Autowired
private AgreementLogEntityMapper agreementLogEntityMapper;
@Autowired
private DoctorServiceClient doctorServiceClient;
/**
* 1)注册功能:默认未完善信息;
* 2)注册成功后发送mq消息,让别的服务初始化数据;
......@@ -136,8 +142,6 @@ public class RegisterServiceImpl implements RegisterService {
result.setToken(newToken);
result.setUserId(userId);
result.setEntireFlag(1);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
try {
......@@ -157,6 +161,58 @@ public class RegisterServiceImpl implements RegisterService {
}
}
/**
* 长海项目医生自动注册,并完善信息
* @param request
*/
@Override
public void ocinRegister(OCINRequest request) {
String mobile = request.getMobile();
AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(mobile);
if (accountInfoEntity==null){
Date currentTime = new Date();
int productType = request.getProductType();
int sourceType = request.getSourceType();
AccountInfoEntity accountInfo = new AccountInfoEntity();
accountInfo.setMobilePhone(mobile);
accountInfo.setPassword("");
accountInfo.setCreatedTime(currentTime);
accountInfo.setCreatedId(0);
accountInfo.setModifiedId(0);
accountInfo.setModifiedTime(currentTime);
accountInfo.setRegTime(currentTime);
accountInfo.setDeleteFlag(1);
accountInfo.setSex(0);
accountInfo.setRegisterProduct(productType);
accountInfo.setRegisterSource(sourceType);
accountInfoDetailMapper.insertSelective(accountInfo);
Integer acctId = accountInfo.getId();
accountInfoDetailMapper.updateCreateInfo(acctId);
//数据插入医生表中
Account account = new Account();
account.setAcctId(acctId);
account.setMobilePhone(mobile);
account.setDeleteFlag(1);
account.setCreatId(0L);
account.setModifyId(0L);
account.setCreatTime(currentTime);
account.setModifyTime(currentTime);
account.setFirstLoginTime(currentTime);
account.setLastLoginTime(currentTime);
account.setPassword("");
accountMapper.insertSelective(account);
Long userId = accountUtils.getUserIdByAcctId(productType, acctId);
PrefectInfoReq prefectInfoReq = new PrefectInfoReq();
prefectInfoReq.setDoctorId(userId);
prefectInfoReq.setHospitalId(request.getHospitalId().longValue());
prefectInfoReq.setName(request.getName());
doctorServiceClient.prefectInfo(prefectInfoReq);
}else{
throw new AccountException(AccountExceptionEnum.PICA_ALREADY_REGISTER);
}
}
/**
* 异步处理协议信息
* 1)从协议表中获取最新的协议信息;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册