Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

李进 2 éve
szülő
commit
da7f3cd65e

+ 36 - 2
sys-api-service/src/main/java/com/xy/service/UserInfoServiceImpl.java

@@ -1,11 +1,13 @@
 package com.xy.service;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yitter.idgen.YitIdHelper;
 import com.xy.annotation.Lock;
 import com.xy.dto.SysWorkUser.AddDto;
+import com.xy.dto.SysWorkUser.DelDto;
 import com.xy.dto.SysWorkUser.UpdateDto;
 import com.xy.dto.UserInfoDto;
 import com.xy.entity.UserInfo;
@@ -16,6 +18,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -42,6 +45,22 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
 
     private SysWorkUserService sysWorkUserService;
 
+
+    @Override
+    @ApiOperation("集合查询")
+    public R<List<UserInfoDto.Vo>> list(UserInfoDto.SelectListDto selectList) {
+        List<Long> userIds = selectList.getUserIds();
+        UserInfoDto.Vo userVo = selectList.getUserVo();
+        LambdaQueryWrapper<UserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (userVo != null) {
+            lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(selectList.getUserVo(), UserInfo.class).build();
+        }
+        lambdaQueryWrapper.in(CollUtil.isNotEmpty(userIds), UserInfo::getUserId, userIds);
+        List<UserInfo> list = list(lambdaQueryWrapper);
+        return R.ok(copy(UserInfoDto.Vo.class, list));
+    }
+
+
     @Override
     @ApiOperation("对象查询")
     public R<UserInfoDto.Vo> obj(UserInfoDto.Vo vo) {
@@ -142,11 +161,26 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
                     .setEmail(update.getMail())
                     .setAccount(update.getTel())
                     .setPassword(update.getPassword())
-                    .setStatus(update.getStatus());
+                    .setStatus(update.getStatus())
+                    .setRoleIds(update.getRoleIds());
             sysWorkUserService.update(updateDto);
         }
         //修改用户
         updateById(updateInfo);
         return R.ok();
     }
-}
+
+    @ApiOperation("删除用户")
+    @Override
+    public R del(@RequestBody @Validated UserInfoDto.DelDto dto) {
+        //sys_work_user 权限用户表
+        R r = sysWorkUserService.del(copy(DelDto.class, dto));
+        if (R.Enum.SUCCESS.getCode() != r.getCode()) {
+            return R.fail(r.getMsg());
+        }
+        //user_info 用户表
+        return R.ok(removeBatchByIds(dto.getId()));
+    }
+
+
+}

+ 37 - 0
sys-api/src/main/java/com/xy/dto/UserInfoDto.java

@@ -1,12 +1,17 @@
 package com.xy.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import com.xy.utils.PageBean;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 import java.time.LocalDate;
@@ -23,6 +28,16 @@ import java.util.List;
  */
 public class UserInfoDto {
 
+    @Data
+    @Accessors(chain = true)
+    public static class SelectListDto {
+        @ApiModelProperty("用户ID集合")
+        private List<Long> userIds;
+        @ApiModelProperty("用户对象Vo")
+        private Vo userVo;
+    }
+
+
     @Data
     @Accessors(chain = true)
     public static class Page extends Vo {
@@ -82,6 +97,9 @@ public class UserInfoDto {
     @Accessors(chain = true)
     public static class Update {
 
+        @ApiModelProperty(value = "用户昵称")
+        private String name;
+
         @NotNull(message = "userId不能为空")
         @ApiModelProperty(value = "id")
         private Long userId;
@@ -106,6 +124,9 @@ public class UserInfoDto {
 
         @ApiModelProperty(value = "系统id集合")
         private String sysIds;
+
+        @ApiModelProperty(value = "角色ID(数组)")
+        private List<Long> roleIds;
     }
 
     @Data
@@ -115,6 +136,9 @@ public class UserInfoDto {
         @ApiModelProperty(value = "id")
         private Long userId;
 
+        @ApiModelProperty(value = "用户昵称")
+        private String name;
+
         @ApiModelProperty(value = "手机号")
         private String tel;
 
@@ -141,6 +165,8 @@ public class UserInfoDto {
 
         @ApiModelProperty(value = "创建时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+        @JsonSerialize(using = LocalDateTimeSerializer.class)
         private LocalDateTime createTime;
 
         @ApiModelProperty(value = "更新人")
@@ -148,8 +174,19 @@ public class UserInfoDto {
 
         @ApiModelProperty(value = "更新时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+        @JsonSerialize(using = LocalDateTimeSerializer.class)
         private LocalDateTime updateTime;
 
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class DelDto {
+        @NotEmpty(message = "未选中删除对象")
+        @ApiModelProperty("ID数组")
+        private List<Long> id;
+    }
+
+
 }

+ 22 - 0
sys-api/src/main/java/com/xy/service/UserInfoService.java

@@ -7,6 +7,8 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.util.List;
+
 /**
  * <p>
  * 用户表 服务类
@@ -18,6 +20,17 @@ import org.springframework.web.bind.annotation.RequestBody;
 @RestMappingController("/user-info")
 public interface UserInfoService {
 
+
+    /**
+     * 集合查询
+     *
+     * @param selectList
+     * @return
+     */
+    @PostMapping("list")
+    R<List<UserInfoDto.Vo>> list(@RequestBody UserInfoDto.SelectListDto selectList);
+
+
     /**
      * 对象查询
      *
@@ -44,4 +57,13 @@ public interface UserInfoService {
      */
     @PostMapping("update")
     R update(@RequestBody @Validated UserInfoDto.Update update);
+
+    /**
+     * 删除
+     *
+     * @param dto
+     * @return
+     */
+    @PostMapping("del")
+    R del(@RequestBody @Validated UserInfoDto.DelDto dto);
 }