From 4b5624af301dfbdcf54b65dc55aadde1b6a8efd5 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 24 七月 2024 19:55:24 +0800 Subject: [PATCH] bug修改,查询季度写死“2024年一季度” --- finance-admin/src/main/java/com/finance/web/controller/lisenter/DeptImportListener.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 9 deletions(-) diff --git a/finance-admin/src/main/java/com/finance/web/controller/lisenter/DeptImportListener.java b/finance-admin/src/main/java/com/finance/web/controller/lisenter/DeptImportListener.java index af08703..96e9dae 100644 --- a/finance-admin/src/main/java/com/finance/web/controller/lisenter/DeptImportListener.java +++ b/finance-admin/src/main/java/com/finance/web/controller/lisenter/DeptImportListener.java @@ -6,14 +6,17 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.finance.common.core.domain.entity.SysUser; +import com.finance.common.enums.AreaLevelEnum; import com.finance.common.enums.UserTypeEnum; import com.finance.common.exception.ServiceException; -import com.finance.common.utils.BeanUtils; +import com.finance.common.utils.CollUtils; import com.finance.common.utils.SecurityUtils; import com.finance.common.utils.StringUtils; import com.finance.system.service.ISysUserService; import com.finance.web.controller.excel.DeptExcel; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; /** @@ -94,14 +97,53 @@ private void saveData() { log.info("{}条数据,开始存储数据库!", cachedDataList.size()); - List<SysUser> sysUsers = BeanUtils.copyList(cachedDataList, SysUser.class); - sysUsers.forEach(item -> { - item.setPassword(SecurityUtils.encryptPassword(item.getPassword())); - item.setNickName(item.getAreaName()); - item.setUserType(UserTypeEnum.DEPARTMENT); - }); - sysUserService.remove(Wrappers.<SysUser>lambdaQuery() - .eq(SysUser::getUserType, UserTypeEnum.DEPARTMENT.getCode())); + List<SysUser> sysUsers = cachedDataList.stream().map(data -> { + SysUser sysUser = new SysUser(); + sysUser.setAreaName(data.getAreaName()); + sysUser.setAreaAlias(data.getAreaAlias()); + sysUser.setAreaCode(data.getAreaCode()); + sysUser.setAreaLevel(AreaLevelEnum.getEnumByDesc(data.getAreaLevel())); + sysUser.setCountyFlag(data.getCountyFlag()); + sysUser.setUserName(data.getUserName()); + sysUser.setNickName(data.getUserName()); + sysUser.setPersonInCharge(data.getPersonInCharge()); + sysUser.setPhoneNumber(data.getPhoneNumber()); + sysUser.setPassword(SecurityUtils.encryptPassword(data.getPassword())); + sysUser.setUserType(UserTypeEnum.DEPARTMENT); + return sysUser; + }).collect(Collectors.toList()); + List<String> areaCodeSet = sysUsers.stream().map(SysUser::getAreaCode) + .collect(Collectors.toList()); + List<SysUser> userListOrg = sysUserService.list( + Wrappers.lambdaQuery(SysUser.class).in(SysUser::getAreaCode, areaCodeSet) + .eq(SysUser::getUserType, UserTypeEnum.DEPARTMENT.getCode())); + List<String> collect = userListOrg.stream().map(SysUser::getAreaCode) + .collect(Collectors.toList()); + List<SysUser> updateUserList = null; + if (CollUtils.isNotEmpty(collect)) { + updateUserList = sysUsers.stream() + .filter(item -> collect.contains(item.getAreaCode())).collect( + Collectors.toList()); + List<SysUser> updateUsers = updateUserList.stream() + .flatMap(updUser -> userListOrg.stream() + .filter(userOrg -> userOrg.getAreaCode().equals(updUser.getAreaCode())) + .peek(userOrg -> { + userOrg.setAreaName(updUser.getAreaName()); + userOrg.setAreaAlias(updUser.getAreaAlias()); + userOrg.setUserName(updUser.getUserName()); + userOrg.setPersonInCharge(updUser.getPersonInCharge()); + userOrg.setPhoneNumber(updUser.getPhoneNumber()); + userOrg.setAreaLevel(updUser.getAreaLevel()); + userOrg.setCountyFlag(updUser.getCountyFlag()); + userOrg.setPassword(updUser.getPassword()); + userOrg.setUpdateTime(new Date()); + })) + .collect(Collectors.toList()); + sysUserService.updateBatchById(updateUsers); + } + if (CollUtils.isNotEmpty(updateUserList)) { + sysUsers.removeAll(updateUserList); + } sysUserService.saveBatch(sysUsers); log.info("{}条数据,导入成功!", cachedDataList.size()); } -- Gitblit v1.7.1