实名认证

This commit is contained in:
2025-02-17 15:45:55 +08:00
parent 8baee4b858
commit 7af47e35b8
18 changed files with 351 additions and 51 deletions

View File

@ -0,0 +1,34 @@
package com.ruoyi.wgz.bo;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.domain.Annex;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class WgzAutonymAnnex extends BaseEntity {
@ApiModelProperty("用户类型")
@NotBlank(message = "字典标签不能为空")
private String userType;
@ApiModelProperty("字典标签")
@NotBlank(message = "字典标签不能为空")
private String dictLabel;
@ApiModelProperty("字典键值")
@NotBlank(message = "字典标签不能为空")
private String dictValue;
@ApiModelProperty("附件实体数据")
private List<Annex> annex;
}

View File

@ -0,0 +1,22 @@
package com.ruoyi.wgz.bo.req;
import com.ruoyi.wgz.bo.WgzAutonymAnnex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP-实名认证·附件结构请求对象")
public class WgzAppAttachmentAcquisitionReq implements Serializable {
@ApiModelProperty("唯一标识")
@NotNull(message = "唯一标识不能为空")
private Long userId;
}

View File

@ -0,0 +1,26 @@
package com.ruoyi.wgz.bo.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP-修改头像请求对象")
public class WgzAppModifyingUserProfilePictureReq implements Serializable {
@ApiModelProperty("唯一标识")
@NotNull(message = "唯一标识不能为空")
private Long userId;
@ApiModelProperty("头像地址")
@NotBlank(message = "头像地址不能为空")
private String avatarName;
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.wgz.bo.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -11,6 +12,7 @@ import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP-查询个人基本信息对象")
public class WgzAppPersonalBasicInformationReq implements Serializable {
@ApiModelProperty("唯一标识")
@NotBlank(message = "唯一标识不能为空")

View File

@ -1,24 +1,28 @@
package com.ruoyi.wgz.bo.req;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.Pattern;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("务工者APP注册账号对象")
public class WgzAppUserLongInReq extends BaseEntity {
@ApiModelProperty("联系电话")
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码格式不正确")
private String phone;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("验证码")
private String verificationCode;
}
//package com.ruoyi.wgz.bo.req;
//
//import com.ruoyi.common.core.domain.BaseEntity;
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//import lombok.EqualsAndHashCode;
//import lombok.NoArgsConstructor;
//import lombok.experimental.Accessors;
//
//import javax.validation.constraints.Pattern;
//import java.io.Serializable;
//
//@Data
//@NoArgsConstructor
//@Accessors(chain = true)
//@ApiModel("务工者APP登录账号对象")
//public class WgzAppUserLongInReq implements Serializable {
// @ApiModelProperty("联系电话")
// @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码格式不正确")
// private String phone;
//
// @ApiModelProperty("密码")
// private String password;
//
// @ApiModelProperty("验证码")
// private String verificationCode;
//}

View File

@ -5,18 +5,24 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP注册账号对象")
public class WgzAppUserRegisterReq extends BaseEntity {
public class WgzAppUserRegisterReq implements Serializable {
@ApiModelProperty("联系电话")
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号码格式不正确")
private String phone;
/** 密码 */
@ApiModelProperty("密码")
@NotBlank(message = "密码不能为空")
private String password;
}

View File

@ -1,19 +1,26 @@
package com.ruoyi.wgz.bo.req;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.domain.Annex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class WgzRealNameAuthenticationReq {
@ApiModel("务工者APP-实名认证对象")
public class WgzRealNameAuthenticationReq implements Serializable {
@ApiModelProperty("唯一标识")
@NotBlank(message = "唯一标识不能为空")
@NotNull(message = "唯一标识不能为空")
private Long userId;
@ApiModelProperty("身份证正面图路径")
@ -64,6 +71,9 @@ public class WgzRealNameAuthenticationReq {
@NotBlank(message = "银行卡号不能为空")
private String cardNo;
@ApiModelProperty("附件实体数据")
private List<Annex> annex;
// @ApiModelProperty("银行卡图路径")
// private String bankCardPath;

View File

@ -0,0 +1,20 @@
package com.ruoyi.wgz.bo.res;
import com.ruoyi.wgz.bo.WgzAutonymAnnex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP-实名认证·附件结构返回对象")
public class WgzAppAttachmentAcquisitionRes implements Serializable {
@ApiModelProperty("附件结构")
private List<WgzAutonymAnnex> wgzAutonymAnnex;
}

View File

@ -1,9 +1,20 @@
package com.ruoyi.wgz.bo.res;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
public class WgzAppPersonalBasicInformationRes {
import java.io.Serializable;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("务工者APP-个人基本信息返回对象")
public class WgzAppPersonalBasicInformationRes implements Serializable {
@ApiModelProperty("主键ID")
@TableId(value = "id")
private String id;

View File

@ -1,4 +0,0 @@
package com.ruoyi.wgz.bo.res;
public class WgzAppUserLongInRes {
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.wgz.service;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wgz.bo.WgzUserQueryBo;
import com.ruoyi.wgz.bo.req.WgzAppModifyingUserProfilePictureReq;
import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq;
import com.ruoyi.wgz.bo.req.WgzAppUserRegisterReq;
import com.ruoyi.wgz.bo.req.WgzRealNameAuthenticationReq;
@ -69,29 +70,26 @@ public interface IWgzUserService extends IServicePlus<WgzUser> {
/**
* 务工者APP注册账号
* @param bo APP务工者注册业务对象
* @return bool
*/
Boolean userRegister(WgzAppUserRegisterReq bo);
/**
* 修改用户头像修改用户头像
*/
Boolean userModifyingUserProfilePicture(@Validated @RequestBody WgzAppModifyingUserProfilePictureReq req);
/**
* 务工者APP登录账号
* @param phone APP务工者登录业务对象
* @return bool
*/
WgzUser userLongIn(String phone);
/**
* 务工者APP登录账号
* @param req APP务工者登录业务对象
* @return bool
* 务工者APP个人基本信息
*/
WgzAppPersonalBasicInformationRes userPersonalBasicInformation(WgzAppPersonalBasicInformationReq req);
/**
* 务工者APP实名认证
* @param req APP务工者实名认证业务对象
* @return bool
*/
Boolean userRealNameAuthentication(@Validated @RequestBody WgzRealNameAuthenticationReq req);
}

View File

@ -7,9 +7,13 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.domain.Annex;
import com.ruoyi.common.domain.dto.AnnexDTO;
import com.ruoyi.common.service.IAnnexService;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.wgz.bo.WgzUserQueryBo;
import com.ruoyi.wgz.bo.req.WgzAppModifyingUserProfilePictureReq;
import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq;
import com.ruoyi.wgz.bo.req.WgzAppUserRegisterReq;
import com.ruoyi.wgz.bo.req.WgzRealNameAuthenticationReq;
@ -19,8 +23,11 @@ import com.ruoyi.wgz.domain.WgzUser;
import com.ruoyi.wgz.mapper.WgzUserMapper;
import com.ruoyi.wgz.service.IWgzUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -36,6 +43,9 @@ import java.util.Map;
@Service
public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser> implements IWgzUserService {
@Autowired
private IAnnexService iAnnexService;
@Override
public WgzUser queryById(String id){
return getById(id);
@ -124,6 +134,17 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
return baseMapper.insert(wgzUser) > 0;
}
@Override
public Boolean userModifyingUserProfilePicture(WgzAppModifyingUserProfilePictureReq req) {
WgzUser user = new WgzUser();
BeanUtils.copyProperties(req, user);
int update = baseMapper.update(user, new LambdaQueryWrapper<WgzUser>().eq(WgzUser::getUserId, req.getUserId()));
if (update == 0){
throw new RuntimeException("当前用户不存在!");
}
return true;
}
//登录-获取用户
@Override
public WgzUser userLongIn(String phone) {
@ -146,12 +167,21 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
//实名认证
@Override
@Transactional()
public Boolean userRealNameAuthentication(WgzRealNameAuthenticationReq req) {
//1、对指定用户进行实名认证
WgzUser user = new WgzUser();
BeanUtils.copyProperties(req,user);
BeanUtils.copyProperties(req, user);
int update = baseMapper.update(user, new LambdaQueryWrapper<WgzUser>().eq(WgzUser::getUserId, req.getUserId()));
return update>0;
if (update == 0){
throw new RuntimeException("当前用户不存在!");
}
//2、新增附件
List<Annex> annex = req.getAnnex();
List<AnnexDTO> annexDTOS = new ArrayList<>();
BeanUtils.copyProperties(annex, annexDTOS);
iAnnexService.insertBatch(annexDTOS);
return true;
}
}