| | |
| | | package com.ycl.jxkg.service.impl; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.read.listener.PageReadListener; |
| | | import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.qiniu.util.Md5; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.ycl.jxkg.domain.entity.User; |
| | | import com.ycl.jxkg.domain.entity.UserEventLog; |
| | | import com.ycl.jxkg.domain.form.RegisterForm; |
| | | import com.ycl.jxkg.domain.form.StudentUpdatePwdForm; |
| | | import com.ycl.jxkg.domain.form.UpdatePwdForm; |
| | | import com.ycl.jxkg.enums.RoleEnum; |
| | | import com.ycl.jxkg.enums.UserStatusEnum; |
| | | import com.ycl.jxkg.domain.form.RegisterForm; |
| | | import com.ycl.jxkg.domain.other.KeyValue; |
| | | import com.ycl.jxkg.domain.vo.StudentVO; |
| | | import com.ycl.jxkg.enums.general.YesOrNoEnum; |
| | | import com.ycl.jxkg.domain.vo.admin.user.UserExcelVo; |
| | | import com.ycl.jxkg.domain.vo.admin.user.UserPageRequestVO; |
| | | import com.ycl.jxkg.enums.RoleEnum; |
| | | import com.ycl.jxkg.enums.UserStatusEnum; |
| | | import com.ycl.jxkg.event.OnRegistrationCompleteEvent; |
| | | import com.ycl.jxkg.event.UserEvent; |
| | | import com.ycl.jxkg.exception.BusinessException; |
| | | import com.ycl.jxkg.domain.entity.User; |
| | | import com.ycl.jxkg.event.OnRegistrationCompleteEvent; |
| | | import com.ycl.jxkg.mapper.UserMapper; |
| | | import com.ycl.jxkg.service.AuthenticationService; |
| | | import com.ycl.jxkg.service.UserService; |
| | | import com.ycl.jxkg.domain.vo.admin.user.UserPageRequestVO; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.SneakyThrows; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.context.ApplicationEventPublisher; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | |
| | |
| | | throw new RuntimeException("旧密码错误,请确认后重新输入"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @SneakyThrows |
| | | @Transactional |
| | | public String importExcel(MultipartFile file) { |
| | | List<User> userList = new ArrayList<>(); |
| | | List<String> errorList = new ArrayList<>(); |
| | | EasyExcel.read(file.getInputStream(), UserExcelVo.class, new PageReadListener<UserExcelVo>(dataList -> { |
| | | dataList.forEach(item -> { |
| | | User user = new User(); |
| | | user.setUserName(item.getUserName()); |
| | | user.setPassword(authenticationService.pwdEncode("!Password123456789")); |
| | | user.setRealName(item.getRealName()); |
| | | user.setSex(item.getSex()); |
| | | user.setPhone(item.getPhone()); |
| | | try { |
| | | user.setBirthDay(new SimpleDateFormat("yyyy-MM-dd").parse(item.getBirthDay())); |
| | | } catch (ParseException e) { |
| | | errorList.add(item.getRealName()); |
| | | } |
| | | user.setAge(item.getAge()); |
| | | user.setRole(item.getRole()); |
| | | user.setStatus(UserStatusEnum.Enable.getCode()); |
| | | userList.add(user); |
| | | }); |
| | | })); |
| | | if (!errorList.isEmpty()) { |
| | | return "以下数据日期格式错误:\\n" + String.join(",", errorList); |
| | | } else { |
| | | saveBatch(userList); |
| | | } |
| | | return "成功导入" + userList.size() + "条数据"; |
| | | } |
| | | } |