diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java index 0299c9d..838d858 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java @@ -1,13 +1,18 @@ package com.ruoyi.web.controller.wgz.controller; +import com.ruoyi.common.bo.AnnexQueryBo; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq; -import com.ruoyi.wgz.bo.req.WgzAppUserLongInReq; -import com.ruoyi.wgz.bo.req.WgzAppUserRegisterReq; -import com.ruoyi.wgz.bo.req.WgzRealNameAuthenticationReq; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.domain.Annex; +import com.ruoyi.common.service.IAnnexService; +import com.ruoyi.system.service.ISysDictDataService; +import com.ruoyi.system.service.ISysDictTypeService; +import com.ruoyi.wgz.bo.WgzAutonymAnnex; +import com.ruoyi.wgz.bo.WgzUserQueryBo; +import com.ruoyi.wgz.bo.req.*; +import com.ruoyi.wgz.bo.res.WgzAppAttachmentAcquisitionRes; import com.ruoyi.wgz.bo.res.WgzAppPersonalBasicInformationRes; -import com.ruoyi.wgz.bo.res.WgzAppUserLongInRes; import com.ruoyi.wgz.service.IWgzUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -17,6 +22,10 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.validation.constraints.NotEmpty; +import java.util.ArrayList; +import java.util.List; + /** * APP务工者Controller * @@ -32,6 +41,12 @@ public class WgzAppController { private final IWgzUserService iWgzUserService; + @Autowired + private ISysDictTypeService dictTypeService; + + @Autowired + private IAnnexService iAnnexService; + /** * 【注册】务工者注册 @@ -39,20 +54,79 @@ public class WgzAppController { @ApiOperation("APP务工者注册") @PreAuthorize("@ss.hasPermi('wgzApp:user:register')") @PostMapping("/wgzRegister") - public AjaxResult userRegister(@Validated @RequestBody WgzAppUserRegisterReq bo) { + public AjaxResult userRegister(@Validated @RequestBody WgzAppUserRegisterReq bo) { return AjaxResult.success(iWgzUserService.userRegister(bo)); } + /** + * 【我的】【个人基本信息】查询基础用户信息(还未带附件信息) + */ + @ApiOperation("APP务工者-修改用户头像") + @PreAuthorize("@ss.hasPermi('wgzApp:user:userModifyingUserProfilePicture')") + @PutMapping("/wgzUserModifyingUserProfilePicture") + public AjaxResult userModifyingUserProfilePicture(@Validated @RequestBody WgzAppModifyingUserProfilePictureReq req) { + return AjaxResult.success(iWgzUserService.userModifyingUserProfilePicture(req)); + } + /** * 【我的】【个人基本信息】查询基础用户信息(还未带附件信息) */ @ApiOperation("APP务工者-个人基本信息") @PreAuthorize("@ss.hasPermi('wgzApp:user:userPersonalBasicInformation')") - @GetMapping("/wgzPersonalBasicInformation") + @GetMapping("/wgzUserPersonalBasicInformation") public AjaxResult userPersonalBasicInformation(@Validated WgzAppPersonalBasicInformationReq req) { return AjaxResult.success(iWgzUserService.userPersonalBasicInformation(req)); } + /** + * 【我的】【实名认证】实名认证之务工者附件结构获取 + */ + @ApiOperation("APP务工者-实名认证·附件获取") + @PreAuthorize("@ss.hasPermi('wgzApp:user:userAttachmentAcquisition')") + @GetMapping("/wgzUserAttachmentAcquisition") + public AjaxResult userAttachmentAcquisition(@Validated WgzAppAttachmentAcquisitionReq req) { + //返回对象 + WgzAppAttachmentAcquisitionRes wgzAppAttachmentAcquisitionRes = new WgzAppAttachmentAcquisitionRes(); + List resData = new ArrayList<>(); + //附件类型 + String userType = "wgz_attachment"; + //具体附件值 + String[] SpecifiedAttachment = {"0"}; + + //1、获取指定实名认证的附件结构返回 + List data = dictTypeService.selectDictDataByType(userType); + data.forEach(item -> { + for (String val : SpecifiedAttachment) { + String dictValue = item.getDictValue(); + if (dictValue.equals(val)) { + //2、每个结构下有那些附件(附件可能有多个或一个);查询附件表 + AnnexQueryBo annexQueryBo = new AnnexQueryBo(); + annexQueryBo.setUserId(req.getUserId()); + annexQueryBo.setUserType(userType); + annexQueryBo.setAnnexType(val); + List annexes = iAnnexService.queryList(annexQueryBo); + //3、具体附件结构 + WgzAutonymAnnex wgzAutonymAnnex = new WgzAutonymAnnex(). + setUserType(userType). + setDictLabel(item.getDictLabel()). + setDictValue(dictValue).setAnnex(annexes); + resData.add(wgzAutonymAnnex); + } + } + }); + return AjaxResult.success(wgzAppAttachmentAcquisitionRes.setWgzAutonymAnnex(resData)); + } + +// /** +// * 【我的】【实名认证】实名认证·删除附件 +// */ +// @ApiOperation("APP务工者-实名认证·删除附件") +// @PreAuthorize("@ss.hasPermi('wgzApp:user:userDeleteAttachment')") +// @DeleteMapping("/WgzUserDeleteAttachment/{attachmentId}") +// public AjaxResult userDeleteAttachment(@NotEmpty(message = "主键不能为空") @PathVariable Long attachmentId) { +// return AjaxResult.success(iAnnexService.deleteByIds(attachmentId)); +// } + /** * 【我的】【实名认证】实名认证 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/bo/AnnexQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/common/bo/AnnexQueryBo.java index 6c827a1..4094d8c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/bo/AnnexQueryBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/bo/AnnexQueryBo.java @@ -42,6 +42,9 @@ public class AnnexQueryBo extends BaseEntity { /** 唯一标识 */ @ApiModelProperty("唯一标识") private Long userId; + /** 用户类型 */ + @ApiModelProperty("用户类型") + private String userType; /** 附件类型 */ @ApiModelProperty("附件类型") private String annexType; diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/domain/dto/AnnexDTO.java b/ruoyi-system/src/main/java/com/ruoyi/common/domain/dto/AnnexDTO.java index 7cc7951..72546fa 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/domain/dto/AnnexDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/domain/dto/AnnexDTO.java @@ -21,6 +21,9 @@ public class AnnexDTO { /** 唯一标识 */ @ApiModelProperty("唯一标识") private Long userId; + /** 用户类型 */ + @ApiModelProperty("用户类型") + private String userType; /** 附件类型 */ @ApiModelProperty("附件类型") private String annexType; diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/service/IAnnexService.java b/ruoyi-system/src/main/java/com/ruoyi/common/service/IAnnexService.java index 12cd727..d5eae55 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/service/IAnnexService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/service/IAnnexService.java @@ -69,4 +69,9 @@ public interface IAnnexService extends IServicePlus { */ void insertBatch(List annexList); + + /** + * 根据表自增ID来删除指定附件数据,并删除对应的资源 + */ + Boolean deleteByIds(Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/service/impl/AnnexServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/common/service/impl/AnnexServiceImpl.java index 811431a..8b8351d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/service/impl/AnnexServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/service/impl/AnnexServiceImpl.java @@ -4,9 +4,11 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.domain.dto.AnnexDTO; +import com.ruoyi.common.tool.FileDeletionService; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -15,7 +17,9 @@ import com.ruoyi.common.bo.AnnexQueryBo; import com.ruoyi.common.domain.Annex; import com.ruoyi.common.mapper.AnnexMapper; import com.ruoyi.common.service.IAnnexService; +import org.springframework.transaction.annotation.Transactional; +import javax.tools.Tool; import java.util.List; import java.util.Map; import java.util.Collection; @@ -30,6 +34,9 @@ import java.util.stream.Collectors; @Service public class AnnexServiceImpl extends ServicePlusImpl implements IAnnexService { + @Autowired + private FileDeletionService fileDeletionService; + @Override public Annex queryById(String id){ return getById(id); @@ -103,4 +110,21 @@ public class AnnexServiceImpl extends ServicePlusImpl implem .collect(Collectors.toList()); baseMapper.insertAll(annexes); } + + @Override + @Transactional + public Boolean deleteByIds(Long id) { + //1、查询数据 + Annex annex = baseMapper.selectById(id); + //2、删除对应的数据,并删除相对应的资源 + if (baseMapper.deleteById(id)>0){ + boolean b = fileDeletionService.deleteFileByPath(annex.getAnnexUrl()); + if(!b){ + throw new RuntimeException("附件删除失败!"); + } + }else{ + throw new RuntimeException("数据删除失败!"); + } + return true; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/tool/FileDeletionService.java b/ruoyi-system/src/main/java/com/ruoyi/common/tool/FileDeletionService.java new file mode 100644 index 0000000..1653fcf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/common/tool/FileDeletionService.java @@ -0,0 +1,32 @@ +package com.ruoyi.common.tool; + +import org.springframework.stereotype.Service; + +import java.io.File; + +@Service +public class FileDeletionService { + /** + * 根据文件路径删除文件 + * @param filePath 文件的完整路径 + * @return 如果文件删除成功返回 true,否则返回 false + */ + public boolean deleteFileByPath(String filePath) { + if (filePath == null || filePath.isEmpty()) { + return false; + } + File file = new File(filePath); + // 检查文件是否存在并且是一个普通文件 + if (file.exists() && file.isFile()) { + try { + // 执行删除操作 + return file.delete(); + } catch (SecurityException e) { + // 处理没有权限删除文件的异常 + System.err.println("没有权限删除文件: " + filePath); + return false; + } + } + return false; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/WgzAutonymAnnex.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/WgzAutonymAnnex.java new file mode 100644 index 0000000..5204ab8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/WgzAutonymAnnex.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppAttachmentAcquisitionReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppAttachmentAcquisitionReq.java new file mode 100644 index 0000000..f0f495e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppAttachmentAcquisitionReq.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppModifyingUserProfilePictureReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppModifyingUserProfilePictureReq.java new file mode 100644 index 0000000..9f157f5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppModifyingUserProfilePictureReq.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppPersonalBasicInformationReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppPersonalBasicInformationReq.java index a438eb1..c690845 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppPersonalBasicInformationReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppPersonalBasicInformationReq.java @@ -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 = "唯一标识不能为空") diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserLongInReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserLongInReq.java index a8a6811..cb14649 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserLongInReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserLongInReq.java @@ -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; +//} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserRegisterReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserRegisterReq.java index a1c3480..dca9bbd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserRegisterReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppUserRegisterReq.java @@ -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; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzRealNameAuthenticationReq.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzRealNameAuthenticationReq.java index 3f42a6b..215ffdd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzRealNameAuthenticationReq.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzRealNameAuthenticationReq.java @@ -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; + // @ApiModelProperty("银行卡图路径") // private String bankCardPath; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppAttachmentAcquisitionRes.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppAttachmentAcquisitionRes.java new file mode 100644 index 0000000..f6b40a2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppAttachmentAcquisitionRes.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppPersonalBasicInformationRes.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppPersonalBasicInformationRes.java index cc0f591..7174142 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppPersonalBasicInformationRes.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppPersonalBasicInformationRes.java @@ -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; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppUserLongInRes.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppUserLongInRes.java deleted file mode 100644 index 94ac126..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppUserLongInRes.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.ruoyi.wgz.bo.res; - -public class WgzAppUserLongInRes { -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzUserService.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzUserService.java index 2895301..e63c60c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzUserService.java @@ -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 { /** * 务工者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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzUserServiceImpl.java index e3a5ada..0c363f3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzUserServiceImpl.java @@ -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 implements IWgzUserService { + @Autowired + private IAnnexService iAnnexService; + @Override public WgzUser queryById(String id){ return getById(id); @@ -124,6 +134,17 @@ public class WgzUserServiceImpl extends ServicePlusImpl 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().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 //实名认证 @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().eq(WgzUser::getUserId, req.getUserId())); - return update>0; + if (update == 0){ + throw new RuntimeException("当前用户不存在!"); + } + //2、新增附件 + List annex = req.getAnnex(); + List annexDTOS = new ArrayList<>(); + BeanUtils.copyProperties(annex, annexDTOS); + iAnnexService.insertBatch(annexDTOS); + return true; } }