Преглед на файлове

1.国任二维码修改
2.人员影像上传

wks преди 2 години
родител
ревизия
21e5427b6f

+ 70 - 77
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -1,8 +1,6 @@
 package com.ydtech.modules.admin.controller;
 
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -15,11 +13,8 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.AgentUserDto;
 import com.ydtech.modules.admin.model.dto.SysUserDto;
-import com.ydtech.modules.admin.model.vo.SysReferrerVo;
-import com.ydtech.modules.admin.model.vo.SysUserVO;
+import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.admin.service.*;
-import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
-import com.ydtech.modules.admin.model.vo.SysUser2Vo;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.model.dto.BaseDto;
 import com.ydtech.modules.base.model.dto.PageDto;
@@ -30,9 +25,11 @@ import com.ydtech.security.utils.PasswordUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.excel.ExcelEasypoiUtils;
 import com.ydtech.utils.idgen.IdGenerate;
-import io.swagger.annotations.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.StringRedisTemplate;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
@@ -40,13 +37,10 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY;
-
 
 /**
  * 用户控制器
@@ -57,23 +51,20 @@ import static com.ydtech.constants.RedisConstant.PHONE_VERIFICATION_CODE_KEY;
 @RestController
 @Api(tags = "用户控制器")
 @RequestMapping("user")
+@RequiredArgsConstructor
 public class SysUserController extends BaseController {
 
-    @Autowired
-    private SysUserService sysUserService;
-    @Autowired
-    private SysUserRoleService sysUserRoleService;
-    @Autowired
-    private SysDeptService sysDeptService;
-    @Autowired
-    private SysUserInfoService sysUserInfoService;
+    private final SysUserService sysUserService;
+
+    private final SysUserRoleService sysUserRoleService;
+
+    private final SysDeptService sysDeptService;
+
+    private final SysUserInfoService sysUserInfoService;
+
+    private final EsmUserReferrerService esmUserReferrerService;
 
-    @Autowired
-    private StringRedisTemplate stringRedisTemplate;
-    @Autowired
-    private EsmUserReferrerService esmUserReferrerService;
-    @Autowired
-    private SysRoleService sysRoleService;
+    private final SysRoleService sysRoleService;
 
 
     //    @PreAuthorize("hasAuthority('sys:user:delete')")
@@ -111,6 +102,7 @@ public class SysUserController extends BaseController {
 
     /**
      * 用户角色分页查询
+     *
      * @param pageRequest
      * @return
      */
