修改已知问题

master
bynt 3 years ago
parent b2bd34a022
commit 3203042aef

@ -22,6 +22,11 @@ public enum ResponseCode {
*
*/
RECHARGE_SUCCESS("1020","充值成功"),
/**
*
*/
READ_FILE_ERROR("1021","读取文件失败"),
/**
*
*/

@ -15,23 +15,20 @@
*/
package com.baiye.modules.system.rest;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.text.StrPool;
import cn.hutool.json.JSONUtil;
import com.alibaba.excel.EasyExcelFactory;
import com.baiye.annotation.Inner;
import com.baiye.config.properties.RsaProperties;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.constant.RoleNumberConstants;
import com.baiye.exception.BadRequestException;
import com.baiye.model.dto.RoleSmallDto;
import com.baiye.model.dto.UserDto;
import com.baiye.modules.system.domain.Role;
import com.baiye.model.dto.UserFavorOfExcel;
import com.baiye.model.enums.ResponseCode;
import com.baiye.modules.system.domain.User;
import com.baiye.modules.system.domain.vo.UserPassVo;
import com.baiye.modules.system.service.*;
import com.baiye.model.dto.RoleSmallDto;
import com.baiye.modules.system.service.dto.CompanyDto;
import com.baiye.modules.system.service.dto.CreateUserDTO;
import com.baiye.modules.system.service.dto.UserQueryCriteria;
import com.baiye.util.RsaUtils;
@ -39,6 +36,7 @@ import com.baiye.util.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -66,12 +64,13 @@ import java.util.stream.Collectors;
public class UserController {
private final PasswordEncoder passwordEncoder;
private final CompanyService companyService;
private final UserService userService;
private final DataService dataService;
private final DeptService deptService;
private final RoleService roleService;
@Value("${template.download-personnel-list}")
private String personnelList;
@ApiOperation("导出用户数据")
@GetMapping(value = "/download")
@PreAuthorize("@el.check('user:list')")
@ -142,18 +141,27 @@ public class UserController {
@ApiOperation("导入用户")
@PostMapping(value = "/importUsers")
public ResponseEntity<Object> indexConvert(@RequestParam("file") MultipartFile file)
throws IOException {
public ResponseEntity<Object> indexConvert(@RequestParam("file") MultipartFile file) {
if (file != null && !file.isEmpty()) {
UserDto userDto = JSONUtil.toBean(SecurityUtils.getUser(), UserDto.class);
userService.fileCreateUser(file, userDto.getCompanyId(), userDto);
List<UserFavorOfExcel> userFavorOfExcels;
try {
userFavorOfExcels = EasyExcelFactory.read(file.getInputStream())
.head(UserFavorOfExcel.class)
.sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER)
.doReadSync();
} catch (IOException e) {
throw new BadRequestException(ResponseCode.READ_FILE_ERROR.getDesc());
}
userService.fileCreateUser(userFavorOfExcels, userDto.getCompanyId(), userDto);
}
return new ResponseEntity<>(HttpStatus.OK);
}
@ApiOperation("创建或导入用户")
@PostMapping(value = "/createUsers")
public ResponseEntity<Object> createUsers(@Validated @RequestBody CreateUserDTO userDTO) throws IOException {
public ResponseEntity<Object> createUsers(@Validated @RequestBody CreateUserDTO userDTO) {
userService.createUserOrFile(userDTO);
return new ResponseEntity<>(HttpStatus.OK);
}
@ -256,4 +264,9 @@ public class UserController {
}
@ApiOperation("人员模板下载")
@GetMapping("/personnelList")
public ResponseEntity<Object> downLoadTemplateMove() {
return new ResponseEntity<>(personnelList, HttpStatus.OK);
}
}

@ -17,6 +17,7 @@ package com.baiye.modules.system.service;
import cn.hutool.core.date.DateTime;
import com.baiye.model.dto.UserDto;
import com.baiye.model.dto.UserFavorOfExcel;
import com.baiye.modules.system.domain.User;
import com.baiye.modules.system.service.dto.CreateUserDTO;
import com.baiye.modules.system.service.dto.UpdateOrderDto;
@ -160,14 +161,14 @@ public interface UserService {
List<UserDto> queryRoleUser(Long roleId);
/**
*
*
* @param file
* @param companyId
* @param userDto
* @return
* @throws IOException
*/
Boolean fileCreateUser(MultipartFile file, Long companyId, UserDto userDto) throws IOException;
Boolean fileCreateUser(List<UserFavorOfExcel> file, Long companyId, UserDto userDto) ;
/**
*

@ -17,7 +17,6 @@ package com.baiye.modules.system.service.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;

@ -32,7 +32,10 @@ public class UserMessageQueryCriteria{
@Query
private Integer status;
private Integer type;
private Integer page;
private Integer size;
}

@ -33,7 +33,6 @@ import com.baiye.util.FileUtil;
import com.baiye.util.PageUtil;
import com.baiye.util.QueryHelp;
import com.baiye.util.ValidationUtil;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
@ -75,20 +74,22 @@ public class UserMessageServiceImpl implements UserMessageService {
@Override
public Map<String, Object> queryAll(UserMessageQueryCriteria criteria, Integer page, Integer size) {
Sort sort =
Sort.by(Sort.Direction.DESC, "updateTime");
if (criteria.getStatus() != null &&
criteria.getStatus() != DefaultNumberConstants.MINUS_ONE_NUMBER) {
sort = Sort.by(Sort.Direction.ASC, "messageType").
and(Sort.by(Sort.Direction.ASC, "level")).
and(Sort.by(Sort.Direction.DESC, "isTop")).
and(Sort.by(Sort.Direction.ASC, "isRead")).
Sort sort = Sort.by(Sort.Direction.ASC, "messageType").
and(Sort.by(Sort.Direction.ASC, "level")).
and(Sort.by(Sort.Direction.DESC, "isTop")).
and(Sort.by(Sort.Direction.ASC, "isRead")).
and(Sort.by(Sort.Direction.DESC, "updateTime")).
and(Sort.by(Sort.Direction.DESC, "id"));
and(Sort.by(Sort.Direction.DESC, "id"));
if (criteria.getType() != null &&
criteria.getType() != DefaultNumberConstants.MINUS_ONE_NUMBER) {
criteria.setStatus(DefaultNumberConstants.ONE_NUMBER);
sort = Sort.by(Sort.Direction.DESC, "updateTime");
}
PageRequest pageRequest = PageRequest.of(page, size, sort);
Page<UserMessage> pageAll = userMessageRepository.findAll(
(root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageRequest);
(root, criteriaQuery, criteriaBuilder) ->
QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageRequest);
return PageUtil.toPage(pageAll.map(userMessageMapper::toDto));
}

@ -47,7 +47,6 @@ import com.baiye.modules.system.service.mapstruct.UserMapper;
import com.baiye.service.UserCacheClean;
import com.baiye.util.*;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
@ -87,27 +86,27 @@ public class UserServiceImpl implements UserService {
@Override
@SneakyThrows
@Transactional(rollbackFor = Exception.class)
public Boolean fileCreateUser(MultipartFile file, Long companyId, UserDto userDto) {
List<UserFavorOfExcel> userFavorOfExcels =
EasyExcelFactory.read(file.getInputStream())
.head(UserFavorOfExcel.class)
.sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER)
.doReadSync();
public Boolean fileCreateUser(List<UserFavorOfExcel> excels, Long companyId, UserDto userDto) {
Company byId = companyService.findById(companyId);
if (CollUtil.isNotEmpty(userFavorOfExcels) && byId != null) {
if (CollUtil.isNotEmpty(excels) && byId != null) {
User copyUser;
Set<Role> roles = new HashSet<>();
roles.add(repository.findById((long) DefaultNumberConstants.FIVE_NUMBER).orElseGet(Role::new));
for (UserFavorOfExcel user : userFavorOfExcels) {
for (UserFavorOfExcel user : excels) {
copyUser = new User();
BeanUtil.copyProperties(user, copyUser);
new HashSet<>();
copyUser.setRoles(roles);
copyUser.setUsername(byId.getCompanyName().
concat(StrPool.COLON).concat(user.getUsername()));
String username = byId.getCompanyName().
concat(StrPool.COLON).concat(user.getUsername());
if (userRepository.findByUsername(username) != null) {
throw new EntityExistException(User.class, "username", username);
}
if (userRepository.findByPhone(user.getPhone()) != null) {
throw new EntityExistException(User.class, "phone", user.getPhone());
}
copyUser.setUsername(username);
copyUser.setPassword(passwordEncoder.encode
(org.apache.commons.lang3.StringUtils.isEmpty(user.getPassword())
? user.getPassword() : "123456"));
@ -200,10 +199,18 @@ public class UserServiceImpl implements UserService {
}
CompanyDto dto = new CompanyDto();
dto.setUserId(userCreateResult.getId());
fileCreateUser(file,
List<UserFavorOfExcel> userFavorOfExcels;
try {
userFavorOfExcels = EasyExcelFactory.read(file.getInputStream())
.head(UserFavorOfExcel.class)
.sheet().headRowNumber(DefaultNumberConstants.ONE_NUMBER)
.doReadSync();
} catch (IOException e) {
throw new BadRequestException(ResponseCode.READ_FILE_ERROR.getDesc());
}
fileCreateUser(userFavorOfExcels,
companyId, Convert.convert(UserDto.class, userCreateResult));
}
}
@Override
@ -221,7 +228,7 @@ public class UserServiceImpl implements UserService {
&& !user.getEnabled()) {
user.setEnabled(Boolean.TRUE);
}
user.setExpirationTime(DateUtil.beginOfDay(dateTime));
user.setExpirationTime(DateUtil.endOfDay(dateTime));
userRepository.save(user);
}
}

@ -156,6 +156,8 @@ alipay:
# 可设置AES密钥调用AES加解密相关接口时需要可选
encryptKey:
template:
download-personnel-list: /home/eladmin/file/personnel.xlsx
#ribbon:
# #建立连接超时时间
# ConnectTimeout: 50000

@ -160,3 +160,6 @@ alipay:
notifyUrl: https://baiyee.vip/pay/aliPay/pay-notify
# 可设置AES密钥调用AES加解密相关接口时需要可选
encryptKey:
template:
download-personnel-list: https://baiyee.vip/file/personnel.xlsx

Loading…
Cancel
Save