1、初始化导入数据功能完成

yun-zuoyi
wei.peng 7 years ago
parent 9c42a21a0b
commit d78f260e13

@ -128,6 +128,27 @@
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
</dependencies>
<build>
@ -164,8 +185,19 @@
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.xlsx</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xlsx</include>
</includes>
</resource>
</resources>
</build>
</project>

@ -35,10 +35,10 @@ public class SysUserInfoService implements ISysUserInfoService {
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserInfoService.class);
@Autowired
private SysUserInfoRepository userInfoRDao;
private SysUserInfoRepository sysUserInfoRDao;
@Autowired
private SysUserRepository userRDao;
private SysUserRepository sysUserRepository;
@Autowired
private SysDepartmentRepository departmentRDao;
@ -63,20 +63,20 @@ public class SysUserInfoService implements ISysUserInfoService {
public SysUserInfo insertSysUserInfo(SysUserInfo userInfo) {
LOGGER.info("用户信息 SysUserInfo userInfo:{}",userInfo);
return userInfoRDao.insert(userInfo);
return sysUserInfoRDao.insert(userInfo);
}
@Override
public void updateSysUserInfo(SysUserInfo userInfo) {
LOGGER.info("用户信息 SysUserInfo userInfo:{}",userInfo);
userInfoRDao.update(userInfo);
sysUserInfoRDao.update(userInfo);
}
@Override
public void refreshRefUserDepartment(Long userInfoId, Long[] departmentIds, String userName) {
LOGGER.info("用户信息 SysUserInfo userInfoId:{} departmentIds:{} userName:{}",userInfoId,departmentIds,userName);
SysUserInfo userInfo = userInfoRDao.getById(userInfoId);
SysUserInfo userInfo = sysUserInfoRDao.getById(userInfoId);
if(userInfo != null ){
// 查询部门信息
StringBuffer where = new StringBuffer();
@ -106,7 +106,7 @@ public class SysUserInfoService implements ISysUserInfoService {
userInfo.setDepartmentNameRdd(String.join(",",nameList));
refUserDepartmentRDao.saveAll(list);
userInfoRDao.save(userInfo);
sysUserInfoRDao.save(userInfo);
LOGGER.info("用户信息 SysUserInfo RefUserDepartmentRDao Insert Size :{}",list.size());
}
@ -124,7 +124,7 @@ public class SysUserInfoService implements ISysUserInfoService {
public void refreshRefUserPosition(Long userInfoId, Long[] positionIds , String userName) {
LOGGER.info("用户信息 SysUserInfo userInfoId:{} positionIds:{} userName:{}",userInfoId,positionIds,userName);
SysUserInfo userInfo = userInfoRDao.getById(userInfoId);
SysUserInfo userInfo = sysUserInfoRDao.getById(userInfoId);
if(userInfo != null ){
// 查询部门信息
StringBuffer where = new StringBuffer();
@ -154,7 +154,7 @@ public class SysUserInfoService implements ISysUserInfoService {
userInfo.setPositionNameRdd(String.join(",",nameList));
refUserPositionRDao.saveAll(list);
userInfoRDao.save(userInfo);
sysUserInfoRDao.save(userInfo);
LOGGER.info("用户信息 SysUserInfo RefUserPositionRDao Insert Size :{}",list.size());
}
@ -171,7 +171,7 @@ public class SysUserInfoService implements ISysUserInfoService {
@Override
public void refreshRefUserOrganize(Long userInfoId, Long organizeId, String userName) {
LOGGER.info("用户信息 SysUserInfo userInfoId:{} organizeId:{} userName:{}",userInfoId,organizeId,userName);
SysUserInfo userInfo = userInfoRDao.getById(userInfoId);
SysUserInfo userInfo = sysUserInfoRDao.getById(userInfoId);
if(userInfo != null ){
SysOrganize organize = organizeRDao.getById(organizeId);
if(organize != null ){
@ -181,7 +181,7 @@ public class SysUserInfoService implements ISysUserInfoService {
userInfo.setModifyUser(userName);
userInfo.setModifyDatetime(TimeTool.getNowTime(true));
userInfoRDao.update(organize);
sysUserInfoRDao.update(organize);
}
}else {
throw ImppExceptionBuilder.newInstance()
@ -196,35 +196,35 @@ public class SysUserInfoService implements ISysUserInfoService {
@Override
public void deleteSysUserInfoById(Long id) {
LOGGER.info("用户信息 SysUserInfo id:{}",id);
userInfoRDao.deleteById(id);
sysUserInfoRDao.deleteById(id);
}
@Override
public void deleteSysUserInfoByIds(Long[] ids) {
LOGGER.info("用户信息 SysUserInfo ids:{}",ids);
userInfoRDao.deleteByIds(ids);
sysUserInfoRDao.deleteByIds(ids);
}
@Override
public SysUserInfo getSysUserInfoById(Long id) {
return userInfoRDao.getById(id);
return sysUserInfoRDao.getById(id);
}
@Override
public List listSysUserInfo() {
return userInfoRDao.findAll();
return sysUserInfoRDao.findAll();
}
@Override
public ListPager<SysUserInfo> querySysUserInfo(SysUserInfo userInfo, Pager pager) {
LOGGER.info("定时任务 TASK_TIME TaskTime:{}Pager:{}",userInfo,pager);
if(userInfo == null) {
pager = PagerHelper.getPager(pager, userInfoRDao.listCount());
return new ListPager(userInfoRDao.listPager(pager),pager);
pager = PagerHelper.getPager(pager, sysUserInfoRDao.listCount());
return new ListPager(sysUserInfoRDao.listPager(pager),pager);
}else {
String hqlPack = CoreHqlPack.packHqlSysUserInfo(userInfo);
pager = PagerHelper.getPager(pager, userInfoRDao.findByHqlWhereCount(hqlPack));
return new ListPager(userInfoRDao.findByHqlWherePage(hqlPack + userInfo.orderBy(),pager),pager);
pager = PagerHelper.getPager(pager, sysUserInfoRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysUserInfoRDao.findByHqlWherePage(hqlPack + userInfo.orderBy(),pager),pager);
}
}
}

@ -435,7 +435,6 @@ public class SysUserService implements ISysUserService {
organize = organizeRDao.getById(userInfo.getOrganizeId());
}catch (Exception e){
LOGGER.error(" SysUser Peck Organize information Error userId : {} Exception Message : {} " ,userInfo.getId(),e.getMessage());
e.printStackTrace();
}
userInfo.setOrganize(organize);
sessionUser.setUserInfo(userInfo);

@ -24,7 +24,7 @@ impp.web.cross = true
################ 云配置 以projectName作为应用名 ################
#是否开启微服
eureka.client.enabled=true
eureka.client.enabled=false
#ribbon.eureka.enable=true
#默认微服主机
eureka.client.serviceUrl.defaultZone:http://192.168.1.20:8000/eureka/
@ -66,14 +66,14 @@ spring.data.mongodb.port=27017
##主数据源,读写
#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/dev_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/dev_i3_core_bak?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.username=i3_dev_core
impp.write.datasource.password=i3_core_pass
##辅数据源,只读
#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/dev_i3_core?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.jdbc-url=jdbc:mysql://192.168.1.55:3306/dev_i3_core_bak?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=i3_dev_core
impp.read.datasource.password=i3_core_pass

@ -0,0 +1,261 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.i3plus.pojo.platform.repository.*;
import com.alibaba.fastjson.JSON;
import io.swagger.models.auth.In;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jdom2.Document;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
public class TestExcelPermission extends TestBase {
//public class TestExcelPermission {
public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelPermission.class);
// 文件路径
public static final String PATH_NAME = "init/permission.xlsx";
// 权限Sheet 名称
public static final String SHEET_NAME_MENU = "menu";
public static final String SHEET_NAME_ROLE = "role";
public static final String SHEET_NAME_USER_INFO = "user-info";
public static final String SHEET_NAME_USER = "user";
@Autowired
private SysUserRepository sysUserRdao;
@Autowired
private SysUserInfoRepository userInfoRDao;
@Autowired
private SysMenuRepository menuRdao;
@Autowired
private SysRoleRepository roleRDao;
@Autowired
private SysRefRoleMenuRepository refRoleMenuRDao;
@Test
public void testInit() throws Exception {
XSSFWorkbook workbook = getWorkbook(PATH_NAME);
if(workbook != null){
XSSFSheet sheetMenu = workbook.getSheet(SHEET_NAME_MENU);
XSSFSheet sheetRole = workbook.getSheet(SHEET_NAME_ROLE);
XSSFSheet sheetUserInfo = workbook.getSheet(SHEET_NAME_USER_INFO);
XSSFSheet sheetUser = workbook.getSheet(SHEET_NAME_USER);
List<SysMenu> menus = getSysMenu(sheetMenu);
List<SysRole> roles = getSysRole(sheetRole);
List<SysUserInfo> userInfos = getSysUserInfo(sheetUserInfo);
List<SysUser> users = getSysUser(sheetUser);
List<SysRefRoleMenu> refRoleMenu = getRefRoleMenu(menus, roles);
LOGGER.info("System Init SysMenu Size:{}",menus.size());
LOGGER.info("System Init SysRole Size:{}",roles.size());
LOGGER.info("System Init SysUserInfo Size:{}",userInfos.size());
LOGGER.info("System Init SysUser Size:{}",users.size());
LOGGER.info("System Init SysRefRoleMenu Size:{}",refRoleMenu.size());
sysUserRdao.saveAll(users);
userInfoRDao.saveAll(userInfos);
menuRdao.saveAll(menus);
roleRDao.saveAll(roles);
refRoleMenuRDao.saveAll(refRoleMenu);
}
}
public List<SysRefUserRole> getRefUserRole(List<SysUser> users,List<SysRole> roles){
List<SysRefUserRole> result = new ArrayList<>();
if(users != null && roles != null){
SysRefUserRole ref = null;
for (SysUser user : users) {
for (SysRole role : roles) {
ref = new SysRefUserRole();
ref.setRoleId(role.getId());
ref.setRoleNameRdd(role.getName());
ref.setUserId(user.getId());
ref.setUserNameRdd(user.getUserName());
result.add(ref);
}
}
}
return result;
}
public List<SysRefRoleMenu> getRefRoleMenu(List<SysMenu> menus,List<SysRole> roles){
List<SysRefRoleMenu> result = new ArrayList<>();
if(menus != null && roles != null){
SysRefRoleMenu ref = null;
for (SysMenu menu : menus) {
for (SysRole role : roles) {
ref = new SysRefRoleMenu();
ref.setRoleId(role.getId());
ref.setRoleNameRdd(role.getName());
ref.setMenuId(menu.getId());
ref.setMenuNameRdd(menu.getName());
ref.setMenuTypeRdd(menu.getMenuType());
result.add(ref);
}
}
}
return result;
}
public List<SysUser> getSysUser(XSSFSheet sheet){
List<SysUser> result = new ArrayList<>();
if(sheet != null){
if(sheet.getLastRowNum() >= 1){
SysUser obj = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
try {
Row row = sheet.getRow(i);//获取索引为i的行以0开始
if(row.getCell(0).toString().trim().length() > 0){
obj = new SysUser();
String md5 = EncryptTool.hexMD5(row.getCell(2).toString());
obj.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
obj.setUserLoginName(row.getCell(1).getStringCellValue());
obj.setUserLoginPassword(md5);
obj.setUserEmail(row.getCell(3).getStringCellValue());
obj.setUserPhone(row.getCell(4).getStringCellValue());
obj.setUserInfoId(Long.parseLong(row.getCell(5).getStringCellValue()));
obj.setUserName(row.getCell(6).getStringCellValue());
obj.setIsValid(1);
obj.setUserType(1);
obj.setUserLoginNum(0);
result.add(obj);
}
}catch (Exception e){
LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
}
}
}
}
return result;
}
public List<SysUserInfo> getSysUserInfo(XSSFSheet sheet){
List<SysUserInfo> result = new ArrayList<>();
if(sheet != null){
if(sheet.getLastRowNum() >= 1){
SysUserInfo obj = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
try {
Row row = sheet.getRow(i);//获取索引为i的行以0开始
if(row.getCell(0).toString().trim().length() > 0){
obj = new SysUserInfo();
obj.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
obj.setName(row.getCell(1).getStringCellValue());
obj.setUserEmpNo(row.getCell(2).getStringCellValue());
obj.setUserLoginNum(0);
obj.setIsValid(1);
result.add(obj);
}
}catch (Exception e){
LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
}
}
}
}
return result;
}
public List<SysRole> getSysRole(XSSFSheet sheet){
List<SysRole> result = new ArrayList<>();
if(sheet != null){
if(sheet.getLastRowNum() >= 1){
SysRole role = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
try {
Row row = sheet.getRow(i);//获取索引为i的行以0开始
if(row.getCell(0).toString().trim().length() > 0){
role = new SysRole();
role.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
role.setName(row.getCell(1).getStringCellValue());
role.setRoleDescription(row.getCell(2).getStringCellValue());
result.add(role);
}
}catch (Exception e){
LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
}
}
}
}
return result;
}
public List<SysMenu> getSysMenu(XSSFSheet sheet){
List<SysMenu> result = new ArrayList<>();
if(sheet != null){
if(sheet.getLastRowNum() >= 1){
SysMenu menu = null;
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
try {
Row row = sheet.getRow(i);//获取索引为i的行以0开始
if(row.getCell(0).toString().trim().length() > 0){
menu = new SysMenu();
menu.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
menu.setMenuType(Integer.parseInt(row.getCell(1).getStringCellValue()));
menu.setMenuCode(row.getCell(2).getStringCellValue());
menu.setName(row.getCell(3).getStringCellValue());
menu.setParentId(Long.parseLong(row.getCell(4).getStringCellValue()));
menu.setParentNameRdd(row.getCell(5).getStringCellValue());
menu.setMenuDescription(row.getCell(6).getStringCellValue());
menu.setMenuStatus(Integer.parseInt(row.getCell(7).getStringCellValue()));
menu.setCreateUser("System Init");
menu.setMenuUrl(row.getCell(9).getStringCellValue());
menu.setMenuCss(row.getCell(10).getStringCellValue());
menu.setMenuIcon(row.getCell(11).getStringCellValue());
result.add(menu);
}
}catch (Exception e){
LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i);
}
}
}
}
return result;
}
public XSSFWorkbook getWorkbook(String pathName){
try {
InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName);
XSSFWorkbook workbook = new XSSFWorkbook(in);
return workbook;
}catch (Exception e){
LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage());
e.getMessage();
return null;
}
}
}

@ -1,111 +0,0 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.*;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.*;
import com.alibaba.fastjson.JSON;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import javax.transaction.Transactional;
/**
*
*/
public class TestInitData extends TestBase {
@Autowired
private IOrganizeService organizeService;
@Autowired
private IPositionService positionService;
@Autowired
private IDepartmentService departmentService;
@Autowired
private ISysMenuService sysMenuService;
@Autowired
private ISysRoleService sysRoleService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysUserInfoService sysUserInfoService;
@Test
@Transactional
public void testInitPosition(){
}
@Test
@Transactional
public void testInitOrganize(){
}
@Test
@Transactional
public void testInitDepartment(){
}
@Test
@Transactional
public void testInitSysRole(){
}
@Test
@Transactional
public void testInitSysUser()throws Exception{
Organize organize = new Organize();
organize.setName("Junit 组织");
organize.setOrganizeTypeId(ImppEnumUtil.ORGANIZE_YTPE.TYPE_COMPANY.getValue());
organize.setOrganizeCode("junit 001");
Organize insertOrganize = organizeService.insertOrganize(organize);
System.out.println(JSON.toJSON(insertOrganize));
Department department = new Department();
department.setName("Junit 部门");
department.setDepartmentCode("junit 001");
department.setOrganizeId(insertOrganize.getId());
Department insertDepartment = departmentService.insertDepartment(department);
System.out.println(JSON.toJSON(insertDepartment));
Position position = new Position();
position.setName("Junit 岗位");
position.setPositionCode("junit 001");
Position insertPosition = positionService.insertPosition(position);
System.out.println(JSON.toJSON(insertPosition));
SysUserInfo info = new SysUserInfo();
info.setName("Junit 用户");
info.setOrganizeId(insertOrganize.getId());
info.setDepartmentId(insertDepartment.getId());
info.setPositionId(insertPosition.getId());
SysUserInfo insertSysUserInfo = sysUserInfoService.insertSysUserInfo(info);
SysRole role = new SysRole();
role.setName("Junit 角色");
SysRole insertSysRole = sysRoleService.insertSysRole(role);
System.out.println(JSON.toJSON(insertSysRole));
SysUser user = new SysUser();
user.setUserLoginName("root");
user.setUserLoginPassword("root");
user.setUserInfoId(insertSysUserInfo.getId());
user.setRoleId(insertSysRole.getId());
SysUser sysUser = sysUserService.insertSysUser(user);
System.out.println(JSON.toJSON(sysUser));
}
}

@ -182,6 +182,17 @@
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!-- Java Excel -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save