提交 26d1e997 编写于 作者: minghao.wu's avatar minghao.wu

feature: 创建用户

上级 788524eb
流水线 #43178 已失败 于阶段
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId> <artifactId>pica-cloud-account-common</artifactId>
<version>1.0.8</version> <version>1.0.9</version>
<name>pica-cloud-account-common</name> <name>pica-cloud-account-common</name>
<packaging>jar</packaging> <packaging>jar</packaging>
......
package com.pica.cloud.account.account.common.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel
public class CreateAccountReq {
@ApiModelProperty("机构id")
private Integer hospitalId;
@ApiModelProperty("输入姓名")
private String doctorName;
@ApiModelProperty("手机号")
private String mobilePhone;
public Integer getHospitalId() {
return hospitalId;
}
public void setHospitalId(Integer hospitalId) {
this.hospitalId = hospitalId;
}
public String getDoctorName() {
return doctorName;
}
public void setDoctorName(String doctorName) {
this.doctorName = doctorName;
}
public String getMobilePhone() {
return mobilePhone;
}
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
}
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
<dependency> <dependency>
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId> <artifactId>pica-cloud-account-common</artifactId>
<version>1.0.8</version> <version>1.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.controller; ...@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.common.req.CreateAccountReq;
import com.pica.cloud.account.account.server.constants.Constants; 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.Account;
import com.pica.cloud.account.account.server.entity.Doctor; import com.pica.cloud.account.account.server.entity.Doctor;
...@@ -462,6 +463,14 @@ public class AccountController extends AccountBaseController { ...@@ -462,6 +463,14 @@ public class AccountController extends AccountBaseController {
return PicaResponse.toResponse(doctorService.getDoctorsByInnerOrg()); return PicaResponse.toResponse(doctorService.getDoctorsByInnerOrg());
} }
@EnabledLoginValidate
@ApiOperation("代客下单-创建用户")
@PostMapping("/create")
public PicaResponse createAccountV2(@RequestBody CreateAccountReq req) {
return PicaResponse.toResponse(accountService.createAccountV2(req, fetchPicaUser()));
}
//手机格式校验 //手机格式校验
private void checkMobilePhone(String mobilePhone) { private void checkMobilePhone(String mobilePhone) {
if (StringUtils.isBlank(mobilePhone) || !ValidateUtils.isMobile(mobilePhone)) { if (StringUtils.isBlank(mobilePhone) || !ValidateUtils.isMobile(mobilePhone)) {
......
...@@ -26,6 +26,10 @@ public class Account { ...@@ -26,6 +26,10 @@ public class Account {
private Integer certifyStatus; private Integer certifyStatus;
private Integer hospitalId;
private String hospital;
private String nation; private String nation;
private String nativePlace; private String nativePlace;
...@@ -91,6 +95,22 @@ public class Account { ...@@ -91,6 +95,22 @@ public class Account {
this.nation = nation; this.nation = nation;
} }
public Integer getHospitalId() {
return hospitalId;
}
public void setHospitalId(Integer hospitalId) {
this.hospitalId = hospitalId;
}
public String getHospital() {
return hospital;
}
public void setHospital(String hospital) {
this.hospital = hospital;
}
public Integer getCertifyStatus() { public Integer getCertifyStatus() {
return certifyStatus; return certifyStatus;
} }
......
...@@ -70,6 +70,12 @@ public enum AccountExceptionEnum { ...@@ -70,6 +70,12 @@ public enum AccountExceptionEnum {
MOBILE_NOT_REGISTER("216560", "手机号{mobile}尚未注册"), MOBILE_NOT_REGISTER("216560", "手机号{mobile}尚未注册"),
PARAMS_BIZ_TYPE_EMPTY("216561", "参数bizType不能为空"), PARAMS_BIZ_TYPE_EMPTY("216561", "参数bizType不能为空"),
PROOF_GET_FAIL("216562", "网络出了点问题,请稍后重试"), PROOF_GET_FAIL("216562", "网络出了点问题,请稍后重试"),
CRM_MOBILE_EXIST_IN_HOSPITAL("216563", "该手机号已存在本机构中"),
CRM_MOBILE_NOT_IN_HOSPITAL("216564", "该手机号已存在,但未加入机构,请至云鹊医App中加入机构"),
CRM_MOBILE_IN_ANOTHER_HOSPITAL("216565", "该手机号已存在于{hospitalName}中,如需修改请至云鹊医App中修改所属机构"),
xxx_xxx("",""); xxx_xxx("","");
......
package com.pica.cloud.account.account.server.service; package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.common.req.CreateAccountReq;
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.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import java.util.Map; import java.util.Map;
...@@ -24,6 +26,9 @@ public interface AccountService { ...@@ -24,6 +26,9 @@ public interface AccountService {
//创建账号 //创建账号
void createAccount(Account account,Integer bizType); void createAccount(Account account,Integer bizType);
// 创建账号
Integer createAccountV2(CreateAccountReq req, PicaUser picaUser);
//更新账号信息 //更新账号信息
void updateAccountById(Account account); void updateAccountById(Account account);
......
package com.pica.cloud.account.account.server.service.impl; package com.pica.cloud.account.account.server.service.impl;
import com.pica.cloud.account.account.common.req.CreateAccountReq;
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.AccountInfoEntity; import com.pica.cloud.account.account.server.entity.AccountInfoEntity;
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.mapper.AccountInfoDetailMapper;
import com.pica.cloud.account.account.server.mapper.AccountMapper; import com.pica.cloud.account.account.server.mapper.AccountMapper;
import com.pica.cloud.account.account.server.service.AccountService; import com.pica.cloud.account.account.server.service.AccountService;
...@@ -10,6 +13,7 @@ import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants; ...@@ -10,6 +13,7 @@ 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.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.entity.PicaUser; import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.ValidateUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -128,6 +132,32 @@ public class AccountServiceImpl implements AccountService { ...@@ -128,6 +132,32 @@ public class AccountServiceImpl implements AccountService {
} }
} }
@Override
public Integer createAccountV2(CreateAccountReq req, PicaUser picaUser) {
/** 参数校验 */
if (StringUtils.isEmpty(req.getMobilePhone()) || StringUtils.isEmpty(req.getDoctorName()) || req.getHospitalId() == null) {
throw new AccountException(AccountExceptionEnum.PICA_PARAMS_ERROR);
}
if (!ValidateUtils.isMobile(req.getMobilePhone())) {
throw new AccountException(AccountExceptionEnum.PICA_MOBILE_ERROR);
}
/** 手机号已被占用,且机构不存在或机构为空 */
String encryptMobilePhone = EncryptUtils.encryptContent(req.getMobilePhone(), EncryptConstants.ENCRYPT_TYPE_MOBILE);
Account account = accountMapper.getByMobilePhone(encryptMobilePhone);
if (account == null) {
/** TODO: 新增流程 */
return 0;
}
if (account.getHospitalId() == null || account.getHospitalId() == 0) {
throw new AccountException(AccountExceptionEnum.CRM_MOBILE_NOT_IN_HOSPITAL);
}
if (!req.getHospitalId().equals(account.getHospitalId())) {
throw new AccountException(AccountExceptionEnum.CRM_MOBILE_IN_ANOTHER_HOSPITAL.getCode(), AccountExceptionEnum.CRM_MOBILE_IN_ANOTHER_HOSPITAL.getMessage().replace("{hospitalName}", account.getHospital()));
}
throw new AccountException(AccountExceptionEnum.CRM_MOBILE_EXIST_IN_HOSPITAL);
}
//更新账号信息 //更新账号信息
@Override @Override
@Transactional @Transactional
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<result column="status" jdbcType="INTEGER" property="status" /> <result column="status" jdbcType="INTEGER" property="status" />
<result column="certify_status" jdbcType="INTEGER" property="certifyStatus" /> <result column="certify_status" jdbcType="INTEGER" property="certifyStatus" />
<result column="nation" jdbcType="VARCHAR" property="nation" /> <result column="nation" jdbcType="VARCHAR" property="nation" />
<result column="hospital" jdbcType="VARCHAR" property="hospital" />
<result column="hospital_id" jdbcType="INTEGER" property="hospitalId" />
<result column="avatar_image_url" jdbcType="VARCHAR" property="avatarImageUrl" /> <result column="avatar_image_url" jdbcType="VARCHAR" property="avatarImageUrl" />
<result column="email" jdbcType="VARCHAR" property="email" /> <result column="email" jdbcType="VARCHAR" property="email" />
<result column="qrcode" jdbcType="VARCHAR" property="qrcode" /> <result column="qrcode" jdbcType="VARCHAR" property="qrcode" />
...@@ -36,7 +38,7 @@ ...@@ -36,7 +38,7 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, sex, name, mobile_phone, status, certify_status, nation, avatar_image_url, email, qrcode, nickname, personal_sign, delete_flag, id, sex, name, mobile_phone, status, certify_status, nation, hospital, hospital_id, avatar_image_url, email, qrcode, nickname, personal_sign, delete_flag,
creat_id, creat_time, modify_id, modify_time, password, info, entire_flag, reg_time, last_login_time, creat_id, creat_time, modify_id, modify_time, password, info, entire_flag, reg_time, last_login_time,
unionid, register_source, comment, register_type, first_login_time, card, birthday unionid, register_source, comment, register_type, first_login_time, card, birthday
</sql> </sql>
...@@ -63,6 +65,12 @@ ...@@ -63,6 +65,12 @@
<if test="avatarImageUrl != null"> <if test="avatarImageUrl != null">
avatar_image_url, avatar_image_url,
</if> </if>
<if test="hospitalId != null">
hospital_id,
</if>
<if test="hospital != null">
hospital,
</if>
<if test="acctId != null"> <if test="acctId != null">
acct_id, acct_id,
</if> </if>
...@@ -143,6 +151,12 @@ ...@@ -143,6 +151,12 @@
<if test="avatarImageUrl != null"> <if test="avatarImageUrl != null">
#{avatarImageUrl,jdbcType=VARCHAR}, #{avatarImageUrl,jdbcType=VARCHAR},
</if> </if>
<if test="hospitalId != null">
hospitalId,
</if>
<if test="hospital != null">
hospital,
</if>
<if test="acctId != null"> <if test="acctId != null">
#{acctId,jdbcType=INTEGER}, #{acctId,jdbcType=INTEGER},
</if> </if>
...@@ -227,6 +241,12 @@ ...@@ -227,6 +241,12 @@
<if test="nativePlace != null"> <if test="nativePlace != null">
native_place = #{nativePlace,jdbcType=VARCHAR}, native_place = #{nativePlace,jdbcType=VARCHAR},
</if> </if>
<if test="hospital != null">
hospital = #{hospital, jdbcType=VARCHAR},
</if>
<if test="hospitalId != null">
hospital_id = #{hospitalId,jdbcType=INTEGER},
</if>
<if test="sex != null"> <if test="sex != null">
sex = #{sex,jdbcType=INTEGER}, sex = #{sex,jdbcType=INTEGER},
</if> </if>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册