龚焕茏
2024-07-24 61a5cdb61ed9caab7f77c4b01e35d58bb68cfef6
feat:用户导入
4个文件已修改
49 ■■■■■ 已修改文件
src/main/java/com/ycl/jxkg/controller/admin/UserController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserExcelVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/UserService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/controller/admin/UserController.java
@@ -1,8 +1,5 @@
package com.ycl.jxkg.controller.admin;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.base.BaseApiController;
@@ -22,7 +19,6 @@
import com.ycl.jxkg.utils.DateTimeUtil;
import com.ycl.jxkg.utils.PageInfoHelper;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
@@ -30,7 +26,6 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -181,14 +176,8 @@
    }
    @GetMapping("importTemplate")
    @SneakyThrows
    public void importTemplate(HttpServletResponse response) {
        List<UserExcelVo> list = new ArrayList<>();
        list.add(new UserExcelVo().setUserName("zhangSan").setPassword("123456").setRealName("张三").setSex(1).setRole(1).setPhone("12345678901").setAge(24).setBirthDay("2000-01-01"));
        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), UserExcelVo.class).build();
        WriteSheet writeSheet = EasyExcel.writerSheet(0, "用户信息").build();
        excelWriter.write(list, writeSheet);
        excelWriter.finish();
        userService.importTemplate(response);
    }
    @PostMapping("import")
src/main/java/com/ycl/jxkg/domain/vo/admin/user/UserExcelVo.java
@@ -4,13 +4,11 @@
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import lombok.experimental.Accessors;
/**
 * @author gonghl
 */
@Data
@Accessors(chain = true)
@ColumnWidth(20)
public class UserExcelVo {
src/main/java/com/ycl/jxkg/service/UserService.java
@@ -11,6 +11,7 @@
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -168,10 +169,18 @@
    void updateStudentPassword(StudentUpdatePwdForm form);
    /**
     * 下载模板
     *
     * @param response response
     */
    void importTemplate(HttpServletResponse response);
    /**
     * 导入excel
     *
     * @param file file
     * @return 结果
     */
    String importExcel(MultipartFile file);
}
src/main/java/com/ycl/jxkg/service/impl/UserServiceImpl.java
@@ -1,7 +1,9 @@
package com.ycl.jxkg.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.read.listener.PageReadListener;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@@ -31,6 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -223,6 +226,25 @@
    @Override
    @SneakyThrows
    public void importTemplate(HttpServletResponse response) {
        List<UserExcelVo> list = new ArrayList<>();
        UserExcelVo userExcelVo = new UserExcelVo();
        userExcelVo.setUserName("zhangSan");
        userExcelVo.setRealName("张三");
        userExcelVo.setSex(1);
        userExcelVo.setRole(1);
        userExcelVo.setPhone("12345678901");
        userExcelVo.setAge(24);
        userExcelVo.setBirthDay("2000-01-01");
        list.add(userExcelVo);
        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), UserExcelVo.class).build();
        WriteSheet writeSheet = EasyExcel.writerSheet(0, "用户信息").build();
        excelWriter.write(list, writeSheet);
        excelWriter.finish();
    }
    @Override
    @SneakyThrows
    @Transactional
    public String importExcel(MultipartFile file) {
        List<User> userList = new ArrayList<>();
@@ -242,10 +264,11 @@
            user.setAge(item.getAge());
            user.setRole(item.getRole());
            user.setStatus(UserStatusEnum.Enable.getCode());
            user.setLastUpdatePasswordTime(new Date());
            userList.add(user);
        }))).sheet().doRead();
        if (!errorList.isEmpty()) {
            return "以下数据日期格式错误:\\n" + String.join(",", errorList);
            return "以下数据日期格式错误:" + String.join(",", errorList);
        } else {
            saveBatch(userList);
        }