|
@@ -82,6 +82,22 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
return ResponseJson.success("该账号可以注册");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 检查账号可以注册 -- 组织
|
|
|
+ *
|
|
|
+ * @param mobile 手机号
|
|
|
+ * @param organizeId 组织Id
|
|
|
+ * @return sucess
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson registerMobile(String mobile, Integer organizeId) {
|
|
|
+ String validate = commonService.organizeMobileValidate(mobile, null, organizeId);
|
|
|
+ if (validate != null) {
|
|
|
+ return ResponseJson.error(validate);
|
|
|
+ }
|
|
|
+ return ResponseJson.success("该账号可以注册");
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 普通机构入驻(注册)
|
|
|
*
|
|
@@ -340,6 +356,240 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
return ResponseJson.success("机构注册成功", null);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 组织注册信息校验
|
|
|
+ *
|
|
|
+ * @param bindMobile
|
|
|
+ * @param smsCode
|
|
|
+ * @param password
|
|
|
+ * @param passWordConfirm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson accountInfo(String bindMobile, String smsCode, String password, String passWordConfirm) {
|
|
|
+ if (StringUtils.isBlank(bindMobile) || StringUtils.isEmpty(bindMobile)) {
|
|
|
+ return ResponseJson.error(-1, "请输入手机号",null);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(smsCode) || StringUtils.isEmpty(smsCode)) {
|
|
|
+ return ResponseJson.error(-1, "请输入验证码",null);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(password) || StringUtils.isEmpty(password)) {
|
|
|
+ return ResponseJson.error(-1, "请输入登录密码",null);
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(passWordConfirm) || StringUtils.isEmpty(passWordConfirm)) {
|
|
|
+ return ResponseJson.error(-1, "请确认密码",null);
|
|
|
+ }
|
|
|
+ if (!password.equals(passWordConfirm)) {
|
|
|
+ return ResponseJson.error(-1, "两次输入的密码不一致",null);
|
|
|
+ }
|
|
|
+ // 手机号与验证码校验
|
|
|
+ String result = commonService.organizeMobileValidate(bindMobile, smsCode, 4);
|
|
|
+ if (result != null) {
|
|
|
+ return ResponseJson.error(result);
|
|
|
+ }
|
|
|
+ // 密码校验
|
|
|
+ String passResult = ValidateUtil.validatePassWord(password);
|
|
|
+ if (passResult != null) {
|
|
|
+ return ResponseJson.error(passResult);
|
|
|
+ }
|
|
|
+ return ResponseJson.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 组织普通机构注册
|
|
|
+ *
|
|
|
+ * @param organizeRegisterDto
|
|
|
+ * @param headers
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson accountRegister(OrganizeRegisterDto organizeRegisterDto, HttpHeaders headers) {
|
|
|
+ // 打印IP
|
|
|
+ String ip = headers.getFirst("X-CLIENT-IP");
|
|
|
+ log.info("机构注册 X-CLIENT-IP : " + ip);
|
|
|
+ // 参数校验
|
|
|
+ if (StringUtils.isBlank(organizeRegisterDto.getName()) || StringUtils.isEmpty(organizeRegisterDto.getName())) {
|
|
|
+ return ResponseJson.error("请输入机构名称");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(organizeRegisterDto.getAddress()) || StringUtils.isEmpty(organizeRegisterDto.getAddress())) {
|
|
|
+ return ResponseJson.error("请输入详细地址");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(organizeRegisterDto.getMedicalPracticeLicense()) || StringUtils.isEmpty(organizeRegisterDto.getMedicalPracticeLicense())) {
|
|
|
+ return ResponseJson.error("请上传营业执照");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(organizeRegisterDto.getShopPhoto()) || StringUtils.isEmpty(organizeRegisterDto.getShopPhoto())) {
|
|
|
+ return ResponseJson.error("请上传门头照");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(organizeRegisterDto.getBusinessLicense()) || StringUtils.isEmpty(organizeRegisterDto.getBusinessLicense())) {
|
|
|
+ return ResponseJson.error("请上传医疗职业许可证");
|
|
|
+ }
|
|
|
+ // 获取ip所在地
|
|
|
+ String ipAddress = "";
|
|
|
+ try {
|
|
|
+ ipAddress = IpUtil.recordIp(ip);
|
|
|
+ Map<String, String> map = IpUtil.recordAddress(ip);
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ log.info("ip所在地====》" + ipAddress);
|
|
|
+ /*
|
|
|
+ 组装用户数据 user
|
|
|
+ */
|
|
|
+ UserPo user = new UserPo();
|
|
|
+ // 设置日期时间格式
|
|
|
+ Date date = new Date();
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String current = dateFormat.format(date);
|
|
|
+ // 注册时间
|
|
|
+ user.setRegisterTime(current);
|
|
|
+ // 注册IP
|
|
|
+ user.setRegisterIp(ip);
|
|
|
+ // 注册IP所在地
|
|
|
+ user.setIpAddress(ipAddress);
|
|
|
+ // 注册来源: 0网站 1小程序
|
|
|
+ user.setSource(1);
|
|
|
+ // 用户类型,供应商1,会员机构3,普通机构4
|
|
|
+ user.setRegisterUserTypeId(4);
|
|
|
+ // 联合丽格4
|
|
|
+ user.setOrganizeId(4);
|
|
|
+ // 用户名
|
|
|
+ user.setName(organizeRegisterDto.getName());
|
|
|
+ user.setUserName(organizeRegisterDto.getName());
|
|
|
+ user.setOrganizeType(organizeRegisterDto.getOrganizeType());
|
|
|
+ // 绑定手机号
|
|
|
+ user.setBindMobile(organizeRegisterDto.getBindMobile());
|
|
|
+ // 用户身份: 1协销 2会员机构 3供应商 4普通机构
|
|
|
+ user.setUserIdentity(4);
|
|
|
+ // 用户权限: 2会员机构 3供应商 4协销 5普通机构
|
|
|
+ user.setUserPermission(5);
|
|
|
+ // 是否已经引导过(机构升级:0否,1是)
|
|
|
+ user.setGuideFlag(0);
|
|
|
+ // 联合丽格设置待审核
|
|
|
+ user.setClubStatus(1);
|
|
|
+ // 设置密码
|
|
|
+ user.setPassword(Md5Util.md5(organizeRegisterDto.getPassword()));
|
|
|
+ // 同意协议
|
|
|
+ user.setAgreeFlag(1);
|
|
|
+ // 用户状态,1正常,0冻结
|
|
|
+ user.setValidFlag(1);
|
|
|
+ // 协销Id,默认采美官方
|
|
|
+ user.setServiceProviderId(1342);
|
|
|
+ // 协销状态,已上线
|
|
|
+ user.setServiceProviderStatus(90);
|
|
|
+ /*
|
|
|
+ 保存数据库 user
|
|
|
+ */
|
|
|
+ int insertFlag = registerMapper.insertClubUser(user);
|
|
|
+ log.info("插入数据库User表,获得userId:" + user.getUserId());
|
|
|
+ if (insertFlag < 1) {
|
|
|
+ throw new RuntimeException("插入数据库异常user:" + user.toString());
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 保存用户状态
|
|
|
+ */
|
|
|
+ List<UserPo> userPos = registerMapper.selUser(current);
|
|
|
+ for (UserPo userInfo : userPos) {
|
|
|
+ registerMapper.insertOrgan(userInfo.getUserId());
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 组装机构数据
|
|
|
+ */
|
|
|
+ ClubPo club = new ClubPo();
|
|
|
+ // 机构名称
|
|
|
+ club.setName(user.getName());
|
|
|
+ // 联系手机
|
|
|
+ club.setContractMobile(user.getBindMobile());
|
|
|
+ // 联系人
|
|
|
+ club.setLinkMan(user.getUserName());
|
|
|
+ // 用户Id
|
|
|
+ club.setUserId(user.getUserId());
|
|
|
+ // 协销Id(spId)
|
|
|
+ club.setServiceProviderId(1342);
|
|
|
+ // 注册时间
|
|
|
+ club.setAddTime(current);
|
|
|
+ club.setSocialCreditCode(organizeRegisterDto.getSocialCreditCode());
|
|
|
+ club.setShopPhoto(organizeRegisterDto.getShopPhoto());
|
|
|
+ club.setBusinessLicense(organizeRegisterDto.getBusinessLicense());
|
|
|
+ club.setMedicalPracticeLicense(organizeRegisterDto.getMedicalPracticeLicense());
|
|
|
+ // 联合丽格设置待审核
|
|
|
+ club.setStatus(1);
|
|
|
+ // 机构地址
|
|
|
+ if (null != organizeRegisterDto.getProvinceId()) {
|
|
|
+ club.setProvinceId(organizeRegisterDto.getProvinceId());
|
|
|
+ }
|
|
|
+ if (null != organizeRegisterDto.getCityId()) {
|
|
|
+ club.setCityId(organizeRegisterDto.getCityId());
|
|
|
+ }
|
|
|
+ if (null != organizeRegisterDto.getTownId()) {
|
|
|
+ club.setTownId(organizeRegisterDto.getTownId());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(organizeRegisterDto.getAddress())) {
|
|
|
+ club.setAddress(organizeRegisterDto.getAddress());
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 保存数据库 club
|
|
|
+ */
|
|
|
+ int insertClubFlag = registerMapper.insertClub(club);
|
|
|
+ log.info("插入数据库club表,获得clubId:" + club.getClubId());
|
|
|
+ if (insertClubFlag < 1) {
|
|
|
+ throw new RuntimeException("插入数据库异常club:" + club.toString());
|
|
|
+ }
|
|
|
+ // user更新clubId
|
|
|
+ user.setClubId(club.getClubId());
|
|
|
+ registerMapper.updateUserClubId(user.getUserId(), club.getClubId());
|
|
|
+ // 添加机构协销记录
|
|
|
+ if (StringUtils.isNotBlank(club.getLinkMan())) {
|
|
|
+ clubMapper.inProvider(1342, club.getClubId(), club.getLinkMan(), 0);
|
|
|
+ }
|
|
|
+ // 绑定微信,成为机构运营人员
|
|
|
+ if (StringUtils.isNotEmpty(organizeRegisterDto.getNickName())) {
|
|
|
+ OperationPo operation = new OperationPo();
|
|
|
+ // 组织Id,采美默认0
|
|
|
+ operation.setOrganizeId(4);
|
|
|
+ // 用户Id
|
|
|
+ operation.setUserId(user.getUserId());
|
|
|
+ // 机构Id
|
|
|
+ operation.setClubId(club.getClubId());
|
|
|
+ // 微信昵称
|
|
|
+ operation.setNickName(organizeRegisterDto.getNickName());
|
|
|
+ // 微信头像
|
|
|
+ operation.setAvatarUrl(organizeRegisterDto.getAvatarUrl());
|
|
|
+ // 用户类型,1:机构类型,2供应商类型
|
|
|
+ operation.setUserType(1);
|
|
|
+ // 运营人员手机号
|
|
|
+ operation.setMobile(organizeRegisterDto.getBindMobile());
|
|
|
+ // 联系人
|
|
|
+ operation.setLinkName(organizeRegisterDto.getName());
|
|
|
+ // 运营人员状态:1未绑定,2已绑定
|
|
|
+ operation.setStatus(2);
|
|
|
+ // 微信unionId
|
|
|
+ operation.setUnionId(organizeRegisterDto.getUnionId());
|
|
|
+ Map<Object, Object> infoData = redisService.getEntries("wxInfo:applets:" + organizeRegisterDto.getUnionId());
|
|
|
+ String openId = (String) infoData.get(WeChatService.Keys.OPEN_ID);
|
|
|
+ // 微信openId
|
|
|
+ operation.setOpenId(openId);
|
|
|
+ // 添加时间
|
|
|
+ operation.setAddTime(date);
|
|
|
+ // 更新时间
|
|
|
+ operation.setUpdateTime(date);
|
|
|
+ // 绑定时间
|
|
|
+ operation.setBindTime(date);
|
|
|
+ // delFlag: 0 有效 其它无效
|
|
|
+ operation.setDelFlag(0);
|
|
|
+ /*
|
|
|
+ 保存数据库 operation
|
|
|
+ */
|
|
|
+ int insertOperationFlag = registerMapper.insertOperation(operation);
|
|
|
+ log.info("插入数据库cm_mall_operation_user表,获得id:" + operation.getId());
|
|
|
+ if (insertOperationFlag < 1) {
|
|
|
+ log.info(operation.getUserId() + " 插入数据库异常operation:" + operation.toString());
|
|
|
+ }
|
|
|
+ log.info("注册普通机构,默认绑定为机构运营人员");
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResponseJson.success();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 普通机构升级会员机构(资质机构)
|
|
|
*
|