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

20190911 区分医生和患者信息分别存储

上级 b3351634
流水线 #14330 已失败 于阶段
in 0 second
......@@ -24,19 +24,25 @@ public class Constants {
public static final String BIND_FLAG = "bindFlag";
//联合登录id
public static final String UNION_ID = "unionId";
//用户是否完善过信息
public static final String USER_ENTIRE_FLAG = "entireFlag";
/** 请求头信息*/
public static final String HEADER_MOBILE="mobile";
public static final String HEADER_USER_TYPE="游客";
public static final String HEADER_BROWSER="browser";
public static final String HEADER_OPERATOR_SYSTEM="os";
public static final String HEADER_TERMINAL_TYPE="terminalType";
public static final String HEADER_SYS_CODE="sysCode";
public static final String HEADER_SYS_SOURCE="app";
public static final String HEADER_GUEST_ID="guest_id";
public static final String HEADER_IP="ip";
/** 时间格式化*/
public static final String TIME_FORMAT="yyyy-MM-dd HH:mm:ss";
/**
* 请求头信息
*/
public static final String HEADER_MOBILE = "mobile";
public static final String HEADER_USER_TYPE = "游客";
public static final String HEADER_BROWSER = "browser";
public static final String HEADER_OPERATOR_SYSTEM = "os";
public static final String HEADER_TERMINAL_TYPE = "terminalType";
public static final String HEADER_SYS_CODE = "sysCode";
public static final String HEADER_SYS_SOURCE = "app";
public static final String HEADER_GUEST_ID = "guest_id";
public static final String HEADER_IP = "ip";
/**
* 时间格式化
*/
public static final String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
}
......@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.configuration.PropertiesConfiguration;
import com.pica.cloud.account.account.server.constants.Constants;
import com.pica.cloud.account.account.server.entity.AccountUser;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.util.PICAPSendMsgModel;
import com.pica.cloud.foundation.entity.PicaException;
......@@ -159,7 +159,7 @@ public abstract class AccountBaseController extends BaseController {
return accountUser.getAcctId();
} catch (Exception e) {
e.printStackTrace();
throw new AccountException(AccountExceptionType.PICA_LOGIN_AGAIN);
throw new AccountException(AccountExceptionEnum.PICA_LOGIN_AGAIN);
}
}
......
package com.pica.cloud.account.account.server.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
/**
* Created on 2019/9/10 18:51
* author:crs
* Description:云鹊医 获取用户信息资源
*/
@Api(description = "云鹊医用户信息信息资源")
@RestController
public class DoctorInfoController {
//获取用户信息接口
//修改用户信息接口
}
......@@ -3,7 +3,7 @@ package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.entity.LogLoginEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
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.req.BaseRequest;
......@@ -39,7 +39,6 @@ public class LoginController extends AccountBaseController {
@Autowired
private AccountUtils accountUtils;
/**
* 密码登录接口
*
......@@ -57,7 +56,6 @@ public class LoginController extends AccountBaseController {
AccountUtils.checkMobilePhone(request.getMobile());
AccountUtils.checkPassword(request.getPassword());
String result = loginService.login(request);
//todo:查询是否完善过信息
return PicaResponse.toResponse(result);
}
......@@ -73,7 +71,7 @@ public class LoginController extends AccountBaseController {
public PicaResponse loginAndRegister(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
accountUtils.checkMobilePhone(request.getMobile());
accountUtils.getAuthCodeKey(request.getMobile(), AccountEnumType.SYSCODE_TYPE_LOGIN.getCode() + "");
accountUtils.getAuthCodeKey(request.getMobile(), AccountTypeEnum.SYSCODE_TYPE_LOGIN.getCode() + "");
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
......@@ -97,7 +95,7 @@ public class LoginController extends AccountBaseController {
public PicaResponse loginByWeChatStep(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
accountUtils.checkMobilePhone(request.getMobile());
accountUtils.checkAuthCode(request.getMobile(), AccountEnumType.SYSCODE_TYPE_WE_CHAT.getCode() + "", request.getSysCode());
accountUtils.checkAuthCode(request.getMobile(), AccountTypeEnum.SYSCODE_TYPE_WE_CHAT.getCode() + "", request.getSysCode());
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
......@@ -144,7 +142,7 @@ public class LoginController extends AccountBaseController {
Integer id = super.getAcctId();
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(id, super.getProductType(), super.getSourceType(),
AccountEnumType.LOGIN_OUT.getCode(), super.getIpAddr(), AccountEnumType.LOGIN_STATUS_SUCCESS.getCode(), AccountEnumType.LOG_TYPE_LOGIN.getCode());
AccountTypeEnum.LOGIN_OUT.getCode(), super.getIpAddr(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(), AccountTypeEnum.LOG_TYPE_LOGIN.getCode());
picaLogUtils.info(entity);
if (redisClient.deleteToken(token)) {
return PicaResponse.toResponse();
......
package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
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.service.ModifyMobileService;
import com.pica.cloud.account.account.server.util.AccountUtils;
......@@ -31,7 +31,7 @@ public class ModifyMobileController extends AccountBaseController {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
String mobile = request.getMobile();
accountUtils.checkMobilePhone(mobile);
accountUtils.checkAuthCode(mobile, AccountEnumType.SYSCODE_TYPE_MODIFY_MOBILE.getCode() + "", request.getSysCode());
accountUtils.checkAuthCode(mobile, AccountTypeEnum.SYSCODE_TYPE_MODIFY_MOBILE.getCode() + "", request.getSysCode());
modifyMobileService.modify(acctId, mobile);
return PicaResponse.toResponse();
}
......
package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.exception.AccountException;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.PasswordService;
......@@ -46,10 +46,10 @@ public class PasswordController extends AccountBaseController {
passwordService.modifyPassword(acctId, oldPwd, password);
return PicaResponse.toResponse();
} else {
throw new AccountException(AccountExceptionType.PICA_PASSWORD_EQUAL);
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_EQUAL);
}
} else {
throw new AccountException(AccountExceptionType.PICA_PASSWORD_NULL);
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_NULL);
}
}
......@@ -63,9 +63,9 @@ public class PasswordController extends AccountBaseController {
public PicaResponse forgetPassword(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
accountUtils.checkMobilePhone(request.getMobile());
accountUtils.checkAuthCode(request.getMobile(), AccountEnumType.SYSCODE_TYPE_RESET_PASSWORD.getCode() + "", request.getSysCode());
accountUtils.checkAuthCode(request.getMobile(), AccountTypeEnum.SYSCODE_TYPE_RESET_PASSWORD.getCode() + "", request.getSysCode());
if (StringUtils.isEmpty(request.getPassword())) {
throw new AccountException(AccountExceptionType.PICA_PASSWORD_ERROR);
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_ERROR);
}
passwordService.forgetPassword(request);
return PicaResponse.toResponse();
......
package com.pica.cloud.account.account.server.controller;
import com.aliyun.oss.common.utils.DateUtil;
import com.pica.cloud.account.account.server.entity.AccountUser;
import com.pica.cloud.account.account.server.entity.AccountUserInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.req.PatientReq;
import com.pica.cloud.account.account.server.service.UserInfoService;
import com.pica.cloud.account.account.server.service.PatientInfoService;
import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
@Api(description = "用户信息资源")
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Date;
@Api(description = "云鹊健康用户信息信息资源")
@RestController
public class UserInfoController extends AccountBaseController {
public class PatientInfoController extends AccountBaseController {
@Autowired
private UserInfoService userInfoService;
private PatientInfoService patientInfoService;
/**
* 获取用户信息接口
......@@ -33,7 +40,7 @@ public class UserInfoController extends AccountBaseController {
public PicaResponse getUserInfo() {
AccountUser accountUser = super.getAccountUser();
Integer userId = accountUser.getId();
AccountUserInfoEntity userInfo = userInfoService.getUserInfo(userId);
AccountPatientInfoEntity userInfo = patientInfoService.getUserInfo(userId);
return PicaResponse.toResponse(userInfo);
}
......@@ -49,9 +56,9 @@ public class UserInfoController extends AccountBaseController {
PatientReq request = CryptoUtil.decrypt(entity, PatientReq.class);
request.setId(id);
request.setAcctId(super.getAcctId());
AccountUserInfoEntity accountUserInfoEntity = new AccountUserInfoEntity();
BeanUtils.copyProperties(accountUserInfoEntity, request);
userInfoService.updateUserInfo(accountUserInfoEntity);
AccountPatientInfoEntity accountPatientInfoEntity = new AccountPatientInfoEntity();
BeanUtils.copyProperties(accountPatientInfoEntity, request);
patientInfoService.updateUserInfo(accountPatientInfoEntity);
return PicaResponse.toResponse();
}
......
package com.pica.cloud.account.account.server.controller;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
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.service.RegisterService;
import com.pica.cloud.account.account.server.util.AccountUtils;
......@@ -28,9 +28,9 @@ public class RegisterController extends AccountBaseController {
public PicaResponse<String> register(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
AccountUtils.checkMobilePhone(request.getMobile());
AccountUtils.getAuthCodeKey(request.getSysCode(), AccountEnumType.SYSCODE_TYPE_REGISTER.getCode() + "");
AccountUtils.getAuthCodeKey(request.getSysCode(), AccountTypeEnum.SYSCODE_TYPE_REGISTER.getCode() + "");
AccountUtils.checkPassword(request.getPassword());
request.setFlag(AccountEnumType.SYSCODE_TYPE_REGISTER.getCode());
request.setFlag(AccountTypeEnum.SYSCODE_TYPE_REGISTER.getCode());
request.setProductType(super.getProductType());
request.setSourceType(super.getSourceType());
request.setLoginIp(super.getIpAddr());
......
......@@ -3,15 +3,14 @@ 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.AccountUnionEntity;
import com.pica.cloud.account.account.server.entity.EncryptEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.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.service.AccountUnionService;
import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil;
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.utils.utils.CommonUtil;
......@@ -63,14 +62,14 @@ public class SysCodeController extends AccountBaseController {
@PostMapping(value = "/authCode/wechat")
public PicaResponse getWChatSysCode(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setFlag(AccountEnumType.SYSCODE_TYPE_WE_CHAT.getCode());
request.setFlag(AccountTypeEnum.SYSCODE_TYPE_WE_CHAT.getCode());
AccountUtils.checkMobilePhone(request.getMobile());
AccountUnionEntity accountUnionEntity = accountUnionService.selectInfoByUnionId(request.getUnionId());
if (accountUnionEntity != null) {
processSysCode(request.getMobile(), request.getFlag());
return PicaResponse.toResponse();
}
throw new AccountException(AccountExceptionType.PICA_UNBIND_MOBILE);
throw new AccountException(AccountExceptionEnum.PICA_UNBIND_MOBILE);
}
......
......@@ -5,6 +5,8 @@ import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.CommonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.util.CollectionUtils;
......@@ -22,6 +24,7 @@ import static com.pica.cloud.foundation.utils.utils.json.Object2Map.objectToMapS
* author:crs
* Description:获取随机token
*/
@Api(description = "获取游客token")
@RestController
public class TokenController extends AccountBaseController {
......@@ -29,6 +32,7 @@ public class TokenController extends AccountBaseController {
@Qualifier("cacheMigrateClient")
private ICacheClient redisClient;
@ApiOperation(value = "获取token接口")
@GetMapping(value = "/token")
public PicaResponse<String> getRandomToken() {
Map<String, Object> headersMap = super.getHeaders();
......
......@@ -2,7 +2,7 @@ package com.pica.cloud.account.account.server.entity;
import java.util.Date;
public class AccountUserInfoEntity {
public class AccountPatientInfoEntity {
private Integer id;
private Integer acctId;
......
package com.pica.cloud.account.account.server.entity;
import com.pica.cloud.foundation.utils.utils.date.DateAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;
/**
* Created on 2019/9/10 17:52
* author:crs
* Description:医生基本信息
*/
public class DoctorEntity {
private Integer id;
private Integer sex;
private String name = "";
private String mobile_phone = "";
private Integer status;
private Integer type;
private Integer hospital_id;
private Integer department_id;
private Integer title_id;
private String cert_image_url = "";
private String avatar_image_url = "";
@XmlJavaTypeAdapter(DateAdapter.class)
protected Date auth_time;
@XmlJavaTypeAdapter(DateAdapter.class)
protected Date invite_start_time;
private String honor = "";
private String skills = "";
private Integer thumb_up_num;
private String email = "";
private String qrcode = "";
private String nickname = "";
private String personal_sign = "";
private Integer praise_num;
private String password = "";
private String gaoxueya_password = "";
private String info = "";
private String rank = "";
private Long town;
private String town_name = "";
private Long county;
private String county_name = "";
private Long city;
private String city_name = "";
private Integer province;
private String province_name = "";
private String hospital = "";
private String department = "";
private String title = "";
private String card = "";
private String invite_code = "";
private int entire_flag;// 1未补全 2补全
private int sms_send_num;// 发送短信数量
private int total_sms_send_num;// 可发送短信总量
private int doctor_project_type;// 医生项目分类
// private String open_id;
private String unionid = "";
private Integer administer_title_id; // 行政职称id
private String administer_title; // 行政职称
private String school_name; // 学校名称
private Integer major_id; // 专业id
private String major_name; // 专业名称
private String education_id; // 学历no,p_constants表的no
private String education_name; // 学历名称
private String year; // 入学年份
protected Date birthday; //出生年月
private Integer register_source; // 注册来源 1.android, 2.ios, 3.saas, 4.wechat, 5.hypertension, 6.kf
private Integer register_type; // 注册类型 1医学生 2非医学生
private String token;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile_phone() {
return mobile_phone;
}
public void setMobile_phone(String mobile_phone) {
this.mobile_phone = mobile_phone;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getHospital_id() {
return hospital_id;
}
public void setHospital_id(Integer hospital_id) {
this.hospital_id = hospital_id;
}
public Integer getDepartment_id() {
return department_id;
}
public void setDepartment_id(Integer department_id) {
this.department_id = department_id;
}
public Integer getTitle_id() {
return title_id;
}
public void setTitle_id(Integer title_id) {
this.title_id = title_id;
}
public String getCert_image_url() {
return cert_image_url;
}
public void setCert_image_url(String cert_image_url) {
this.cert_image_url = cert_image_url;
}
public String getAvatar_image_url() {
return avatar_image_url;
}
public void setAvatar_image_url(String avatar_image_url) {
this.avatar_image_url = avatar_image_url;
}
public Date getAuth_time() {
return auth_time;
}
public void setAuth_time(Date auth_time) {
this.auth_time = auth_time;
}
public Date getInvite_start_time() {
return invite_start_time;
}
public void setInvite_start_time(Date invite_start_time) {
this.invite_start_time = invite_start_time;
}
public String getHonor() {
return honor;
}
public void setHonor(String honor) {
this.honor = honor;
}
public String getSkills() {
return skills;
}
public void setSkills(String skills) {
this.skills = skills;
}
public Integer getThumb_up_num() {
return thumb_up_num;
}
public void setThumb_up_num(Integer thumb_up_num) {
this.thumb_up_num = thumb_up_num;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getQrcode() {
return qrcode;
}
public void setQrcode(String qrcode) {
this.qrcode = qrcode;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getPersonal_sign() {
return personal_sign;
}
public void setPersonal_sign(String personal_sign) {
this.personal_sign = personal_sign;
}
public Integer getPraise_num() {
return praise_num;
}
public void setPraise_num(Integer praise_num) {
this.praise_num = praise_num;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getGaoxueya_password() {
return gaoxueya_password;
}
public void setGaoxueya_password(String gaoxueya_password) {
this.gaoxueya_password = gaoxueya_password;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public Long getTown() {
return town;
}
public void setTown(Long town) {
this.town = town;
}
public String getTown_name() {
return town_name;
}
public void setTown_name(String town_name) {
this.town_name = town_name;
}
public Long getCounty() {
return county;
}
public void setCounty(Long county) {
this.county = county;
}
public String getCounty_name() {
return county_name;
}
public void setCounty_name(String county_name) {
this.county_name = county_name;
}
public Long getCity() {
return city;
}
public void setCity(Long city) {
this.city = city;
}
public String getCity_name() {
return city_name;
}
public void setCity_name(String city_name) {
this.city_name = city_name;
}
public Integer getProvince() {
return province;
}
public void setProvince(Integer province) {
this.province = province;
}
public String getProvince_name() {
return province_name;
}
public void setProvince_name(String province_name) {
this.province_name = province_name;
}
public String getHospital() {
return hospital;
}
public void setHospital(String hospital) {
this.hospital = hospital;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCard() {
return card;
}
public void setCard(String card) {
this.card = card;
}
public String getInvite_code() {
return invite_code;
}
public void setInvite_code(String invite_code) {
this.invite_code = invite_code;
}
public int getEntire_flag() {
return entire_flag;
}
public void setEntire_flag(int entire_flag) {
this.entire_flag = entire_flag;
}
public int getSms_send_num() {
return sms_send_num;
}
public void setSms_send_num(int sms_send_num) {
this.sms_send_num = sms_send_num;
}
public int getTotal_sms_send_num() {
return total_sms_send_num;
}
public void setTotal_sms_send_num(int total_sms_send_num) {
this.total_sms_send_num = total_sms_send_num;
}
public int getDoctor_project_type() {
return doctor_project_type;
}
public void setDoctor_project_type(int doctor_project_type) {
this.doctor_project_type = doctor_project_type;
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
}
public Integer getAdminister_title_id() {
return administer_title_id;
}
public void setAdminister_title_id(Integer administer_title_id) {
this.administer_title_id = administer_title_id;
}
public String getAdminister_title() {
return administer_title;
}
public void setAdminister_title(String administer_title) {
this.administer_title = administer_title;
}
public String getSchool_name() {
return school_name;
}
public void setSchool_name(String school_name) {
this.school_name = school_name;
}
public Integer getMajor_id() {
return major_id;
}
public void setMajor_id(Integer major_id) {
this.major_id = major_id;
}
public String getMajor_name() {
return major_name;
}
public void setMajor_name(String major_name) {
this.major_name = major_name;
}
public String getEducation_id() {
return education_id;
}
public void setEducation_id(String education_id) {
this.education_id = education_id;
}
public String getEducation_name() {
return education_name;
}
public void setEducation_name(String education_name) {
this.education_name = education_name;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Integer getRegister_source() {
return register_source;
}
public void setRegister_source(Integer register_source) {
this.register_source = register_source;
}
public Integer getRegister_type() {
return register_type;
}
public void setRegister_type(Integer register_type) {
this.register_type = register_type;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
......@@ -5,10 +5,10 @@ package com.pica.cloud.account.account.server.entity;
*/
public class EncryptEntity {
// /**
// * 加密后的密文
// */
// private String key;
/**
* 加密后的密文
*/
private String key;
/**
* 加密后的数据
*/
......
......@@ -5,7 +5,7 @@ package com.pica.cloud.account.account.server.enums;
* author:crs
* Description:账户常用异常类型定义
*/
public enum AccountExceptionType {
public enum AccountExceptionEnum {
PICA_NOT_EMPTY("216501", "字段非空提示信息"),
PICA_MOBILE_ERROR("216502", "请输入正确的手机号"),
......@@ -27,7 +27,7 @@ public enum AccountExceptionType {
private String code;
private String message;
AccountExceptionType(String code, String message) {
AccountExceptionEnum(String code, String message) {
this.code = code;
this.message = message;
}
......
......@@ -5,7 +5,7 @@ package com.pica.cloud.account.account.server.enums;
* author:crs
* Description:账户常用枚举类型
*/
public enum AccountEnumType {
public enum AccountTypeEnum {
//登录类型枚举(记录登录日志时使用)
LOGIN_CODE(1, "验证码登录"),
......@@ -53,7 +53,7 @@ public enum AccountEnumType {
private int code;
private String type;
AccountEnumType(int code, String type) {
AccountTypeEnum(int code, String type) {
this.code = code;
this.type = type;
}
......
package com.pica.cloud.account.account.server.exception;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResultCode;
......@@ -19,7 +19,7 @@ public class AccountException extends PicaException {
super(picaResultCode);
}
public AccountException(AccountExceptionType exceptionType) {
public AccountException(AccountExceptionEnum exceptionType) {
super(exceptionType.getCode(), exceptionType.getMessage());
}
}
......@@ -4,7 +4,7 @@ package com.pica.cloud.account.account.server.log;
import com.pica.cloud.account.account.server.entity.LogLoginEntity;
import com.pica.cloud.account.account.server.entity.LogPWDModifyEntity;
import com.pica.cloud.account.account.server.entity.LogUserInfoEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.mapper.LogLoginMapper;
import com.pica.cloud.account.account.server.mapper.LogPWDModifyMapper;
......@@ -44,11 +44,11 @@ public class AccountLogTask implements Runnable {
@Override
public void run() {
if (type == AccountEnumType.LOG_TYPE_LOGIN.getCode()) {
if (type == AccountTypeEnum.LOG_TYPE_LOGIN.getCode()) {
loginLogMapper.insertSelective((LogLoginEntity) picaLogEntity);
} else if (type == AccountEnumType.LOG_TYPE_PASSWORD.getCode()) {
} else if (type == AccountTypeEnum.LOG_TYPE_PASSWORD.getCode()) {
logPWDModifyMapper.insert((LogPWDModifyEntity) picaLogEntity);
} else if (type == AccountEnumType.LOG_TYPE_USER_INFO.getCode()) {
} else if (type == AccountTypeEnum.LOG_TYPE_USER_INFO.getCode()) {
logUserInfoMapper.insertSelective((LogUserInfoEntity) picaLogEntity);
}
}
......
package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.AccountUserInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
public interface AccountPatientInfoMapper {
public interface AccountUserInfoMapper {
/**
* 通过userId查询居民信息
......@@ -11,7 +12,7 @@ public interface AccountUserInfoMapper {
* @param id userId
* @return
*/
AccountUserInfoEntity selectByPrimaryKey(Integer id);
AccountPatientInfoEntity selectByPrimaryKey(Integer id);
/**
* 通过用户id查询居民信息
......@@ -19,7 +20,7 @@ public interface AccountUserInfoMapper {
* @param id 用户id
* @return
*/
AccountUserInfoEntity selectByUserId(Integer id);
AccountPatientInfoEntity selectByUserId(Integer id);
/**
......@@ -28,7 +29,7 @@ public interface AccountUserInfoMapper {
* @param acctId
* @return
*/
AccountUserInfoEntity selectByAcctId(Integer acctId);
AccountPatientInfoEntity selectByAcctId(Integer acctId);
/**
* 更新居民信息接口
......@@ -36,15 +37,15 @@ public interface AccountUserInfoMapper {
* @param record 居民信息模型
* @return
*/
int updateByPrimaryKeySelective(AccountUserInfoEntity record);
int updateByPrimaryKeySelective(AccountPatientInfoEntity record);
int insertSelective(AccountUserInfoEntity record);
int insertSelective(AccountPatientInfoEntity record);
int updateByPrimaryKey(AccountUserInfoEntity record);
int updateByPrimaryKey(AccountPatientInfoEntity record);
int deleteByPrimaryKey(Integer id);
int insert(AccountUserInfoEntity record);
int insert(AccountPatientInfoEntity record);
}
\ No newline at end of file
package com.pica.cloud.account.account.server.mapper;
import com.pica.cloud.account.account.server.entity.DoctorEntity;
/**
* Created on 2019/9/10 17:48
* author:crs
* Description:查询医生信息
*/
public interface DoctorInfoMapper {
/**
* 获取医生信息
*
* @param mobile 手机号
* @return
*/
DoctorEntity getDoctorInfoByMobile(String mobile);
/**
* 通过账户信息查询用户id
*
* @param acctId
* @return
*/
Long selectUserIdByAcctId(Integer acctId);
}
package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.entity.AccountUserInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
public interface UserInfoService {
public interface PatientInfoService {
/**
* 更新用户信息接口
*
* @param accountUserInfoEntity 更新信息
* @param accountPatientInfoEntity 更新信息
*/
void updateUserInfo(AccountUserInfoEntity accountUserInfoEntity);
void updateUserInfo(AccountPatientInfoEntity accountPatientInfoEntity);
/**
......@@ -19,7 +19,7 @@ public interface UserInfoService {
* @param userId 用户id
* @return
*/
AccountUserInfoEntity getUserInfo(Integer userId);
AccountPatientInfoEntity getUserInfo(Integer userId);
/**
* 获取用户信息接口
......@@ -27,5 +27,5 @@ public interface UserInfoService {
* @param acctId 账户id
* @return
*/
AccountUserInfoEntity getUserInfoByAcctId(Integer acctId);
AccountPatientInfoEntity getUserInfoByAcctId(Integer acctId);
}
......@@ -4,14 +4,11 @@ package com.pica.cloud.account.account.server.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.constants.Constants;
import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.log.AccountLogEntityUtils;
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.AccountUnionMapper;
import com.pica.cloud.account.account.server.mapper.AccountUserInfoMapper;
import com.pica.cloud.account.account.server.mapper.AccountWeChatInfoMapper;
import com.pica.cloud.account.account.server.mapper.*;
import com.pica.cloud.account.account.server.req.AccountReq;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.LoginService;
......@@ -43,9 +40,6 @@ public class LoginServiceImpl implements LoginService {
@Autowired
private AccountInfoDetailMapper accountInfoDetailMapper;
@Autowired
private AccountUserInfoMapper accountUserInfoMapper;
@Autowired
private AccountUnionMapper accountUnionMapper;
......@@ -61,6 +55,12 @@ public class LoginServiceImpl implements LoginService {
@Autowired
private RegisterService registerService;
@Autowired
private DoctorInfoMapper doctorInfoMapper;
@Autowired
private AccountUtils accountUtils;
@Autowired
@Qualifier("cacheMigrateClient")
private ICacheClient redisClient;
......@@ -84,11 +84,11 @@ public class LoginServiceImpl implements LoginService {
//通过账户id查询用户id
Date currentTime = new Date();
Integer acctId = accountInfoEntity.getId();
AccountUserInfoEntity accountUserInfoEntity = accountUserInfoMapper.selectByAcctId(acctId);
int productType = request.getProductType();
int sourceType = request.getSourceType();
Long userId = accountUtils.getUserIdByAcctId(productType, acctId);
Account account = new Account();
account.setId(accountUserInfoEntity.getId().longValue());
account.setId(userId);
account.setAcctId(acctId);
account.setCreatTime(currentTime);
account.setMobilePhone(mobile);
......@@ -96,19 +96,24 @@ public class LoginServiceImpl implements LoginService {
String newToken = tokenUtils.generateToken(account);
JSONObject jsonObject = new JSONObject();
jsonObject.put(Constants.TOKEN, newToken);
jsonObject.put(Constants.USER_ID, accountUserInfoEntity.getId().longValue());
jsonObject.put(Constants.USER_ID, userId);
//是否完善过个人信息(云鹊医app才需要)
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
DoctorEntity doctorEntity = doctorInfoMapper.getDoctorInfoByMobile(EncryptCreateUtil.encrypt(mobile));
jsonObject.put(Constants.USER_ENTIRE_FLAG, doctorEntity.getEntire_flag());
}
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, productType, request.getSourceType(),
AccountEnumType.LOGIN_PWD.getCode(), request.getLoginIp(), AccountEnumType.LOGIN_STATUS_SUCCESS.getCode(),
AccountEnumType.LOG_TYPE_LOGIN.getCode());
AccountTypeEnum.LOGIN_PWD.getCode(), request.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode());
picaLogUtils.info(entity);
return jsonObject.toJSONString();
} else {
logger.info("login failure:" + mobile);
throw new PicaException(AccountExceptionType.PICA_PASSWORD_ERROR.getCode(), AccountExceptionType.PICA_PASSWORD_ERROR.getMessage());
throw new PicaException(AccountExceptionEnum.PICA_PASSWORD_ERROR.getCode(), AccountExceptionEnum.PICA_PASSWORD_ERROR.getMessage());
}
} else {
throw new PicaException(AccountExceptionType.PICA_NOT_REGISTER.getCode(), AccountExceptionType.PICA_NOT_REGISTER.getMessage());
throw new PicaException(AccountExceptionEnum.PICA_NOT_REGISTER.getCode(), AccountExceptionEnum.PICA_NOT_REGISTER.getMessage());
}
}
......@@ -120,7 +125,7 @@ public class LoginServiceImpl implements LoginService {
if (accountInfoEntity == null) {
return registerService.register(baseRequest);
} else {
return processLogin(baseRequest, accountInfoEntity.getId(), AccountEnumType.LOGIN_CODE.getCode());
return processLogin(baseRequest, accountInfoEntity.getId(), AccountTypeEnum.LOGIN_CODE.getCode());
}
}
......@@ -131,7 +136,7 @@ public class LoginServiceImpl implements LoginService {
*/
private String processLogin(BaseRequest baseRequest, Integer acctId, Integer loginType) {
Date currentTime = new Date();
AccountUserInfoEntity accountUserInfoEntity = accountUserInfoMapper.selectByUserId(acctId);
Long userId = accountUtils.getUserIdByAcctId(baseRequest.getProductType(), acctId);
//验证码登陆:只要相同即可成功
AccountReq accountReq = new AccountReq();
accountReq.setAuthCode(baseRequest.getSysCode());
......@@ -139,7 +144,7 @@ public class LoginServiceImpl implements LoginService {
accountReq.setFlag("0");
checkAuthCode(accountReq);
Account account = new Account();
account.setId(accountUserInfoEntity.getId().longValue());
account.setId(userId);
account.setAcctId(acctId);
account.setCreatTime(currentTime);
account.setMobilePhone(baseRequest.getMobile());
......@@ -147,10 +152,10 @@ public class LoginServiceImpl implements LoginService {
String newToken = tokenUtils.generateToken(account);
JSONObject jsonObject = new JSONObject();
jsonObject.put(Constants.TOKEN, newToken);
jsonObject.put(Constants.USER_ID, accountUserInfoEntity.getId().longValue());
jsonObject.put(Constants.USER_ID, userId);
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, baseRequest.getProductType(), baseRequest.getSourceType(),
loginType, baseRequest.getLoginIp(), AccountEnumType.LOGIN_STATUS_SUCCESS.getCode(), AccountEnumType.LOG_TYPE_LOGIN.getCode());
loginType, baseRequest.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(), AccountTypeEnum.LOG_TYPE_LOGIN.getCode());
;
picaLogUtils.info(entity);
return jsonObject.toJSONString();
......@@ -170,9 +175,9 @@ public class LoginServiceImpl implements LoginService {
if (accountUnionEntity != null) {
//是否绑定逻辑的判断
Long acctId = accountUnionEntity.getAcctId();
AccountUserInfoEntity accountUserInfoEntity = accountUserInfoMapper.selectByAcctId(acctId.intValue());
Long userId = accountUtils.getUserIdByAcctId(request.getProductType(), acctId.intValue());
Account account = new Account();
account.setId(accountUserInfoEntity.getId().longValue());
account.setId(userId);
account.setAcctId(acctId.intValue());
account.setCreatTime(new Date());
account.setMobilePhone(request.getMobile());
......@@ -180,8 +185,8 @@ public class LoginServiceImpl implements LoginService {
String newToken = tokenUtils.generateToken(account);
JSONObject jsonObject = new JSONObject();
jsonObject.put(Constants.TOKEN, newToken);
jsonObject.put(Constants.USER_ID, accountUserInfoEntity.getId().longValue());
jsonObject.put(Constants.BIND_FLAG, AccountEnumType.BIND_STATUS_SUCCESS.getCode());
jsonObject.put(Constants.USER_ID, userId);
jsonObject.put(Constants.BIND_FLAG, AccountTypeEnum.BIND_STATUS_SUCCESS.getCode());
return jsonObject.toJSONString();
} else {
AccountWeChatInfoEntity entity = accountWeChatInfoMapper.selectByUnionId(unionId);
......@@ -189,7 +194,7 @@ public class LoginServiceImpl implements LoginService {
processWeChatInfoUser(weChatUserInfoEntity, request.getWeChatLoginType());
}
JSONObject jsonObject = new JSONObject();
jsonObject.put(Constants.BIND_FLAG, AccountEnumType.BIND_STATUS_FAILURE.getCode());
jsonObject.put(Constants.BIND_FLAG, AccountTypeEnum.BIND_STATUS_FAILURE.getCode());
jsonObject.put(Constants.UNION_ID, unionId);
return jsonObject.toJSONString();
}
......@@ -203,7 +208,7 @@ public class LoginServiceImpl implements LoginService {
if (accountInfoEntity == null) {
json = registerService.register(request);
} else {
json = processLogin(request, accountInfoEntity.getId(), AccountEnumType.LOGIN_WE_CHAT.getCode());
json = processLogin(request, accountInfoEntity.getId(), AccountTypeEnum.LOGIN_WE_CHAT.getCode());
}
AccountInfoEntity accountInfo = accountInfoDetailMapper.selectByMobile(EncryptCreateUtil.encrypt(request.getMobile()));
Integer acctId = accountInfo.getId();
......@@ -242,7 +247,7 @@ public class LoginServiceImpl implements LoginService {
accountUnionEntity.setModifiedTime(new Date());
accountUnionEntity.setCreatedId(acctId);
accountUnionEntity.setModifiedId(acctId);
accountUnionEntity.setUnionType(AccountEnumType.UNION_LOGIN_WE_CHAT.getCode());
accountUnionEntity.setUnionType(AccountTypeEnum.UNION_LOGIN_WE_CHAT.getCode());
accountUnionMapper.insertSelective(accountUnionEntity);
}
......
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.enums.AccountExceptionType;
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.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.service.ModifyMobileService;
......@@ -23,7 +23,7 @@ public class ModifyMobileServiceImpl implements ModifyMobileService {
AccountInfoEntity entity = accountInfoDetailMapper.selectByPrimaryKey(acctId);
String mobilePhone = entity.getMobilePhone();
if (StringUtils.isNotEmpty(mobilePhone) && EncryptCreateUtil.dencrypt(mobilePhone).equals(mobile)) {
throw new AccountException(AccountExceptionType.PICA_MOBILE_SAME);
throw new AccountException(AccountExceptionEnum.PICA_MOBILE_SAME);
}
AccountInfoEntity accountInfoEntity = new AccountInfoEntity();
accountInfoEntity.setId(acctId);
......
......@@ -2,8 +2,8 @@ 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.LogPWDModifyEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.exception.AccountException;
import com.pica.cloud.account.account.server.log.AccountLogEntityUtils;
import com.pica.cloud.account.account.server.log.AccountLogUtils;
......@@ -37,10 +37,10 @@ public class PasswordServiceImpl implements PasswordService {
accountInfoDetailMapper.updatePasswordByPrimaryKey(accountInfoEntity);
//密码修改日志
LogPWDModifyEntity logPWDModifyEntity = AccountLogEntityUtils.getLogPWDModifyEntity(acctId, entity.getMobilePhone(),
EncryptCreateUtil.encrypt(oldPwd), EncryptCreateUtil.encrypt(pwd), AccountEnumType.LOG_TYPE_PASSWORD.getCode());
EncryptCreateUtil.encrypt(oldPwd), EncryptCreateUtil.encrypt(pwd), AccountTypeEnum.LOG_TYPE_PASSWORD.getCode());
picaLogUtils.info(logPWDModifyEntity);
} else {
throw new AccountException(AccountExceptionType.PICA_PASSWORD_ERROR);
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_ERROR);
}
}
......@@ -58,11 +58,11 @@ public class PasswordServiceImpl implements PasswordService {
//密码修改日志
LogPWDModifyEntity logPWDModifyEntity = AccountLogEntityUtils.getLogPWDModifyEntity(accId, entity.getMobilePhone(),
"", EncryptCreateUtil.encrypt(request.getPassword()), AccountEnumType.LOG_TYPE_PASSWORD.getCode());
"", EncryptCreateUtil.encrypt(request.getPassword()), AccountTypeEnum.LOG_TYPE_PASSWORD.getCode());
picaLogUtils.info(logPWDModifyEntity);
} else {
//未注册,请先注册
throw new AccountException(AccountExceptionType.PICA_NOT_REGISTER);
throw new AccountException(AccountExceptionEnum.PICA_NOT_REGISTER);
}
}
}
package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.server.entity.AccountUserInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
import com.pica.cloud.account.account.server.entity.LogUserInfoEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.mapper.AccountUserInfoMapper;
import com.pica.cloud.account.account.server.service.UserInfoService;
import com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper;
import com.pica.cloud.account.account.server.service.PatientInfoService;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -14,29 +14,31 @@ import java.lang.reflect.InvocationTargetException;
import java.util.Date;
@Service
public class UserInfoServerImpl implements UserInfoService {
public class PatientInfoServerImpl implements PatientInfoService {
@Autowired
private AccountUserInfoMapper accountUserInfoMapper;
private AccountPatientInfoMapper accountPatientInfoMapper;
@Autowired
private AccountLogUtils accountLogUtils;
@Override
public void updateUserInfo(AccountUserInfoEntity accountUserInfoEntity) {
accountUserInfoEntity.setModifyTime(new Date());
accountUserInfoEntity.setModifyId(accountUserInfoEntity.getAcctId());
accountUserInfoMapper.updateByPrimaryKeySelective(accountUserInfoEntity);
public void updateUserInfo(AccountPatientInfoEntity accountPatientInfoEntity) {
accountPatientInfoEntity.setModifyTime(new Date());
accountPatientInfoEntity.setModifyId(accountPatientInfoEntity.getAcctId());
accountPatientInfoMapper.updateByPrimaryKeySelective(accountPatientInfoEntity);
//用户信息更新日志
Integer userId = accountUserInfoEntity.getId();
AccountUserInfoEntity userInfo = getUserInfo(userId);
Integer userId = accountPatientInfoEntity.getId();
AccountPatientInfoEntity userInfo = getUserInfo(userId);
LogUserInfoEntity logUserInfoEntity = new LogUserInfoEntity();
try {
BeanUtils.copyProperties(logUserInfoEntity, userInfo);
Date currentTime = new Date();
logUserInfoEntity.setCreateTime(currentTime);
logUserInfoEntity.setModifyTime(currentTime);
logUserInfoEntity.setLogType(AccountEnumType.LOG_TYPE_USER_INFO.getCode());
logUserInfoEntity.setLogType(AccountTypeEnum.LOG_TYPE_USER_INFO.getCode());
accountLogUtils.info(logUserInfoEntity);
} catch (IllegalAccessException e) {
......@@ -47,12 +49,12 @@ public class UserInfoServerImpl implements UserInfoService {
}
@Override
public AccountUserInfoEntity getUserInfo(Integer userId) {
return accountUserInfoMapper.selectByUserId(userId);
public AccountPatientInfoEntity getUserInfo(Integer userId) {
return accountPatientInfoMapper.selectByUserId(userId);
}
@Override
public AccountUserInfoEntity getUserInfoByAcctId(Integer acctId) {
return accountUserInfoMapper.selectByAcctId(acctId);
public AccountPatientInfoEntity getUserInfoByAcctId(Integer acctId) {
return accountPatientInfoMapper.selectByAcctId(acctId);
}
}
......@@ -4,15 +4,16 @@ import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.constants.Constants;
import com.pica.cloud.account.account.server.entity.Account;
import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountUserInfoEntity;
import com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity;
import com.pica.cloud.account.account.server.entity.LogLoginEntity;
import com.pica.cloud.account.account.server.enums.AccountEnumType;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.exception.AccountException;
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.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.mapper.AccountUserInfoMapper;
import com.pica.cloud.account.account.server.mapper.AccountMapper;
import com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.service.RegisterService;
import com.pica.cloud.account.account.server.util.AccountUtils;
......@@ -37,7 +38,10 @@ public class RegisterServiceImpl implements RegisterService {
private AccountInfoDetailMapper accountInfoDetailMapper;
@Autowired
private AccountUserInfoMapper accountUserInfoMapper;
private AccountPatientInfoMapper accountUserInfoMapper;
@Autowired
private AccountMapper accountMapper;
@Autowired
@Qualifier("cacheMigrateClient")
......@@ -46,6 +50,9 @@ public class RegisterServiceImpl implements RegisterService {
@Autowired
private AccountLogUtils picaLogUtils;
@Autowired
private AccountUtils accountUtils;
@Override
public String register(BaseRequest baseRequest) {
String mobile = EncryptCreateUtil.encrypt(baseRequest.getMobile());
......@@ -74,17 +81,31 @@ public class RegisterServiceImpl implements RegisterService {
accountInfoDetailMapper.insertSelective(accountInfo);
Integer acctId = accountInfo.getId();
accountInfoDetailMapper.updateCreateInfo(acctId);
AccountUserInfoEntity accountUserInfoEntity = new AccountUserInfoEntity();
accountUserInfoEntity.setAcctId(acctId);
accountUserInfoEntity.setDeleteFlag(1);
accountUserInfoEntity.setCreateId(acctId);
accountUserInfoEntity.setModifyId(acctId);
accountUserInfoEntity.setCreateTime(currentTime);
accountUserInfoEntity.setModifyTime(currentTime);
accountUserInfoMapper.insertSelective(accountUserInfoEntity);
Integer userId = accountUserInfoEntity.getId();
if (productType == AccountTypeEnum.PRODUCT_TYPE_HEALTH.getCode()) {
AccountPatientInfoEntity accountPatientInfoEntity = new AccountPatientInfoEntity();
accountPatientInfoEntity.setAcctId(acctId);
accountPatientInfoEntity.setDeleteFlag(1);
accountPatientInfoEntity.setCreateId(acctId);
accountPatientInfoEntity.setModifyId(acctId);
accountPatientInfoEntity.setCreateTime(currentTime);
accountPatientInfoEntity.setModifyTime(currentTime);
accountUserInfoMapper.insertSelective(accountPatientInfoEntity);
} else {
Account account = new Account();
account.setAcctId(acctId);
account.setMobilePhone(EncryptCreateUtil.encrypt(account.getMobilePhone())); //手机号加密
account.setDeleteFlag(1);
account.setCreatId(0L);
account.setModifyId(0L);
account.setCreatTime(currentTime);
account.setModifyTime(currentTime);
account.setFirstLoginTime(currentTime);
account.setLastLoginTime(currentTime);
accountMapper.insertSelective(account);
}
Long userId = accountUtils.getUserIdByAcctId(productType, acctId);
Account account = new Account();
account.setId(userId.longValue());
account.setId(userId);
account.setAcctId(acctId);
account.setCreatTime(currentTime);
account.setMobilePhone(mobile);
......@@ -95,12 +116,12 @@ public class RegisterServiceImpl implements RegisterService {
jsonObject.put(Constants.USER_ID, userId);
//记录登录日志
LogLoginEntity entity = AccountLogEntityUtils.getLogLoginEntity(acctId, productType, baseRequest.getSourceType(),
AccountEnumType.LOGIN_REGISTER.getCode(), baseRequest.getLoginIp(), AccountEnumType.LOGIN_STATUS_SUCCESS.getCode(),
AccountEnumType.LOG_TYPE_LOGIN.getCode());
AccountTypeEnum.LOGIN_REGISTER.getCode(), baseRequest.getLoginIp(), AccountTypeEnum.LOGIN_STATUS_SUCCESS.getCode(),
AccountTypeEnum.LOG_TYPE_LOGIN.getCode());
picaLogUtils.info(entity);
return jsonObject.toJSONString();
} else {
throw new AccountException(AccountExceptionType.PICA_ALREADY_REGISTER);
throw new AccountException(AccountExceptionEnum.PICA_ALREADY_REGISTER);
}
}
......
package com.pica.cloud.account.account.server.util;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.enums.AccountExceptionType;
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.AccountTypeEnum;
import com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper;
import com.pica.cloud.account.account.server.mapper.DoctorInfoMapper;
import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.redis.ICacheClient;
......@@ -22,6 +27,12 @@ public class AccountUtils {
@Qualifier("cacheMigrateClient")
private ICacheClient cacheClient;
@Autowired
private AccountPatientInfoMapper accountPatientInfoMapper;
@Autowired
private DoctorInfoMapper doctorInfoMapper;
private static final String AUTH_CODE_PREFIX = "authCode-";
//手机格式校验
......@@ -34,7 +45,7 @@ public class AccountUtils {
//手机格式校验
public static void checkPassword(String password) {
if (StringUtils.isBlank(password)) {
throw new PicaException(AccountExceptionType.PICA_NOT_EMPTY.getCode(), AccountExceptionType.PICA_NOT_EMPTY.getMessage());
throw new PicaException(AccountExceptionEnum.PICA_NOT_EMPTY.getCode(), AccountExceptionEnum.PICA_NOT_EMPTY.getMessage());
}
}
......@@ -114,6 +125,25 @@ public class AccountUtils {
return sourceType;
}
/**
* 通过产品线类型获取用户id
*
* @param productType
* @param AcctId
* @return
*/
public Long getUserIdByAcctId(Integer productType, Integer AcctId) {
Long userId = null;
if (productType == AccountTypeEnum.PRODUCT_TYPE_DOCTOR.getCode()) {
userId = doctorInfoMapper.selectUserIdByAcctId(AcctId);
} else if (productType == AccountTypeEnum.PRODUCT_TYPE_HEALTH.getCode()) {
AccountPatientInfoEntity accountPatientInfoEntity = accountPatientInfoMapper.selectByAcctId(AcctId);
userId = accountPatientInfoEntity.getId().longValue();
}
return userId;
}
/**
* 校验手机号是否注册过
*
......
......@@ -56,7 +56,7 @@ public class CryptoUtil {
* @throws Exception
*/
public static <T> T decrypt(EncryptEntity encryptEntity, Class<T> zClass) throws Exception {
// TODO: 2019/8/27 : 暂时不处理这一块的逻辑
// TODO: 2019/8/27
//获取解密密钥
//String decryptKey = RSAUtil.decrypt(encryptEntity.getKey());
//解密数据
......
......@@ -60,6 +60,9 @@
<if test="avatarImageUrl != null">
avatar_image_url,
</if>
<if test="acctId != null">
acct_id,
</if>
<if test="email != null">
email,
</if>
......
<?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" >
<mapper namespace="com.pica.cloud.account.account.server.mapper.AccountUserInfoMapper">
<resultMap id="BaseResultMap" type="com.pica.cloud.account.account.server.entity.AccountUserInfoEntity">
<mapper namespace="com.pica.cloud.account.account.server.mapper.AccountPatientInfoMapper">
<resultMap id="BaseResultMap" type="com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="acct_id" property="acctId" jdbcType="INTEGER"/>
<result column="village_name" property="villageName" jdbcType="VARCHAR"/>
......@@ -65,7 +65,7 @@
delete from p_patient
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.AccountUserInfoEntity">
<insert id="insert" parameterType="com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity">
insert into p_patient (id, acct_id, village_name,
village_id, town_name, town_id,
county_name, county_id, city_name,
......@@ -87,7 +87,7 @@
#{createId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{modifyId,jdbcType=INTEGER},
#{modifyTime,jdbcType=TIMESTAMP}, #{deleteFlag,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.pica.cloud.account.account.server.entity.AccountUserInfoEntity"
<insert id="insertSelective" parameterType="com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity"
useGeneratedKeys="true" keyProperty="id">
insert into p_patient
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -270,7 +270,7 @@
</trim>
</insert>
<update id="updateByPrimaryKeySelective"
parameterType="com.pica.cloud.account.account.server.entity.AccountUserInfoEntity">
parameterType="com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity">
update p_patient
<set>
<if test="acctId != null">
......@@ -360,7 +360,7 @@
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.pica.cloud.account.account.server.entity.AccountUserInfoEntity">
<update id="updateByPrimaryKey" parameterType="com.pica.cloud.account.account.server.entity.AccountPatientInfoEntity">
update p_patient
set acct_id = #{acctId,jdbcType=INTEGER},
village_name = #{villageName,jdbcType=VARCHAR},
......
<?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" >
<mapper namespace="com.pica.cloud.account.account.server.mapper.DoctorInfoMapper">
<!--根据手机号获取数据-->
<select id="getDoctorInfoByMobile" resultType="com.pica.cloud.account.account.server.entity.DoctorEntity"
parameterType="java.lang.String">
SELECT aa.id, aa.sex, aa.unionid, aa.name, aa.mobile_phone, aa.status, aa.type, aa.hospital_id, aa.department_id,
aa.title_id, ifnull(bb.name,aa.hospital) as hospital,
ifnull(pde.name,aa.department) as department, ifnull(pt.name,aa.title) as title, aa.cert_image_url,
aa.avatar_image_url, aa.auth_time, aa.invite_start_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.modify_id,
aa.modify_time, aa.praise_num, aa.password, aa.info, aa.rank, aa.province, aa.city, aa.county,
aa.province_name, aa.city_name, aa.county_name,
aa.invite_code, aa.gaoxueya_password, aa.sms_send_num, aa.total_sms_send_num, aa.entire_flag, aa.doctor_project_type,
aa.administer_title_id, aa.administer_title,
pded.school_name, pded.major_id, pded.major_name, pded.education_id, pded.education_name, pded.year
FROM
p_doctor aa
left join
p_hospital bb
on aa.hospital_id = bb.id and bb.delete_flag=1
left join
p_title pt
on aa.title_id = pt.title_id
left join
p_department pde
on aa.department_id = pde.id
left join
p_doctor_education pded
on pded.doctor_id = aa.id
where aa.mobile_phone = #{mobile}
and aa.delete_flag = 1
limit 0,1
</select>
<!--通过账户id查询用户信息-->
<select id="selectUserIdByAcctId" parameterType="java.lang.Integer">
SELECT id
FROM p_doctor
where acct_id = #{acctId}
and delete_flag = 1
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册