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

“20200108 重构账户中心网络请求

上级 bb591cad
流水线 #20445 已失败 于阶段
in 1 second
...@@ -41,6 +41,13 @@ ...@@ -41,6 +41,13 @@
<artifactId>spring-cloud-starter-eureka</artifactId> <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.pica.cloud.base.doctor</groupId>
<artifactId>pica-cloud-doctor-client</artifactId>
<version>1.1.0.5-SNAPSHOT</version>
</dependency>
<!--Third party dependencies begin--> <!--Third party dependencies begin-->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
......
package com.pica.cloud.account.account.server.controller; package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.AccountUser; import com.pica.cloud.account.account.server.entity.AccountUser;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.exception.AccountException; import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.service.DoctorService; import com.pica.cloud.account.account.server.service.DoctorService;
import com.pica.cloud.account.account.server.util.AccountUtils; import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants; import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils; import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
......
...@@ -12,15 +12,15 @@ import com.pica.cloud.account.account.server.service.LoginService; ...@@ -12,15 +12,15 @@ import com.pica.cloud.account.account.server.service.LoginService;
import com.pica.cloud.account.account.server.service.TokenService; import com.pica.cloud.account.account.server.service.TokenService;
import com.pica.cloud.account.account.server.util.AccountUtils; import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil; import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.base.doctor.doctor.common.dto.PICAPDoctor;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.utils.CommonUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
......
package com.pica.cloud.account.account.server.controller; package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.entity.EncryptEntity; import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.AccountInfoService;
import com.pica.cloud.account.account.server.service.DoctorService; import com.pica.cloud.account.account.server.service.DoctorService;
import com.pica.cloud.account.account.server.service.ModifyMobileService; import com.pica.cloud.account.account.server.service.ModifyMobileService;
import com.pica.cloud.account.account.server.service.impl.AccountServiceImpl; import com.pica.cloud.account.account.server.service.impl.AccountServiceImpl;
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.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil; import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
package com.pica.cloud.account.account.server.controller; package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.entity.EncryptEntity; import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.exception.AccountException; import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper; import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.DoctorService; import com.pica.cloud.account.account.server.service.DoctorService;
import com.pica.cloud.account.account.server.service.PasswordService; import com.pica.cloud.account.account.server.service.PasswordService;
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.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil; import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
package com.pica.cloud.account.account.server.entity; package com.pica.cloud.account.account.server.entity;
import com.pica.cloud.base.doctor.doctor.common.dto.PICAPDoctor;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
/** /**
......
package com.pica.cloud.account.account.server.entity; //package com.pica.cloud.account.account.server.entity;
//
import java.util.Date; //import java.util.Date;
//
/** ///**
* @author andong // * @author andong
* @create 2019/10/16 // * @create 2019/10/16
*/ // */
public class PICAPDoctorEducation { //public class PICAPDoctorEducation {
private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
private Integer id = 0; // private Integer id = 0;
private Integer doctor_id = 0; // private Integer doctor_id = 0;
private String school_name = ""; // private String school_name = "";
private Integer major_id = 0; // private Integer major_id = 0;
private String major_name = ""; // private String major_name = "";
private String education_id = ""; // private String education_id = "";
private String education_name = ""; // private String education_name = "";
private String year = ""; // private String year = "";
private Integer delete_flag; // private Integer delete_flag;
private Integer creat_id; // private Integer creat_id;
protected Date creat_time; // protected Date creat_time;
private Integer modify_id; // private Integer modify_id;
protected Date modify_time; // protected Date modify_time;
private Integer create_id; // private Integer create_id;
protected Date create_time; // protected Date create_time;
//
//
public String getMajor_name() { // public String getMajor_name() {
return this.major_name; // return this.major_name;
} // }
//
public void setMajor_name(String major_name) { // public void setMajor_name(String major_name) {
this.major_name = major_name; // this.major_name = major_name;
} // }
//
public String getEducation_name() { // public String getEducation_name() {
return this.education_name; // return this.education_name;
} // }
//
public void setEducation_name(String education_name) { // public void setEducation_name(String education_name) {
this.education_name = education_name; // this.education_name = education_name;
} // }
//
public Integer getId() { // public Integer getId() {
return this.id; // return this.id;
} // }
//
public void setId(Integer id) { // public void setId(Integer id) {
this.id = id; // this.id = id;
} // }
//
public Integer getDoctor_id() { // public Integer getDoctor_id() {
return this.doctor_id; // return this.doctor_id;
} // }
//
public void setDoctor_id(Integer doctor_id) { // public void setDoctor_id(Integer doctor_id) {
this.doctor_id = doctor_id; // this.doctor_id = doctor_id;
} // }
//
public String getSchool_name() { // public String getSchool_name() {
return this.school_name; // return this.school_name;
} // }
//
public void setSchool_name(String school_name) { // public void setSchool_name(String school_name) {
this.school_name = school_name; // this.school_name = school_name;
} // }
//
public Integer getMajor_id() { // public Integer getMajor_id() {
return this.major_id; // return this.major_id;
} // }
//
public void setMajor_id(Integer major_id) { // public void setMajor_id(Integer major_id) {
this.major_id = major_id; // this.major_id = major_id;
} // }
//
public String getEducation_id() { // public String getEducation_id() {
return this.education_id; // return this.education_id;
} // }
//
public void setEducation_id(String education_id) { // public void setEducation_id(String education_id) {
this.education_id = education_id; // this.education_id = education_id;
} // }
//
public String getYear() { // public String getYear() {
return this.year; // return this.year;
} // }
//
public void setYear(String year) { // public void setYear(String year) {
this.year = year; // this.year = year;
} // }
//
public Integer getCreate_id() { // public Integer getCreate_id() {
return this.create_id; // return this.create_id;
} // }
//
public void setCreate_id(Integer create_id) { // public void setCreate_id(Integer create_id) {
this.create_id = create_id; // this.create_id = create_id;
} // }
//
public Date getCreate_time() { // public Date getCreate_time() {
return this.create_time; // return this.create_time;
} // }
//
public void setCreate_time(Date create_time) { // public void setCreate_time(Date create_time) {
this.create_time = create_time; // this.create_time = create_time;
} // }
//
public Integer getDelete_flag() { // public Integer getDelete_flag() {
return this.delete_flag; // return this.delete_flag;
} // }
//
public void setDelete_flag(Integer delete_flag) { // public void setDelete_flag(Integer delete_flag) {
this.delete_flag = delete_flag; // this.delete_flag = delete_flag;
} // }
//
public Integer getCreat_id() { // public Integer getCreat_id() {
return this.creat_id; // return this.creat_id;
} // }
//
public void setCreat_id(Integer creat_id) { // public void setCreat_id(Integer creat_id) {
this.creat_id = creat_id; // this.creat_id = creat_id;
} // }
//
public Date getCreat_time() { // public Date getCreat_time() {
return this.creat_time; // return this.creat_time;
} // }
//
public void setCreat_time(Date creat_time) { // public void setCreat_time(Date creat_time) {
this.creat_time = creat_time; // this.creat_time = creat_time;
} // }
//
public Integer getModify_id() { // public Integer getModify_id() {
return this.modify_id; // return this.modify_id;
} // }
//
public void setModify_id(Integer modify_id) { // public void setModify_id(Integer modify_id) {
this.modify_id = modify_id; // this.modify_id = modify_id;
} // }
//
public Date getModify_time() { // public Date getModify_time() {
return this.modify_time; // return this.modify_time;
} // }
//
public void setModify_time(Date modify_time) { // public void setModify_time(Date modify_time) {
this.modify_time = modify_time; // this.modify_time = modify_time;
} // }
} //}
...@@ -25,8 +25,5 @@ public class AccountRepeatDataJob extends IJobHandler { ...@@ -25,8 +25,5 @@ public class AccountRepeatDataJob extends IJobHandler {
accountInfoDetailMapper.processAccountRepeatData(); accountInfoDetailMapper.processAccountRepeatData();
XxlJobLogger.log("repeat date-----"); XxlJobLogger.log("repeat date-----");
return SUCCESS; return SUCCESS;
} }
} }
package com.pica.cloud.account.account.server.job; package com.pica.cloud.account.account.server.job;
import com.pica.cloud.account.account.server.mapper.DoctorMapper;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/** /**
* Created on 2019/12/16 17:53 * Created on 2019/12/16 17:53
* author:crs * author:crs
* Description:记录doctor修改记录日志 * Description:记录doctor修改记录日志
*/ */
@JobHandler(value = "DoctorLogHandler") //@JobHandler(value = "DoctorLogHandler")
@Component //@Component
public class DoctorLogHandler extends IJobHandler { //public class DoctorLogHandler extends IJobHandler {
//
@Autowired // @Autowired
private DoctorMapper doctorMapper; // private DoctorMapper doctorMapper;
//
@Override // @Override
public ReturnT<String> execute(String s) throws Exception { // public ReturnT<String> execute(String s) throws Exception {
XxlJobLogger.log("doctorLogRecord start-----"); // XxlJobLogger.log("doctorLogRecord start-----");
Integer rows = doctorMapper.updateDoctorModifyRecord(); // Integer rows = doctorMapper.updateDoctorModifyRecord();
XxlJobLogger.log("doctorLogRecord end-----"+rows); // XxlJobLogger.log("doctorLogRecord end-----"+rows);
return SUCCESS; // return SUCCESS;
} // }
} //}
...@@ -2,8 +2,7 @@ package com.pica.cloud.account.account.server.mapper; ...@@ -2,8 +2,7 @@ package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.Doctor; import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.entity.DoctorEntity; import com.pica.cloud.base.doctor.doctor.common.dto.PICAPDoctor;
import com.pica.cloud.account.account.server.entity.PICAPDoctor;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.HashMap; import java.util.HashMap;
......
package com.pica.cloud.account.account.server.service; package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
/** /**
* Created on 2019/9/11 11:01 * Created on 2019/9/11 11:01
......
package com.pica.cloud.account.account.server.service; package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.LoginResult; import com.pica.cloud.account.account.server.entity.LoginResult;
import com.pica.cloud.account.account.server.entity.PICAPDoctor;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.base.doctor.doctor.common.dto.PICAPDoctor;
public interface LoginService { public interface LoginService {
/** /**
......
package com.pica.cloud.account.account.server.service.impl; package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.exception.AccountException; import com.pica.cloud.account.account.server.exception.AccountException;
...@@ -10,13 +9,15 @@ import com.pica.cloud.account.account.server.mapper.DoctorMapper; ...@@ -10,13 +9,15 @@ import com.pica.cloud.account.account.server.mapper.DoctorMapper;
import com.pica.cloud.account.account.server.service.DoctorService; import com.pica.cloud.account.account.server.service.DoctorService;
import com.pica.cloud.account.account.server.util.AESUtil; 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.AccountUtils;
import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import com.pica.cloud.base.doctor.doctor.common.dto.DoctorInfoDto;
import com.pica.cloud.base.doctor.doctor.common.dto.WeChatDto;
import com.pica.cloud.foundation.entity.PicaResponse;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
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.web.bind.annotation.ResponseBody;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -29,6 +30,9 @@ import java.util.HashMap; ...@@ -29,6 +30,9 @@ import java.util.HashMap;
@Service @Service
public class DoctorServiceImpl implements DoctorService { public class DoctorServiceImpl implements DoctorService {
@Autowired
private DoctorServiceClient doctorServiceClient;
@Autowired @Autowired
private DoctorMapper doctorMapper; private DoctorMapper doctorMapper;
...@@ -37,18 +41,20 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -37,18 +41,20 @@ public class DoctorServiceImpl implements DoctorService {
@Override @Override
public Doctor getDoctorInfo(Integer id) { public Doctor getDoctorInfo(Integer id) {
return doctorMapper.selectByPrimaryKey(id); PicaResponse<Doctor> picaResponse = doctorServiceClient.getDoctorInfoById(id);
return picaResponse.getData();
} }
@Transactional @Transactional
@Override @Override
public void modifyDoctorInfo(Doctor doctor,Long doctorId) { public void modifyDoctorInfo(Doctor doctor, Long doctorId) {
Integer id = doctor.getId(); Integer id = doctor.getId();
if (id == null) { if (id == null) {
throw new AccountException(AccountExceptionEnum.PICA_PARAMS_ERROR); throw new AccountException(AccountExceptionEnum.PICA_PARAMS_ERROR);
} }
Doctor entity = doctorMapper.selectByPrimaryKey(id); PicaResponse<DoctorInfoDto> picaResponse = doctorServiceClient.getBaseInfoById(id);
if (entity == null) { DoctorInfoDto doctorInfoDto = picaResponse.getData();
if (doctorInfoDto == null) {
throw new AccountException(AccountExceptionEnum.PICA_NOT_EXIST); throw new AccountException(AccountExceptionEnum.PICA_NOT_EXIST);
} }
String mobilePhone = doctor.getMobilePhone(); String mobilePhone = doctor.getMobilePhone();
...@@ -57,8 +63,8 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -57,8 +63,8 @@ public class DoctorServiceImpl implements DoctorService {
} }
doctor.setMobilePhone(AESUtil.encryptV0(mobilePhone)); doctor.setMobilePhone(AESUtil.encryptV0(mobilePhone));
doctor.setModifyTime(new Date()); doctor.setModifyTime(new Date());
doctorMapper.updateByPrimaryKeySelective(doctor); doctorServiceClient.updateDoctorFromAccount(doctor);
Integer acctId = entity.getAcctId(); Integer acctId = doctorInfoDto.getAcctId();
AccountInfoEntity accountInfoEntity = new AccountInfoEntity(); AccountInfoEntity accountInfoEntity = new AccountInfoEntity();
accountInfoEntity.setMobilePhone(AESUtil.encryptV0(mobilePhone)); accountInfoEntity.setMobilePhone(AESUtil.encryptV0(mobilePhone));
accountInfoEntity.setId(acctId); accountInfoEntity.setId(acctId);
...@@ -69,21 +75,23 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -69,21 +75,23 @@ public class DoctorServiceImpl implements DoctorService {
@Transactional @Transactional
@Override @Override
public void deleteDoctorInfo(Integer id,Long modifyId) { public void deleteDoctorInfo(Integer id, Long modifyId) {
//p_doctor表修改记录状态 //p_doctor表修改记录状态
Doctor doctor = doctorMapper.selectByPrimaryKey(id); if (doctorServiceClient.getBaseInfoById(id) != null) {
if (doctor != null) { DoctorInfoDto doctor = doctorServiceClient.getBaseInfoById(id).getData();
Integer acctId = doctor.getAcctId(); if (doctor != null) {
HashMap<String, Long> map = new HashMap<>(); Integer acctId = doctor.getAcctId();
map.put("id",id.longValue()); HashMap<String, Long> map = new HashMap<>();
map.put("modifyId",modifyId); map.put("id", id.longValue());
doctorMapper.updateDeleteByPrimaryKey(map); map.put("modifyId", modifyId);
HashMap<String, Long> acctMap = new HashMap<>(); doctorMapper.updateDeleteByPrimaryKey(map);
acctMap.put("modifyId",modifyId); HashMap<String, Long> acctMap = new HashMap<>();
acctMap.put("acctId",acctId.longValue()); acctMap.put("modifyId", modifyId);
accountInfoDetailMapper.updateDeleteByPrimaryKey(acctMap); acctMap.put("acctId", acctId.longValue());
} else { accountInfoDetailMapper.updateDeleteByPrimaryKey(acctMap);
throw new AccountException(AccountExceptionEnum.PICA_NOT_REGISTER); } else {
throw new AccountException(AccountExceptionEnum.PICA_NOT_REGISTER);
}
} }
} }
...@@ -98,7 +106,7 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -98,7 +106,7 @@ public class DoctorServiceImpl implements DoctorService {
*/ */
@Override @Override
@Transactional @Transactional
public Integer addDoctorInfo(Doctor doctor,Long doctorId) { public Integer addDoctorInfo(Doctor doctor, Long doctorId) {
String mobilePhone = doctor.getMobilePhone(); String mobilePhone = doctor.getMobilePhone();
String mobileEncrypt = AESUtil.encryptV0(mobilePhone); String mobileEncrypt = AESUtil.encryptV0(mobilePhone);
AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(mobileEncrypt); AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(mobileEncrypt);
...@@ -133,19 +141,24 @@ public class DoctorServiceImpl implements DoctorService { ...@@ -133,19 +141,24 @@ public class DoctorServiceImpl implements DoctorService {
doctor.setModifyTime(new Date()); doctor.setModifyTime(new Date());
doctor.setRegisterSource(AccountTypeEnum.DEVICE_TYPE_ADMIN.getCode()); doctor.setRegisterSource(AccountTypeEnum.DEVICE_TYPE_ADMIN.getCode());
doctor.setDeleteFlag(1); doctor.setDeleteFlag(1);
doctorMapper.insertSelective(doctor); doctorServiceClient.insertDoctorFromAccount(doctor);
return doctor.getId(); return doctor.getId();
} }
@Override @Override
@Transactional @Transactional
public void bindWeChat(int acctId, String unionId) { public void bindWeChat(int acctId, String unionId) {
doctorMapper.bindWeChat(acctId, unionId); WeChatDto weChatDto = new WeChatDto();
weChatDto.setAcctId(acctId);
weChatDto.setUnionId(unionId);
doctorServiceClient.bindWeChatFromAccount(weChatDto);
} }
@Override @Override
@Transactional @Transactional
public void unbindWeChat(int acctId) { public void unbindWeChat(int acctId) {
doctorMapper.unbindWeChat(acctId); WeChatDto weChatDto = new WeChatDto();
weChatDto.setAcctId(acctId);
doctorServiceClient.unBindWeChatFromAccount(weChatDto);
} }
} }
package com.pica.cloud.account.account.server.service.impl; package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.*; import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
...@@ -15,18 +14,22 @@ import com.pica.cloud.account.account.server.util.AESUtil; ...@@ -15,18 +14,22 @@ 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.AccountUtils;
import com.pica.cloud.account.account.server.util.TokenUtils; import com.pica.cloud.account.account.server.util.TokenUtils;
import com.pica.cloud.account.account.server.util.WeChatUtils; import com.pica.cloud.account.account.server.util.WeChatUtils;
import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.dto.DoctorInfoDto;
import com.pica.cloud.base.doctor.doctor.common.dto.PICAPDoctor;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants; import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils; import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.entity.PicaException; import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -58,7 +61,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -58,7 +61,7 @@ public class LoginServiceImpl implements LoginService {
private RegisterService registerService; private RegisterService registerService;
@Autowired @Autowired
private DoctorMapper doctorInfoMapper; private DoctorServiceClient doctorServiceClient;
@Autowired @Autowired
private AccountUtils accountUtils; private AccountUtils accountUtils;
...@@ -67,7 +70,6 @@ public class LoginServiceImpl implements LoginService { ...@@ -67,7 +70,6 @@ public class LoginServiceImpl implements LoginService {
private DoctorService doctorService; private DoctorService doctorService;
@Autowired @Autowired
private ICacheClient redisClient; private ICacheClient redisClient;
@Value("${doubleWritingMode}") @Value("${doubleWritingMode}")
...@@ -82,6 +84,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -82,6 +84,7 @@ public class LoginServiceImpl implements LoginService {
private static final String DEFAULT_DOCTOR_PICTURE_URL = "/File/doctor_default.png"; private static final String DEFAULT_DOCTOR_PICTURE_URL = "/File/doctor_default.png";
public static Map<String, String> PIC_TYPE_MAP = new HashMap(); public static Map<String, String> PIC_TYPE_MAP = new HashMap();
static { static {
PIC_TYPE_MAP.put("jpg", "FFD8FF"); PIC_TYPE_MAP.put("jpg", "FFD8FF");
PIC_TYPE_MAP.put("jpeg", "FFD8FF"); PIC_TYPE_MAP.put("jpeg", "FFD8FF");
...@@ -107,7 +110,9 @@ public class LoginServiceImpl implements LoginService { ...@@ -107,7 +110,9 @@ public class LoginServiceImpl implements LoginService {
Integer acctId = accountInfoEntity.getId(); Integer acctId = accountInfoEntity.getId();
int productType = request.getProductType(); int productType = request.getProductType();
int sourceType = request.getSourceType(); int sourceType = request.getSourceType();
Doctor doctorInfo=doctorInfoMapper.getDoctorInfoByMobile(encrypt); PicaResponse<com.pica.cloud.base.doctor.doctor.common.dto.Doctor> picaResponse = doctorServiceClient
.getDoctorInfoByMobile(encrypt);
com.pica.cloud.base.doctor.doctor.common.dto.Doctor doctorInfo = picaResponse.getData();
Integer userId = 0; Integer userId = 0;
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) { if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
userId = doctorInfo.getId(); userId = doctorInfo.getId();
...@@ -126,7 +131,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -126,7 +131,7 @@ public class LoginServiceImpl implements LoginService {
result.setToken(newToken); result.setToken(newToken);
result.setUserId(userId.longValue()); result.setUserId(userId.longValue());
result.setMobile(mobile); result.setMobile(mobile);
result.setDoctorId(EncryptUtils.encryptContent(userId+"", EncryptConstants.ENCRYPT_TYPE_ID)); result.setDoctorId(EncryptUtils.encryptContent(userId + "", EncryptConstants.ENCRYPT_TYPE_ID));
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) { if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
result.setEntireFlag(doctorInfo.getEntireFlag()); result.setEntireFlag(doctorInfo.getEntireFlag());
} }
...@@ -176,11 +181,12 @@ public class LoginServiceImpl implements LoginService { ...@@ -176,11 +181,12 @@ public class LoginServiceImpl implements LoginService {
result.setToken(newToken); result.setToken(newToken);
result.setUserId(userId); result.setUserId(userId);
result.setMobile(baseRequest.getMobile()); result.setMobile(baseRequest.getMobile());
result.setDoctorId(EncryptUtils.encryptContent(userId+"", EncryptConstants.ENCRYPT_TYPE_ID)); result.setDoctorId(EncryptUtils.encryptContent(userId + "", EncryptConstants.ENCRYPT_TYPE_ID));
//是否完善过个人信息(云鹊医app才需要) //是否完善过个人信息(云鹊医app才需要)
if (baseRequest.getProductType() == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) { if (baseRequest.getProductType() == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
Doctor doctorEntity = doctorInfoMapper.selectByPrimaryKey(userId.intValue()); PicaResponse<PICAPDoctor> picaResponse = doctorServiceClient.getDoctorInfoOldById(userId);
result.setEntireFlag(doctorEntity.getEntireFlag()); PICAPDoctor doctor = picaResponse.getData();
result.setEntireFlag(doctor.getEntire_flag());
} }
//记录登录日志 //记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, baseRequest.getProductType(), baseRequest.getSourceType(), LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, baseRequest.getProductType(), baseRequest.getSourceType(),
...@@ -218,10 +224,11 @@ public class LoginServiceImpl implements LoginService { ...@@ -218,10 +224,11 @@ public class LoginServiceImpl implements LoginService {
LoginResult result = new LoginResult(); LoginResult result = new LoginResult();
result.setToken(newToken); result.setToken(newToken);
result.setUserId(userId); result.setUserId(userId);
result.setBindFlag(AccountTypeEnum.BIND_STATUS_SUCCESS.getCode()+""); result.setBindFlag(AccountTypeEnum.BIND_STATUS_SUCCESS.getCode() + "");
result.setDoctorId(EncryptUtils.encryptContent(userId+"", EncryptConstants.ENCRYPT_TYPE_ID)); result.setDoctorId(EncryptUtils.encryptContent(userId + "", EncryptConstants.ENCRYPT_TYPE_ID));
if (request.getProductType() == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) { if (request.getProductType() == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
PICAPDoctor doctor = doctorInfoMapper.queryDoctor(userId); PicaResponse<PICAPDoctor> picaResponse = doctorServiceClient.getDoctorInfoOldById(userId.longValue());
PICAPDoctor doctor = picaResponse.getData();
result.setEntireFlag(doctor.getEntire_flag()); result.setEntireFlag(doctor.getEntire_flag());
result.setMobile(AESUtil.decryptV0(doctor.getMobile_phone())); result.setMobile(AESUtil.decryptV0(doctor.getMobile_phone()));
} }
...@@ -233,7 +240,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -233,7 +240,7 @@ public class LoginServiceImpl implements LoginService {
} }
LoginResult result = new LoginResult(); LoginResult result = new LoginResult();
result.setUnionId(unionId); result.setUnionId(unionId);
result.setBindFlag(AccountTypeEnum.BIND_STATUS_FAILURE.getCode()+""); result.setBindFlag(AccountTypeEnum.BIND_STATUS_FAILURE.getCode() + "");
return result; return result;
} }
} }
...@@ -247,11 +254,11 @@ public class LoginServiceImpl implements LoginService { ...@@ -247,11 +254,11 @@ public class LoginServiceImpl implements LoginService {
result = registerService.register(request); result = registerService.register(request);
if (doubleWritingMode) { if (doubleWritingMode) {
//双写模式下,要在doctor表存储unionId //双写模式下,要在doctor表存储unionId
if (result.getUserId()!=null) { if (result.getUserId() != null) {
Doctor doctor = new Doctor(); com.pica.cloud.base.doctor.doctor.common.dto.Doctor doctor = new com.pica.cloud.base.doctor.doctor.common.dto.Doctor();
doctor.setId(result.getUserId().intValue()); doctor.setId(result.getUserId().intValue());
doctor.setUnionid(request.getUnionId()); doctor.setUnionid(request.getUnionId());
doctorInfoMapper.updateByPrimaryKeySelective(doctor); doctorServiceClient.updateDoctorFromAccount(doctor);
} }
} }
} else { } else {
...@@ -267,7 +274,9 @@ public class LoginServiceImpl implements LoginService { ...@@ -267,7 +274,9 @@ public class LoginServiceImpl implements LoginService {
@Override @Override
@Transactional @Transactional
public void unbindWeChat(long doctorId) { public void unbindWeChat(long doctorId) {
Integer acctId = doctorInfoMapper.getAcctIdByDoctorId(doctorId); PicaResponse<DoctorInfoDto> picaResponse = doctorServiceClient.getBaseInfoById(doctorId);
DoctorInfoDto data = picaResponse.getData();
Integer acctId = data.getAcctId();
accountUnionMapper.updateUnbindByAcctId(acctId); accountUnionMapper.updateUnbindByAcctId(acctId);
if (doubleWritingMode) { if (doubleWritingMode) {
doctorService.unbindWeChat(acctId); doctorService.unbindWeChat(acctId);
...@@ -290,7 +299,9 @@ public class LoginServiceImpl implements LoginService { ...@@ -290,7 +299,9 @@ public class LoginServiceImpl implements LoginService {
} else { } else {
updateWechatInfoUser(entity, weChatUserInfoEntity); updateWechatInfoUser(entity, weChatUserInfoEntity);
} }
Integer acctId = doctorInfoMapper.getAcctIdByDoctorId(doctorId); PicaResponse<DoctorInfoDto> picaResponse = doctorServiceClient.getBaseInfoById(doctorId);
DoctorInfoDto data = picaResponse.getData();
Integer acctId = data.getAcctId();
processAccountUnion(acctId, unionId); processAccountUnion(acctId, unionId);
return weChatUserInfoEntity.getNickname(); return weChatUserInfoEntity.getNickname();
} }
...@@ -355,7 +366,9 @@ public class LoginServiceImpl implements LoginService { ...@@ -355,7 +366,9 @@ public class LoginServiceImpl implements LoginService {
} }
public PICAPDoctor queryDoctor(long doctorId) { public PICAPDoctor queryDoctor(long doctorId) {
PICAPDoctor doctor = doctorInfoMapper.queryDoctor(doctorId); PicaResponse<PICAPDoctor> picaResponse = doctorServiceClient.getDoctorInfoOldById(doctorId);
PICAPDoctor doctor = picaResponse.getData();
if (doctor == null) { if (doctor == null) {
doctor = new PICAPDoctor(); doctor = new PICAPDoctor();
} }
......
package com.pica.cloud.account.account.server.service.impl; package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.exception.AccountException; import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper; import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.mapper.DoctorMapper;
import com.pica.cloud.account.account.server.service.ModifyMobileService; import com.pica.cloud.account.account.server.service.ModifyMobileService;
import com.pica.cloud.account.account.server.util.AESUtil; import com.pica.cloud.account.account.server.util.AESUtil;
import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -23,7 +23,7 @@ public class ModifyMobileServiceImpl implements ModifyMobileService { ...@@ -23,7 +23,7 @@ public class ModifyMobileServiceImpl implements ModifyMobileService {
private AccountInfoDetailMapper accountInfoDetailMapper; private AccountInfoDetailMapper accountInfoDetailMapper;
@Autowired @Autowired
private DoctorMapper doctorMapper; private DoctorServiceClient doctorServiceClient;
@Value("${doubleWritingMode}") @Value("${doubleWritingMode}")
private boolean doubleWritingMode; private boolean doubleWritingMode;
...@@ -51,7 +51,7 @@ public class ModifyMobileServiceImpl implements ModifyMobileService { ...@@ -51,7 +51,7 @@ public class ModifyMobileServiceImpl implements ModifyMobileService {
doctor.setModifyTime(currentTime); doctor.setModifyTime(currentTime);
doctor.setModifyId(acctId); doctor.setModifyId(acctId);
doctor.setMobilePhone(AESUtil.encryptV0(mobile)); doctor.setMobilePhone(AESUtil.encryptV0(mobile));
doctorMapper.updateByAcctId(doctor); doctorServiceClient.updateMobileByAcctId(doctor);
} }
} else { } else {
throw new AccountException(AccountExceptionEnum.PICA_NOT_EXIST); throw new AccountException(AccountExceptionEnum.PICA_NOT_EXIST);
......
package com.pica.cloud.account.account.server.service.impl; package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.Doctor;
import com.pica.cloud.account.account.server.entity.LogPWDModifyEntity; import com.pica.cloud.account.account.server.entity.LogPWDModifyEntity;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
...@@ -9,10 +8,11 @@ import com.pica.cloud.account.account.server.exception.AccountException; ...@@ -9,10 +8,11 @@ import com.pica.cloud.account.account.server.exception.AccountException;
import com.pica.cloud.account.account.server.log.AccountLogEntityUtils; import com.pica.cloud.account.account.server.log.AccountLogEntityUtils;
import com.pica.cloud.account.account.server.log.AccountLogUtils; import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper; import com.pica.cloud.account.account.server.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.mapper.DoctorMapper;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.PasswordService; import com.pica.cloud.account.account.server.service.PasswordService;
import com.pica.cloud.account.account.server.util.AESUtil; import com.pica.cloud.account.account.server.util.AESUtil;
import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -27,7 +27,7 @@ public class PasswordServiceImpl implements PasswordService { ...@@ -27,7 +27,7 @@ public class PasswordServiceImpl implements PasswordService {
private AccountInfoDetailMapper accountInfoDetailMapper; private AccountInfoDetailMapper accountInfoDetailMapper;
@Autowired @Autowired
private DoctorMapper doctorMapper; private DoctorServiceClient doctorServiceClient;
@Autowired @Autowired
private AccountLogUtils picaLogUtils; private AccountLogUtils picaLogUtils;
...@@ -103,6 +103,6 @@ public class PasswordServiceImpl implements PasswordService { ...@@ -103,6 +103,6 @@ public class PasswordServiceImpl implements PasswordService {
doctor.setMobilePhone(mobile); doctor.setMobilePhone(mobile);
doctor.setModifyTime(currentTime); doctor.setModifyTime(currentTime);
doctor.setModifyId(0); doctor.setModifyId(0);
doctorMapper.updateByMobile(doctor); doctorServiceClient.updateByMobile(doctor);
} }
} }
...@@ -179,27 +179,27 @@ public class AESUtil { ...@@ -179,27 +179,27 @@ public class AESUtil {
* 测试 * 测试
*/ */
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
// String KEY="zJJ$c5md3$yuuhWW"; String KEY="zJJ$c5md3$yuuhWW";
// System.out.println("-------------加密---------"); System.out.println("-------------加密---------");
// String content = "18621903846"; String content = "17521591002";
//
//
// System.out.println("加密前:" + content); System.out.println("加密前:" + content);
// System.out.println("加密密钥和解密密钥:" + KEY); System.out.println("加密密钥和解密密钥:" + KEY);
//
// System.out.println("-------------解密---------"); System.out.println("-------------解密---------");
// String encrypt = aesEncrypt(content, KEY); String encrypt = aesEncrypt(content, KEY);
// System.out.println("加密后:" + encrypt); System.out.println("加密后:" + encrypt);
// String decrypt = aesDecrypt("ieE4wN+GkIxm8S8tSVqTow==", KEY); String decrypt = aesDecrypt(encrypt, KEY);
// System.out.println("解密后:" + decrypt); System.out.println("解密后:" + decrypt);
//请求参数解密处理 //请求参数解密处理
String key="aPzpkXKhX0xsgwG0L7uOiz47fKQKKW1pzzIyx9wRSoCtm4vux1+ctjKzQ77jb+Vvt4zB/z0wr7U5nszk7kXLKQR4A6nU5nt8O44CHjCHUU0dWbpPyd2TKFdZ58ZyKLsk1+Xc4wJ1HB0FQjxJefWvo5ioFYLasOpxSbKU7oHqXq4="; // String key="aPzpkXKhX0xsgwG0L7uOiz47fKQKKW1pzzIyx9wRSoCtm4vux1+ctjKzQ77jb+Vvt4zB/z0wr7U5nszk7kXLKQR4A6nU5nt8O44CHjCHUU0dWbpPyd2TKFdZ58ZyKLsk1+Xc4wJ1HB0FQjxJefWvo5ioFYLasOpxSbKU7oHqXq4=";
String decrypt = RSAUtil.decrypt(key,procPrivateKey); // String decrypt = RSAUtil.decrypt(key,procPrivateKey);
System.out.println(decrypt); // System.out.println(decrypt);
String content="x/119w4nmos1xMG1DFNzBDeUP7BmyGViwXB66UCCk2HaCoJWhNg6qL1WoDMLGkiMJni8GV8fzEpd+1h9z4LA99wEkn47rbK6+MLaGkMIv+QmXzMLxThpLJNxadb2ltRyKgz5wERoFB/AH/xxgRn8kw=="; // String content="x/119w4nmos1xMG1DFNzBDeUP7BmyGViwXB66UCCk2HaCoJWhNg6qL1WoDMLGkiMJni8GV8fzEpd+1h9z4LA99wEkn47rbK6+MLaGkMIv+QmXzMLxThpLJNxadb2ltRyKgz5wERoFB/AH/xxgRn8kw==";
String result = AESUtil.aesDecrypt(content, decrypt); // String result = AESUtil.aesDecrypt(content, decrypt);
System.out.println(result); // System.out.println(result);
// ArrayList<String> list = new ArrayList<>(); // ArrayList<String> list = new ArrayList<>();
......
...@@ -2,12 +2,12 @@ package com.pica.cloud.account.account.server.util; ...@@ -2,12 +2,12 @@ package com.pica.cloud.account.account.server.util;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.controller.AccountController; import com.pica.cloud.account.account.server.controller.AccountController;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper; import com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper;
import com.pica.cloud.account.account.server.mapper.DoctorMapper; import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.base.doctor.doctor.common.dto.DoctorInfoDto;
import com.pica.cloud.foundation.entity.PicaException; import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode; import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.utils.ValidateUtils; import com.pica.cloud.foundation.utils.utils.ValidateUtils;
...@@ -15,7 +15,6 @@ import org.apache.commons.lang3.StringUtils; ...@@ -15,7 +15,6 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
...@@ -28,14 +27,14 @@ public class AccountUtils { ...@@ -28,14 +27,14 @@ public class AccountUtils {
private ICacheClient cacheClient; private ICacheClient cacheClient;
@Autowired
private DoctorServiceClient doctorServiceClient;
private Logger logger = LoggerFactory.getLogger(AccountController.class); private Logger logger = LoggerFactory.getLogger(AccountController.class);
@Autowired @Autowired
private AccountPatientInfoMapper accountPatientInfoMapper; private AccountPatientInfoMapper accountPatientInfoMapper;
@Autowired
private DoctorMapper doctorInfoMapper;
private static final String AUTH_CODE_PREFIX = "authCode-"; private static final String AUTH_CODE_PREFIX = "authCode-";
private static final String AUTH_CODE_COUNT_PREFIX = "authCode-count-"; private static final String AUTH_CODE_COUNT_PREFIX = "authCode-count-";
...@@ -89,7 +88,7 @@ public class AccountUtils { ...@@ -89,7 +88,7 @@ public class AccountUtils {
//验证码3次校验测试不通过,直接删除 //验证码3次校验测试不通过,直接删除
String authCodeCount = AUTH_CODE_COUNT_PREFIX + flag + "-" + AESUtil.encryptV0(mobile); String authCodeCount = AUTH_CODE_COUNT_PREFIX + flag + "-" + AESUtil.encryptV0(mobile);
logger.info("验证码缓存信息----->:"+this.getAuthCodeKey(mobile, flag)); logger.info("验证码缓存信息----->:" + this.getAuthCodeKey(mobile, flag));
if (cacheClient.exists(authCodeCount) && Integer.parseInt(cacheClient.get(authCodeCount)) > 2) { if (cacheClient.exists(authCodeCount) && Integer.parseInt(cacheClient.get(authCodeCount)) > 2) {
cacheClient.del(authCodeKey); cacheClient.del(authCodeKey);
...@@ -153,14 +152,12 @@ public class AccountUtils { ...@@ -153,14 +152,12 @@ public class AccountUtils {
* @return * @return
*/ */
public Long getUserIdByAcctId(Integer productType, Integer AcctId) { public Long getUserIdByAcctId(Integer productType, Integer AcctId) {
Long userId = null; PicaResponse<DoctorInfoDto> picaResponse = doctorServiceClient.getDoctorInfoByAcctId(AcctId.longValue());
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) { if (picaResponse != null && picaResponse.getData() != null) {
userId = doctorInfoMapper.selectUserIdByAcctId(AcctId); return picaResponse.getData().getAcctId().longValue();
} else if (productType == AccountTypeEnum.PRODUCT_TYPE_HEALTH.getCode()) { } else {
AccountPatientInfoEntity accountPatientInfoEntity = accountPatientInfoMapper.selectByAcctId(AcctId); return null;
userId = accountPatientInfoEntity.getId().longValue();
} }
return userId;
} }
......
package com.pica.cloud.account.account.server.util; package com.pica.cloud.account.account.server.util;
import com.pica.cloud.account.account.server.entity.Account; import com.pica.cloud.account.account.server.entity.Account;
import com.pica.cloud.account.account.server.entity.Doctor; import com.pica.cloud.base.doctor.doctor.client.DoctorServiceClient;
import com.pica.cloud.account.account.server.mapper.DoctorMapper; import com.pica.cloud.base.doctor.doctor.common.dto.Doctor;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -26,11 +26,10 @@ public class TokenUtils { ...@@ -26,11 +26,10 @@ public class TokenUtils {
private Logger logger = LoggerFactory.getLogger(this.getClass()); private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired @Autowired
private ICacheClient cacheClient; private ICacheClient cacheClient;
@Autowired @Autowired
private DoctorMapper doctorMapper; private DoctorServiceClient doctorServiceClient;
/** /**
* 校验token的状态 * 校验token的状态
...@@ -56,10 +55,10 @@ public class TokenUtils { ...@@ -56,10 +55,10 @@ public class TokenUtils {
//先清除旧token //先清除旧token
String value = "token-doctor-" + account.getId().toString(); String value = "token-doctor-" + account.getId().toString();
String sourceType = AccountUtils.getSourceType(registerSource); String sourceType = AccountUtils.getSourceType(registerSource);
String oldToken = cacheClient.get(value + "-"+sourceType); String oldToken = cacheClient.get(value + "-" + sourceType);
if (StringUtils.isNotBlank(oldToken)) { if (StringUtils.isNotBlank(oldToken)) {
Long del = cacheClient.del(oldToken); Long del = cacheClient.del(oldToken);
logger.info("num:---->"+del); logger.info("num:---->" + del);
} }
// 根据不同的产品线设置token有效期 // 根据不同的产品线设置token有效期
int expiredSeconds = 24 * 60 * 60; int expiredSeconds = 24 * 60 * 60;
...@@ -86,7 +85,8 @@ public class TokenUtils { ...@@ -86,7 +85,8 @@ public class TokenUtils {
data.put("created_time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(account.getCreatTime())); data.put("created_time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(account.getCreatTime()));
data.put("sysCode", sourceType); data.put("sysCode", sourceType);
if (account.getId() != null) { if (account.getId() != null) {
Doctor doctor = doctorMapper.selectByPrimaryKey(account.getId().intValue()); PicaResponse<Doctor> picaResponse = doctorServiceClient.getDoctorInfoById(account.getId().intValue());
Doctor doctor = picaResponse.getData();
data.put("town_id", doctor.getTown() + ""); data.put("town_id", doctor.getTown() + "");
data.put("town_name", doctor.getTownName() + ""); data.put("town_name", doctor.getTownName() + "");
data.put("county_id", doctor.getCounty() + ""); data.put("county_id", doctor.getCounty() + "");
...@@ -102,7 +102,7 @@ public class TokenUtils { ...@@ -102,7 +102,7 @@ public class TokenUtils {
data.put("title", doctor.getTitle() + ""); data.put("title", doctor.getTitle() + "");
data.put("title_id", doctor.getTitleId() + ""); data.put("title_id", doctor.getTitleId() + "");
data.put("status", doctor.getStatus() + ""); data.put("status", doctor.getStatus() + "");
if (!StringUtils.isBlank(doctor.getName())){ if (!StringUtils.isBlank(doctor.getName())) {
data.put("name", doctor.getName() + ""); data.put("name", doctor.getName() + "");
} }
} }
......
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pica.cloud.account.account.server.mapper.DoctorMapper"> <mapper namespace="com.pica.cloud.account.account.server.mapper.DoctorMapper">
<resultMap id="BaseResultMap" type="com.pica.cloud.account.account.server.entity.Doctor"> <resultMap id="BaseResultAllMap" type="com.pica.cloud.account.account.server.entity.Doctor">
<id column="id" property="id" jdbcType="INTEGER"/> <id column="id" property="id" jdbcType="INTEGER"/>
<result column="sex" property="sex" jdbcType="INTEGER"/> <result column="sex" property="sex" jdbcType="INTEGER"/>
<result column="name" property="name" jdbcType="VARCHAR"/> <result column="name" property="name" jdbcType="VARCHAR"/>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<result column="show_flag" property="showFlag" jdbcType="INTEGER"/> <result column="show_flag" property="showFlag" jdbcType="INTEGER"/>
<result column="acct_id" property="acctId" jdbcType="INTEGER"/> <result column="acct_id" property="acctId" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_all_List">
id, sex, name, mobile_phone, tel, status, type, hospital_id, department_id, title_id, id, sex, name, mobile_phone, tel, status, type, hospital_id, department_id, title_id,
hospital, department, title, cert_image_url, avatar_image_url, auth_time, honor, hospital, department, title, cert_image_url, avatar_image_url, auth_time, honor,
skills, thumb_up_num, email, qrcode, nickname, personal_sign, delete_flag, creat_id, skills, thumb_up_num, email, qrcode, nickname, personal_sign, delete_flag, creat_id,
...@@ -74,6 +74,13 @@ ...@@ -74,6 +74,13 @@
administer_title, register_type, first_login_time, card, birthday, show_flag, acct_id administer_title, register_type, first_login_time, card, birthday, show_flag, acct_id
</sql> </sql>
<select id="selectAllByPrimaryKey" resultMap="BaseResultAllMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_all_List"/>
from p_doctor
where id = #{id} and delete_flag=1
</select>
<!--通过账户id查询用户信息--> <!--通过账户id查询用户信息-->
<select id="selectUserIdByAcctId" parameterType="java.lang.Integer" resultType="java.lang.Long"> <select id="selectUserIdByAcctId" parameterType="java.lang.Integer" resultType="java.lang.Long">
SELECT id SELECT id
...@@ -122,12 +129,7 @@ ...@@ -122,12 +129,7 @@
and delete_flag = 1 and delete_flag = 1
</select> </select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer">
select
<include refid="Base_Column_List"/>
from p_doctor
where id = #{id} and delete_flag=1
</select>
<!--删除用户--> <!--删除用户-->
<update id="updateDeleteByPrimaryKey" parameterType="map"> <update id="updateDeleteByPrimaryKey" parameterType="map">
...@@ -1028,19 +1030,19 @@ ...@@ -1028,19 +1030,19 @@
where acct_id = #{acctId} where acct_id = #{acctId}
</update> </update>
<select id="queryDoctor" resultType="com.pica.cloud.account.account.server.entity.PICAPDoctor" <!--<select id="queryDoctor" resultType="com.pica.cloud.account.account.server.entity.PICAPDoctor"-->
parameterType="java.lang.Long"> <!--parameterType="java.lang.Long">-->
SELECT aa.id, aa.sex, aa.name, aa.mobile_phone, aa.status, <!--SELECT aa.id, aa.sex, aa.name, aa.mobile_phone, aa.status,-->
aa.type, aa.hospital_id, aa.department_id, aa.title_id,aa.card, <!--aa.type, aa.hospital_id, aa.department_id, aa.title_id,aa.card,-->
aa.hospital as hospital, aa.department, aa.title, aa.cert_image_url, <!--aa.hospital as hospital, aa.department, aa.title, aa.cert_image_url,-->
aa.avatar_image_url, aa.auth_time, aa.honor, aa.skills, aa.thumb_up_num, aa.email, <!--aa.avatar_image_url, aa.auth_time, aa.honor, aa.skills, aa.thumb_up_num, aa.email,-->
aa.qrcode, aa.nickname, aa.personal_sign, aa.delete_flag, aa.creat_id, aa.creat_time, <!--aa.qrcode, aa.nickname, aa.personal_sign, aa.delete_flag, aa.creat_id, aa.creat_time,-->
aa.modify_id, aa.modify_time, aa.praise_num, aa.password, aa.info, aa.rank, aa.province, <!--aa.modify_id, aa.modify_time, aa.praise_num, aa.password, aa.info, aa.rank, aa.province,-->
aa.city, aa.county, aa.invite_code, aa.gaoxueya_password, aa.sms_send_num, aa.total_sms_send_num, <!--aa.city, aa.county, aa.invite_code, aa.gaoxueya_password, aa.sms_send_num, aa.total_sms_send_num,-->
aa.entire_flag, aa.doctor_project_type,aa.invite_start_time <!--aa.entire_flag, aa.doctor_project_type,aa.invite_start_time-->
FROM p_doctor aa <!--FROM p_doctor aa-->
where aa.id = #{doctorId} and aa.delete_flag = 1 <!--where aa.id = #{doctorId} and aa.delete_flag = 1-->
</select> <!--</select>-->
<select id="getAcctIdByDoctorId" resultType="java.lang.Integer" parameterType="java.lang.Long"> <select id="getAcctIdByDoctorId" resultType="java.lang.Integer" parameterType="java.lang.Long">
select acct_id from p_doctor where id = #{id} select acct_id from p_doctor where id = #{id}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册