@@ -125,7 +117,7 @@ public class SysUserController extends BaseController {
         sysUser.setName(name);
         sysUser.setMobile(mobile);
         Page page = PageRequest.buildPageRequest(pageRequest);
-        IPage<SysUser> pResult = sysUserService.selectUserPage(page,sysUser,containsSubDept);
+        IPage<SysUser> pResult = sysUserService.selectUserPage(page, sysUser, containsSubDept);
         //传入查询条件
         PageResult pageResult = PageResult.buildPageResult(pResult);
         return HttpResult.ok(pageResult);
@@ -408,7 +400,7 @@ public class SysUserController extends BaseController {
         // 查询角色
         SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
 //        SysUserRole sysUserRole = sysUserRoleService.getById(userId);
-        if (!ObjectUtils.isEmpty(sysUserRole)){
+        if (!ObjectUtils.isEmpty(sysUserRole)) {
             sysUser.setRoleId(StringUtils.toString(sysUserRole.getRoleId()));
         }
         // 查询推荐人
@@ -423,10 +415,11 @@ public class SysUserController extends BaseController {
         //查询详情信息
         SysUserInfo userInfo = sysUserInfoService.getById(userId);
 
-        SysUser2Vo sysUserVo = new SysUser2Vo();
-        sysUserVo.setSysUser(sysUser);
+        SysUserInfoQuery sysUserVo = new SysUserInfoQuery();
 
+        sysUserVo.setSysUser(sysUser);
         sysUserVo.setSysUserInfo(userInfo);
+
         return HttpResult.ok(sysUserVo);
 
     }
@@ -447,7 +440,7 @@ public class SysUserController extends BaseController {
         }
 
         EsmUserReferrer eur = esmUserReferrerService.getById(sysUser.getId());
-        if(null != eur){
+        if (null != eur) {
             sysUser.setReferrerId(eur.getReferrerId());
             sysUser.setReferrerName(eur.getReferrerName());
         }
@@ -480,9 +473,9 @@ public class SysUserController extends BaseController {
             return HttpResult.error("推荐人信息不存在");
         }
         //只有团队长和代理人才能邀请 by gws
-        SysUserRole recommenderRole =sysUserRoleService.selectByUserId(recommenderid);
+        SysUserRole recommenderRole = sysUserRoleService.selectByUserId(recommenderid);
 
-        if(!"20".equals(recommenderRole.getRoleId().toString()) && !"21".equals(recommenderRole.getRoleId().toString())){
+        if (!"20".equals(recommenderRole.getRoleId().toString()) && !"21".equals(recommenderRole.getRoleId().toString())) {
             return HttpResult.error("只有团队长和代理人才能邀请");
         }
 
@@ -522,7 +515,7 @@ public class SysUserController extends BaseController {
         userRole.setRoleId(20L);
         sysUserRoleService.save(userRole);
 
-        esmUserReferrerService.addReferrer(dto.getReferrerId(),nextPK);
+        esmUserReferrerService.addReferrer(dto.getReferrerId(), nextPK);
 
         return HttpResult.ok("保存成功", sysUser.getId());
     }
@@ -588,32 +581,32 @@ public class SysUserController extends BaseController {
                 //by gws 21	团队长 20	代理人 必须归属团队
                 // 22	后线人员 必须归属部门
                 if (StringUtils.isNullOrEmpty(a.getRoleId())) throw new SystemException("角色ID不能为空");
-                if("21".equals(a.getRoleId())||"20".equals(a.getRoleId())){//21	团队长 20	代理人
-                    boolean teamflag=false;
-                    char[] deptids=a.getDeptId().toCharArray();
+                if ("21".equals(a.getRoleId()) || "20".equals(a.getRoleId())) {//21	团队长 20	代理人
+                    boolean teamflag = false;
+                    char[] deptids = a.getDeptId().toCharArray();
                     char ch1 = 'D';
                     char ch2 = 'M';
-                    if(deptids.length>6){
-                        teamflag=deptids[deptids.length-3]==ch1&&deptids[deptids.length-6]==ch2;
+                    if (deptids.length > 6) {
+                        teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
                     }
-                    if(!teamflag){
-                        throw new SystemException("团队长和代理人只能归属团队中") ;
+                    if (!teamflag) {
+                        throw new SystemException("团队长和代理人只能归属团队中");
                     }
-                }else if("22".equals(a.getRoleId())){//22	后线人员
-                    boolean deptflag=false;
-                    char[] deptids=a.getDeptId().toCharArray();
+                } else if ("22".equals(a.getRoleId())) {//22	后线人员
+                    boolean deptflag = false;
+                    char[] deptids = a.getDeptId().toCharArray();
                     char ch1 = 'D';
                     char ch2 = 'M';
-                    if(deptids.length>6){
-                        deptflag=deptids[deptids.length-3]==ch1&&deptids[deptids.length-6]!=ch2;
-                    }else if(deptids.length<=6 && deptids.length>3){
-                        deptflag=deptids[deptids.length-3]==ch1;
+                    if (deptids.length > 6) {
+                        deptflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] != ch2;
+                    } else if (deptids.length <= 6 && deptids.length > 3) {
+                        deptflag = deptids[deptids.length - 3] == ch1;
                     }
-                    if(!deptflag){
-                        throw new SystemException("后线人员只能归属业务部门中") ;
+                    if (!deptflag) {
+                        throw new SystemException("后线人员只能归属业务部门中");
                     }
-                }else{
-                    throw new SystemException("角色id有误") ;
+                } else {
+                    throw new SystemException("角色id有误");
                 }
                 sysUserService.saveUser(a);
 
@@ -650,11 +643,11 @@ public class SysUserController extends BaseController {
     @ApiOperation(value = "保存用户基本详情信息")
     @Transactional
     @PostMapping(value = "/saveUserInfo")
-    public HttpResult saveUserInfo(@RequestBody SysUser2Vo sysUserVo){
+    public HttpResult saveUserInfo(@RequestBody SysUser2Vo sysUserVo) {
 
         //by gws 21	团队长 20	代理人 必须归属团队
         // 22	后线人员 必须归属部门
-        SysUser sysUser=sysUserVo.getSysUser();
+        SysUser sysUser = sysUserVo.getSysUser();
         if (StringUtils.isNullOrEmpty(sysUser)) {
             return HttpResult.error("用户信息不能为空");
         }
@@ -662,39 +655,39 @@ public class SysUserController extends BaseController {
             return HttpResult.error("机构ID不能为空");
         }
         if (StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
-            throw new SystemException("角色id不能为空") ;
+            throw new SystemException("角色id不能为空");
         }
         if (!StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
-            if("21".equals(sysUser.getRoleId())||"20".equals(sysUser.getRoleId())){//21	团队长 20	代理人
-                boolean teamflag=false;
-                char[] deptids=sysUser.getDeptId().toCharArray();
+            if ("21".equals(sysUser.getRoleId()) || "20".equals(sysUser.getRoleId())) {//21	团队长 20	代理人
+                boolean teamflag = false;
+                char[] deptids = sysUser.getDeptId().toCharArray();
                 char ch1 = 'D';
                 char ch2 = 'M';
-                if(deptids.length>6){
-                    teamflag=deptids[deptids.length-3]==ch1&&deptids[deptids.length-6]==ch2;
+                if (deptids.length > 6) {
+                    teamflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] == ch2;
                 }
-                if(!teamflag){
-                    throw new SystemException("团队长和代理人只能归属团队中") ;
+                if (!teamflag) {
+                    throw new SystemException("团队长和代理人只能归属团队中");
                 }
-            }else if("22".equals(sysUser.getRoleId())){//22	后线人员
-                boolean deptflag=false;
-                char[] deptids=sysUser.getDeptId().toCharArray();
+            } else if ("22".equals(sysUser.getRoleId())) {//22	后线人员
+                boolean deptflag = false;
+                char[] deptids = sysUser.getDeptId().toCharArray();
                 char ch1 = 'D';
                 char ch2 = 'M';
-                if(deptids.length>6){
-                    deptflag=deptids[deptids.length-3]==ch1&&deptids[deptids.length-6]!=ch2;
-                }else if(deptids.length<=6 && deptids.length>3){
-                    deptflag=deptids[deptids.length-3]==ch1;
+                if (deptids.length > 6) {
+                    deptflag = deptids[deptids.length - 3] == ch1 && deptids[deptids.length - 6] != ch2;
+                } else if (deptids.length > 3) {
+                    deptflag = deptids[deptids.length - 3] == ch1;
                 }
-                if(!deptflag){
-                    throw new SystemException("后线人员只能归属业务部门中") ;
+                if (!deptflag) {
+                    throw new SystemException("后线人员只能归属业务部门中");
                 }
-            }else{
-                throw new SystemException("角色id有误") ;
+            } else {
+                throw new SystemException("角色id有误");
             }
 
         }
-        return HttpResult.ok(sysUserService.saveUserInfo(sysUserVo)) ;
+        return HttpResult.ok(sysUserService.saveUserInfo(sysUserVo));
     }
 
 
@@ -704,8 +697,8 @@ public class SysUserController extends BaseController {
             @ApiImplicitParam(name = "userId", value = "用户信息", required = true, dataType = "String")
     })
     @Transactional
-    public HttpResult updateUserInfo(@PathVariable String userId,@RequestBody SysUser2Vo sysUserVo) {
-        return HttpResult.ok(sysUserService.updateUserInfo(userId,sysUserVo));
+    public HttpResult updateUserInfo(@PathVariable String userId, @RequestBody SysUser2Vo sysUserVo) {
+        return HttpResult.ok(sysUserService.updateUserInfo(userId, sysUserVo));
     }
 
 
@@ -719,7 +712,7 @@ public class SysUserController extends BaseController {
     @PostMapping(value = "/realNameAuth")
     @ApiOperation(value = "实名认证", notes = "" +
             "参数1:姓名" +
-            "</br>参数2:身份证号" )
+            "</br>参数2:身份证号")
     public HttpResult realNameAuth(@RequestBody BaseDto dto) {
         SysUser sysUser = sysUserService.getById(getUserId());
         sysUser.setName(dto.getParam1());

+ 10 - 2
src/main/java/com/ydtech/modules/admin/model/vo/SysUser2Vo.java

@@ -2,20 +2,28 @@ package com.ydtech.modules.admin.model.vo;
 
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.SysUserInfo;
-import com.ydtech.modules.base.model.BaseEntity;
+import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 @ApiModel("人员信息")
-public class SysUser2Vo  {
+public class SysUser2Vo {
+
     @ApiModelProperty("用户信息")
     private SysUser sysUser;
+
     @ApiModelProperty("用户详情信息")
     private SysUserInfo sysUserInfo;
+
 //    @ApiModelProperty("用户详细信息")
 //    private EsmUserInternal userInternal;
 
 
+    @ApiModelProperty("影像信息")
+    private List<EsmUserImageVo> esmUserImageVo;
+
 }

+ 26 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserInfoQuery.java

@@ -0,0 +1,26 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserInfo;
+import com.ydtech.modules.esm.model.vo.EsmUserImageQueryVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("人员查询实体")
+public class SysUserInfoQuery {
+
+    @ApiModelProperty("用户信息")
+    private SysUser sysUser;
+
+    @ApiModelProperty("用户详情信息")
+    private SysUserInfo sysUserInfo;
+
+    @ApiModelProperty("影像信息")
+    private List<EsmUserImageQueryVo> esmUserImageVo;
+
+
+}

+ 20 - 14
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -17,11 +17,15 @@ import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.admin.model.vo.SysUser2Vo;
 import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.base.model.vo.PageVo;
+import com.ydtech.modules.esm.model.EsmUserImage;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
+import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
+import com.ydtech.modules.esm.service.EsmUserImageService;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.security.utils.PasswordUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.idgen.IdGenerate;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -32,27 +36,25 @@ import java.util.stream.Collectors;
 
 
 @Service
+@RequiredArgsConstructor
 public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
         implements SysUserService {
 
-    @Resource
-    private SysMenuService sysMenuService;
-    @Resource
-    private SysRoleMenuService sysRoleMenuService;
-    @Resource
-    private SysDeptService sysDeptService;
+    private final SysMenuService sysMenuService;
 
-    @Resource
-    private SysUserMapper sysUserMapper;
-    @Resource
-    private SysUserRoleService sysUserRoleService;
+    private final SysRoleMenuService sysRoleMenuService;
 
-    @Resource
-    private EsmUserReferrerService esmUserReferrerService;
+    private final SysDeptService sysDeptService;
 
-    @Resource
-    private SysUserInfoService sysUserInfoService;
+    private final SysUserMapper sysUserMapper;
 
+    private final SysUserRoleService sysUserRoleService;
+
+    private  final EsmUserReferrerService esmUserReferrerService;
+
+    private final SysUserInfoService sysUserInfoService;
+
+    private final EsmUserImageService esmUserImageService;
 
     @Override
     public SysUser findByUsername(String username) {
@@ -398,6 +400,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
         }
 //        userInfo.setId(sysUser.getId());
         sysUserInfoService.save(userInfo);
+        List<EsmUserImageVo> esmUserImageVo = sysUserVo.getEsmUserImageVo();
+        List<EsmUserImage> esmUserImages = esmUserImageVo.stream().map(x -> new EsmUserImage(x, userId)).collect(Collectors.toList());
+        esmUserImageService.saveBatch(esmUserImages);
+
         return HttpResult.ok("新增成功");
     }
 

+ 24 - 0
src/main/java/com/ydtech/modules/esm/dao/EsmUserImageMapper.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.esm.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.esm.model.EsmUserImage;
+import com.ydtech.modules.esm.model.vo.EsmUserImageQueryVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【esm_user_image(人员影像信息)】的数据库操作Mapper
+* @createDate 2023-11-23 15:55:06
+* @Entity generator.domain.EsmUserImage
+*/
+public interface EsmUserImageMapper extends BaseMapper<EsmUserImage> {
+
+    List<EsmUserImageQueryVo> selectEsmUserImageQueryVo(@Param("userId") String userId);
+
+}
+
+
+
+

+ 51 - 0
src/main/java/com/ydtech/modules/esm/model/EsmUserImage.java

@@ -0,0 +1,51 @@
+package com.ydtech.modules.esm.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.esm.model.vo.EsmUserImageVo;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 人员影像信息
+ * @TableName esm_user_image
+ */
+@TableName(value ="esm_user_image")
+@Data
+public class EsmUserImage implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 影像id
+     */
+    @TableField(value = "images_id")
+    private String imagesId;
+
+    /**
+     * 人员影像信息
+     */
+    @TableField(value = "user_id")
+    private String userId;
+
+    /**
+     * 人员影像类型
+     */
+    @TableField(value = "type")
+    private String type;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    public EsmUserImage(EsmUserImageVo esmUserImageVo, String userId) {
+        this.imagesId = esmUserImageVo.getImagesId();
+        this.userId = userId;
+        this.type = esmUserImageVo.getType();
+    }
+}

+ 16 - 0
src/main/java/com/ydtech/modules/esm/model/vo/EsmUserImageQueryVo.java

@@ -0,0 +1,16 @@
+package com.ydtech.modules.esm.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class EsmUserImageQueryVo extends EsmUserImageVo {
+
+
+    @ApiModelProperty("影像地址")
+    private String path;
+
+
+}

+ 20 - 0
src/main/java/com/ydtech/modules/esm/model/vo/EsmUserImageVo.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.esm.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("人员影像上传")
+public class EsmUserImageVo {
+
+    @ApiModelProperty("影像id")
+    private String imagesId;
+
+
+    @ApiModelProperty("人员影像类型")
+    private String type;
+
+
+
+}

+ 13 - 0
src/main/java/com/ydtech/modules/esm/service/EsmUserImageService.java

@@ -0,0 +1,13 @@
+package com.ydtech.modules.esm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.esm.model.EsmUserImage;
+
+/**
+* @author Administrator
+* @description 针对表【esm_user_image(人员影像信息)】的数据库操作Service
+* @createDate 2023-11-23 15:55:06
+*/
+public interface EsmUserImageService extends IService<EsmUserImage> {
+
+}

+ 22 - 0
src/main/java/com/ydtech/modules/esm/service/impl/EsmUserImageServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.esm.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.esm.dao.EsmUserImageMapper;
+import com.ydtech.modules.esm.model.EsmUserImage;
+import com.ydtech.modules.esm.service.EsmUserImageService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author Administrator
+* @description 针对表【esm_user_image(人员影像信息)】的数据库操作Service实现
+* @createDate 2023-11-23 15:55:06
+*/
+@Service
+public class EsmUserImageServiceImpl extends ServiceImpl<EsmUserImageMapper, EsmUserImage>
+    implements EsmUserImageService {
+
+}
+
+
+
+

+ 32 - 0
src/main/resources/mapper/modules/esm/EsmUserImageMapper.xml

@@ -0,0 +1,32 @@
+<?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.ydtech.modules.esm.dao.EsmUserImageMapper">
+
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.esm.model.EsmUserImage">
+            <id property="id" column="id" jdbcType="BIGINT"/>
+            <result property="imagesId" column="images_id" jdbcType="VARCHAR"/>
+            <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+            <result property="type" column="type" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <resultMap id="EsmUserImageQueryVo" type="com.ydtech.modules.esm.model.vo.EsmUserImageQueryVo">
+        <result property="imagesId" column="images_id" jdbcType="VARCHAR"/>
+        <result property="path" column="url" jdbcType="VARCHAR"/>
+        <result property="type" column="type" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,images_id,user_id,
+        type
+    </sql>
+
+    <select id="selectEsmUserImageQueryVo" resultMap="EsmUserImageQueryVo">
+        select i.type, i.images_id, f.url
+        from esm_user_image as i
+                 left join ins_upload_files as f
+                           on i.images_id = f.id
+        where i.user_id = #{userId};
+    </select>
+</mapper>