小程序认证登录
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
|||||||
|
package com.ruoyi.web.controller.wisdomarbitrate;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import com.ruoyi.common.utils.http.HttpUtils;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||||
|
import com.ruoyi.wisdomarbitrate.service.WeChatUserService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wangqiong
|
||||||
|
* @description 微信小程序用户注册登录
|
||||||
|
* @date 2023-10-16 11:25
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/weChatUser")
|
||||||
|
public class WeChatUserController extends BaseController {
|
||||||
|
@Autowired
|
||||||
|
private WeChatUserService weChatUserService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小程序端获取手机验证码
|
||||||
|
* @param userVO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Anonymous
|
||||||
|
@GetMapping("/sendCode")
|
||||||
|
public AjaxResult sendCode( WeChatUserVO userVO)
|
||||||
|
{
|
||||||
|
if(StrUtil.isEmpty(userVO.getPhone())){
|
||||||
|
return warn("手机号不能为空");
|
||||||
|
}
|
||||||
|
return success(weChatUserService.sendCode(userVO));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 小程序注册
|
||||||
|
*/
|
||||||
|
@Anonymous
|
||||||
|
@PostMapping("/registerUser")
|
||||||
|
public AjaxResult registerUser( @RequestBody IdentityAuthentication ientityAuthentication) {
|
||||||
|
if(ientityAuthentication.getId()==null
|
||||||
|
|| StrUtil.isEmpty(ientityAuthentication.getName())
|
||||||
|
|| StrUtil.isEmpty(ientityAuthentication.getIdentityNo())
|
||||||
|
|| StrUtil.isEmpty(ientityAuthentication.getPhone())
|
||||||
|
|| StrUtil.isEmpty(ientityAuthentication.getEmail())
|
||||||
|
|| StrUtil.isEmpty(ientityAuthentication.getVerifyCode())
|
||||||
|
){
|
||||||
|
return warn("参数校验失败");
|
||||||
|
}
|
||||||
|
return weChatUserService.registerUser(ientityAuthentication);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -41,4 +41,5 @@ public class CacheConstants
|
|||||||
* 登录账户密码错误次数 redis key
|
* 登录账户密码错误次数 redis key
|
||||||
*/
|
*/
|
||||||
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
|
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
|
||||||
|
public static final String WE_CHAT_SMS_VERIFY_CODE_KEY="we_chat_sms_verify_code:";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,4 +134,11 @@ public interface SysUserMapper
|
|||||||
public SysUser checkEmailUnique(String email);
|
public SysUser checkEmailUnique(String email);
|
||||||
|
|
||||||
List<SysUser> selectUserListByIds(@Param("idList") List<Long> idList);
|
List<SysUser> selectUserListByIds(@Param("idList") List<Long> idList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据身份证号查询用户信息
|
||||||
|
* @param identityNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
SysUser selectUserByIdCard(@Param("idCard")String identityNo);
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-1
@@ -3,9 +3,10 @@ package com.ruoyi.wisdomarbitrate.domain;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@Data
|
||||||
public class IdentityAuthentication extends BaseEntity {
|
public class IdentityAuthentication extends BaseEntity {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -15,6 +16,20 @@ public class IdentityAuthentication extends BaseEntity {
|
|||||||
private String name;
|
private String name;
|
||||||
/** 身份证号 */
|
/** 身份证号 */
|
||||||
private String identityNo;
|
private String identityNo;
|
||||||
|
/**
|
||||||
|
* 短信验证码
|
||||||
|
*/
|
||||||
|
private String VerifyCode;
|
||||||
|
private String passWord;
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
* 邮箱
|
||||||
|
*/
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
* 身份证地址
|
||||||
|
*/
|
||||||
|
private String idAddress;
|
||||||
/** 认证时间 */
|
/** 认证时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date certificationTime;
|
private Date certificationTime;
|
||||||
@@ -44,6 +59,10 @@ public class IdentityAuthentication extends BaseEntity {
|
|||||||
private Long userId;
|
private Long userId;
|
||||||
/** 用户账号 */
|
/** 用户账号 */
|
||||||
private String userName;
|
private String userName;
|
||||||
|
/**
|
||||||
|
* 用户昵称
|
||||||
|
*/
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
/** EID商户id */
|
/** EID商户id */
|
||||||
private String merchantId;
|
private String merchantId;
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.Arbitrator;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信小程序用户注册登录
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class WeChatUserVO {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 微信用户唯一标识
|
||||||
|
*/
|
||||||
|
private String openId;
|
||||||
|
/**
|
||||||
|
* 微信授权的code,用户登录凭证
|
||||||
|
*/
|
||||||
|
private String wxCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 姓名
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "姓名不能为空")
|
||||||
|
private String name;
|
||||||
|
/** 身份证号 */
|
||||||
|
@NotEmpty(message = "身份证号不能为空")
|
||||||
|
private String identityNo;
|
||||||
|
/** 认证时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date certificationTime;
|
||||||
|
/** 认证状态 */
|
||||||
|
private Integer certificationStatus;
|
||||||
|
private String password;
|
||||||
|
/**
|
||||||
|
* 电话
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "电话不能为空")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
* 验证码
|
||||||
|
*/
|
||||||
|
private String verifyCode;
|
||||||
|
/**
|
||||||
|
* 邮箱
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "邮箱不能为空")
|
||||||
|
private String email;
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
private String createBy;
|
||||||
|
private String updateBy;
|
||||||
|
}
|
||||||
+1
-2
@@ -8,6 +8,5 @@ public interface IdentityAuthenticationMapper {
|
|||||||
IdentityAuthentication selectIdentityAuthentication(IdentityAuthentication identityAuthentication);
|
IdentityAuthentication selectIdentityAuthentication(IdentityAuthentication identityAuthentication);
|
||||||
|
|
||||||
|
|
||||||
|
void updateIdentityAuthentication(IdentityAuthentication ientityAuthentication);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wangqiong
|
||||||
|
* @description 微信小程序用户注册登录
|
||||||
|
* @date 2023-10-16 11:45
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface WeChatUserMapper {
|
||||||
|
int insertUser(WeChatUserVO userVO);
|
||||||
|
int updateUser(WeChatUserVO userVO);
|
||||||
|
List<WeChatUserVO> selectIdentityAuthentication(WeChatUserVO userVO);
|
||||||
|
|
||||||
|
WeChatUserVO selectUserByOppenId(@Param("oppenId") String openId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信小程序用户注册登录
|
||||||
|
*/
|
||||||
|
public interface WeChatUserService {
|
||||||
|
|
||||||
|
|
||||||
|
String sendCode(WeChatUserVO userVO);
|
||||||
|
|
||||||
|
|
||||||
|
AjaxResult registerUser(IdentityAuthentication ientityAuthentication);
|
||||||
|
}
|
||||||
+15
-8
@@ -8,8 +8,10 @@ import cn.hutool.crypto.symmetric.SymmetricCrypto;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.system.mapper.SysUserMapper;
|
||||||
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||||
import com.ruoyi.wisdomarbitrate.mapper.IdentityAuthenticationMapper;
|
import com.ruoyi.wisdomarbitrate.mapper.IdentityAuthenticationMapper;
|
||||||
import com.ruoyi.wisdomarbitrate.service.IdentityAuthenticationService;
|
import com.ruoyi.wisdomarbitrate.service.IdentityAuthenticationService;
|
||||||
@@ -46,6 +48,7 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IdentityAuthenticationMapper identityAuthenticationMapper;
|
private IdentityAuthenticationMapper identityAuthenticationMapper;
|
||||||
|
private SysUserMapper sysUserMapper;
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(IdentityAuthenticationServiceImpl.class);
|
private static final Logger log = LoggerFactory.getLogger(IdentityAuthenticationServiceImpl.class);
|
||||||
|
|
||||||
@@ -147,7 +150,7 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
|||||||
@Transactional
|
@Transactional
|
||||||
public AjaxResult selectIdentityAuthenticaRespon(IdentityAuthentication ientityAuthentication) {
|
public AjaxResult selectIdentityAuthenticaRespon(IdentityAuthentication ientityAuthentication) {
|
||||||
String eidToken = ientityAuthentication.getEidToken();
|
String eidToken = ientityAuthentication.getEidToken();
|
||||||
|
IdentityAuthentication authentication = new IdentityAuthentication();
|
||||||
try {
|
try {
|
||||||
Credential cred = new Credential(credentialSecretId, credentialSecretKey);
|
Credential cred = new Credential(credentialSecretId, credentialSecretKey);
|
||||||
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
||||||
@@ -181,8 +184,8 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
|||||||
String idcardno = info.getString("idnum");
|
String idcardno = info.getString("idnum");
|
||||||
String name = info.getString("name");
|
String name = info.getString("name");
|
||||||
//2.在用户认证表中插入用户认证记录
|
//2.在用户认证表中插入用户认证记录
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
// LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
IdentityAuthentication authentication = new IdentityAuthentication();
|
|
||||||
/**
|
/**
|
||||||
* 用户名
|
* 用户名
|
||||||
* 用户名id
|
* 用户名id
|
||||||
@@ -192,15 +195,17 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
|||||||
* 认证状态0表示成功
|
* 认证状态0表示成功
|
||||||
* 请求id
|
* 请求id
|
||||||
*/
|
*/
|
||||||
authentication.setUserName(loginUser.getUsername());
|
// authentication.setUserName(loginUser.getUsername());
|
||||||
authentication.setUserId(loginUser.getUserId());
|
// authentication.setUserId(loginUser.getUserId());
|
||||||
authentication.setName(name);
|
authentication.setName(name);
|
||||||
authentication.setIdentityNo(idcardno);
|
authentication.setIdentityNo(idcardno);
|
||||||
authentication.setCertificationTime(new Date());
|
authentication.setCertificationTime(new Date());
|
||||||
authentication.setCertificationStatus(0);
|
authentication.setCertificationStatus(0);
|
||||||
authentication.setCreateBy(loginUser.getUsername());
|
authentication.setCreateBy(name);
|
||||||
|
// authentication.setCreateBy(loginUser.getUsername());
|
||||||
try {
|
try {
|
||||||
identityAuthenticationMapper.insertIdentityAuthentication(authentication);
|
identityAuthenticationMapper.insertIdentityAuthentication(authentication);
|
||||||
|
authentication.setId(authentication.getId());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("认证记录新增失败");
|
System.out.println("认证记录新增失败");
|
||||||
}
|
}
|
||||||
@@ -210,12 +215,14 @@ public class IdentityAuthenticationServiceImpl implements IdentityAuthentication
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success(authentication);
|
||||||
} catch (TencentCloudSDKException e) {
|
} catch (TencentCloudSDKException e) {
|
||||||
System.out.println(e.toString());
|
System.out.println(e.toString());
|
||||||
}
|
}
|
||||||
return null;
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+148
@@ -0,0 +1,148 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.ruoyi.common.constant.CacheConstants;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||||
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.SmsUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.utils.http.HttpUtils;
|
||||||
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
|
import com.ruoyi.system.mapper.SysUserMapper;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.IdentityAuthentication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO;
|
||||||
|
import com.ruoyi.wisdomarbitrate.mapper.IdentityAuthenticationMapper;
|
||||||
|
import com.ruoyi.wisdomarbitrate.mapper.WeChatUserMapper;
|
||||||
|
import com.ruoyi.wisdomarbitrate.service.WeChatUserService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wangqiong
|
||||||
|
* @description 微信小程序用户注册登录
|
||||||
|
* @date 2023-10-16 11:45
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class WeChatUserServiceImpl implements WeChatUserService {
|
||||||
|
String appid="wx91cb8459dca561b4";//自行获取
|
||||||
|
//小程序secret
|
||||||
|
String secret="190aaa3bda96a65d25318fbb0e133fc6";//自己去公众号后台获取
|
||||||
|
// 获取openId
|
||||||
|
String openIdUrl = "https://api.weixin.qq.com/sns/jscode2session";
|
||||||
|
@Autowired
|
||||||
|
private WeChatUserMapper weChatUserMapper;
|
||||||
|
@Autowired
|
||||||
|
private SysUserMapper sysUserMapper;
|
||||||
|
@Autowired
|
||||||
|
private IdentityAuthenticationMapper identityAuthenticationMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String sendCode(WeChatUserVO userVO) {
|
||||||
|
Random random = new Random();
|
||||||
|
String code = "";
|
||||||
|
for (int i = 0; i < 6; i++) {
|
||||||
|
|
||||||
|
code += random.nextInt(10);
|
||||||
|
}
|
||||||
|
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
|
||||||
|
request.setTemplateId("1952136");
|
||||||
|
// 1948332 普通短信 开庭审理房间号通知 尊敬的{1}用户,您的{2}仲裁案件,开庭审理房间号为{3},请知晓,如非本人操作,请忽略本短信。
|
||||||
|
request.setPhone(userVO.getPhone());
|
||||||
|
request.setTemplateParamSet(new String[]{"王琼", "验证码", code});
|
||||||
|
Boolean flag = SmsUtils.sendSms(request);
|
||||||
|
if(flag){
|
||||||
|
setCodeCache(userVO.getPhone(),code);
|
||||||
|
}
|
||||||
|
return "短信发送成功";
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 设置字典缓存
|
||||||
|
*
|
||||||
|
* @param key 参数键
|
||||||
|
* @param code 字典数据列表
|
||||||
|
*/
|
||||||
|
public static void setCodeCache(String key, String code)
|
||||||
|
{
|
||||||
|
SpringUtils.getBean(RedisCache.class).setCacheObject(getVerifyCodeCacheKey(key), code, 5,TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典缓存
|
||||||
|
*
|
||||||
|
* @param key 参数键
|
||||||
|
* @return dictDatas 字典数据列表
|
||||||
|
*/
|
||||||
|
public static String getCodeCache(String key)
|
||||||
|
{
|
||||||
|
String codeCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getVerifyCodeCacheKey(key));
|
||||||
|
if (StringUtils.isNotNull(codeCache))
|
||||||
|
{
|
||||||
|
return codeCache;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getVerifyCodeCacheKey(String key) {
|
||||||
|
return CacheConstants.WE_CHAT_SMS_VERIFY_CODE_KEY + key;
|
||||||
|
}
|
||||||
|
@Transactional
|
||||||
|
@Override
|
||||||
|
public AjaxResult registerUser(IdentityAuthentication ientityAuthentication) {
|
||||||
|
// 校验短信验证码
|
||||||
|
// if(StrUtil.isEmpty(getCodeCache(ientityAuthentication.getPhone()))){
|
||||||
|
// return AjaxResult.success("验证码校验失败");
|
||||||
|
// }
|
||||||
|
// 根据身份证查询系统用户表中是否存在该用户,存在则同步已认证的信息,不存在则新增
|
||||||
|
SysUser sysUser=sysUserMapper.selectUserByIdCard(ientityAuthentication.getIdentityNo());
|
||||||
|
|
||||||
|
if(sysUser!=null){
|
||||||
|
sysUser.setIdCard(ientityAuthentication.getIdentityNo());
|
||||||
|
sysUser.setNickName(ientityAuthentication.getName());
|
||||||
|
sysUser.setUserName(ientityAuthentication.getUserName());
|
||||||
|
sysUser.setPhonenumber(ientityAuthentication.getPhone());
|
||||||
|
sysUser.setEmail(ientityAuthentication.getEmail());
|
||||||
|
sysUser.setPassword(SecurityUtils.encryptPassword(ientityAuthentication.getPassWord()));
|
||||||
|
sysUserMapper.updateUser(sysUser);
|
||||||
|
ientityAuthentication.setUserId(sysUser.getUserId());
|
||||||
|
}else {
|
||||||
|
sysUser=new SysUser();
|
||||||
|
// 用户名设为电话号
|
||||||
|
sysUser.setUserName(ientityAuthentication.getPhone());
|
||||||
|
sysUser.setIdCard(ientityAuthentication.getIdentityNo());
|
||||||
|
sysUser.setNickName(ientityAuthentication.getName());
|
||||||
|
sysUser.setUserName(ientityAuthentication.getUserName());
|
||||||
|
sysUser.setPhonenumber(ientityAuthentication.getPhone());
|
||||||
|
sysUser.setEmail(ientityAuthentication.getEmail());
|
||||||
|
sysUser.setCreateBy(ientityAuthentication.getPhone());
|
||||||
|
sysUser.setPassword(SecurityUtils.encryptPassword(ientityAuthentication.getPassWord()));
|
||||||
|
int row = sysUserMapper.insertUser(sysUser);
|
||||||
|
if(row<1) {
|
||||||
|
return AjaxResult.success("注册失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ientityAuthentication.setUserId(sysUser.getUserId());
|
||||||
|
ientityAuthentication.setUserName(sysUser.getUserName());
|
||||||
|
// 已经认证过的用户才能注册,认证表中已经有该数据
|
||||||
|
identityAuthenticationMapper.updateIdentityAuthentication(ientityAuthentication);
|
||||||
|
return AjaxResult.success("注册成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -177,7 +177,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
<select id="selectUserByIdCard" parameterType="String" resultMap="SysUserResult">
|
||||||
|
select u.* from sys_user u
|
||||||
|
where u.id_card = #{idCard} and u.del_flag = '0' and u.status='0' order by u.create_time limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||||
insert into sys_user(
|
insert into sys_user(
|
||||||
<if test="userId != null and userId != 0">user_id,</if>
|
<if test="userId != null and userId != 0">user_id,</if>
|
||||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||||
|
|||||||
+14
@@ -11,12 +11,14 @@
|
|||||||
<result property="certificationStatus" column="certification_status" />
|
<result property="certificationStatus" column="certification_status" />
|
||||||
<result property="userId" column="user_id" />
|
<result property="userId" column="user_id" />
|
||||||
<result property="userName" column="user_name" />
|
<result property="userName" column="user_name" />
|
||||||
|
<result property="idAddress" column="id_address" />
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<insert id="insertIdentityAuthentication" parameterType="IdentityAuthentication" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertIdentityAuthentication" parameterType="IdentityAuthentication" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into identi_authenti(
|
insert into identi_authenti(
|
||||||
<if test="userId != null">user_id,</if>
|
<if test="userId != null">user_id,</if>
|
||||||
|
<if test="idAddress != null and idAddress != ''">id_address,</if>
|
||||||
<if test="name != null and name != ''">name,</if>
|
<if test="name != null and name != ''">name,</if>
|
||||||
<if test="identityNo != null and identityNo != ''">identity_no,</if>
|
<if test="identityNo != null and identityNo != ''">identity_no,</if>
|
||||||
certification_time,
|
certification_time,
|
||||||
@@ -26,6 +28,7 @@
|
|||||||
create_time
|
create_time
|
||||||
)values(
|
)values(
|
||||||
<if test="userId != null ">#{userId},</if>
|
<if test="userId != null ">#{userId},</if>
|
||||||
|
<if test="idAddress != null and idAddress != ''">#{idAddress},</if>
|
||||||
<if test="name != null and name != ''">#{name},</if>
|
<if test="name != null and name != ''">#{name},</if>
|
||||||
<if test="identityNo != null and identityNo != ''">#{identityNo},</if>
|
<if test="identityNo != null and identityNo != ''">#{identityNo},</if>
|
||||||
sysdate(),
|
sysdate(),
|
||||||
@@ -35,6 +38,17 @@
|
|||||||
sysdate()
|
sysdate()
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
<update id="updateIdentityAuthentication">
|
||||||
|
update identi_authenti
|
||||||
|
<set>
|
||||||
|
<if test="userId != null ">user_id = #{userId},</if>
|
||||||
|
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||||
|
<if test="identityNo != null and identityNo != ''">identity_no = #{identityNo},</if>
|
||||||
|
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||||
|
update_time = sysdate()
|
||||||
|
</set>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
<select id="selectIdentityAuthentication" parameterType="IdentityAuthentication" resultMap="IdentityAuthenticationResult">
|
<select id="selectIdentityAuthentication" parameterType="IdentityAuthentication" resultMap="IdentityAuthenticationResult">
|
||||||
SELECT i.id ,i.name ,i.identity_no ,i.certification_time ,i.certification_status ,i.user_id ,i.user_name
|
SELECT i.id ,i.name ,i.identity_no ,i.certification_time ,i.certification_status ,i.user_id ,i.user_name
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?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.ruoyi.wisdomarbitrate.mapper.WeChatUserMapper">
|
||||||
|
<resultMap type="com.ruoyi.wisdomarbitrate.domain.vo.WeChatUserVO" id="BaseResult">
|
||||||
|
<id property="id" column="id" />
|
||||||
|
<result property="name" column="name" />
|
||||||
|
<result property="identityNo" column="identity_no" />
|
||||||
|
<result property="certificationTime" column="certification_time" />
|
||||||
|
<result property="certificationStatus" column="certification_status" />
|
||||||
|
<result property="openId" column="open_id" />
|
||||||
|
<result property="phone" column="phone" />
|
||||||
|
<result property="email" column="email" />
|
||||||
|
|
||||||
|
</resultMap>
|
||||||
|
<insert id="insertUser">
|
||||||
|
insert into identi_authenti(
|
||||||
|
<if test="name != null and name != ''">name,</if>
|
||||||
|
<if test="identityNo != null and identityNo != ''">identity_no,</if>
|
||||||
|
certification_time,
|
||||||
|
<if test="certificationStatus != null ">certification_status,</if>
|
||||||
|
<if test="openId != null ">open_id,</if>
|
||||||
|
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||||
|
<if test="phone != null and phone != ''">phone,</if>
|
||||||
|
<if test="email != null and email != ''">email,</if>
|
||||||
|
create_time
|
||||||
|
|
||||||
|
)values(
|
||||||
|
<if test="name != null and name != ''">#{name},</if>
|
||||||
|
<if test="identityNo != null and identityNo != ''">#{identityNo},</if>
|
||||||
|
sysdate(),
|
||||||
|
<if test="certificationStatus != null ">#{certificationStatus},</if>
|
||||||
|
<if test="openId != null ">#{openId},</if>
|
||||||
|
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||||
|
<if test="phone != null and phone != ''">#{phone},</if>
|
||||||
|
<if test="email != null and email != ''">#{email},</if>
|
||||||
|
sysdate()
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
<update id="updateUser">
|
||||||
|
update identi_authenti
|
||||||
|
<set>
|
||||||
|
<if test="phone != null and phone != ''">phone = #{phone},</if>
|
||||||
|
<if test="email != null and email != ''">email = #{email},</if>
|
||||||
|
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||||
|
update_time = sysdate()
|
||||||
|
</set>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
<select id="selectIdentityAuthentication" resultMap="BaseResult">
|
||||||
|
SELECT i.id ,i.name ,i.identity_no ,i.certification_time ,i.certification_status ,i.user_id ,i.user_name,open_id,phone,email
|
||||||
|
from identi_authenti i
|
||||||
|
</select>
|
||||||
|
<select id="selectUserByOppenId" resultMap="BaseResult">
|
||||||
|
SELECT i.id ,i.name ,i.identity_no ,i.certification_time ,i.certification_status ,i.user_id ,i.user_name,open_id,phone,email
|
||||||
|
from identi_authenti i where open_id=#{oppenId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user