From 19c82a21a1521ddc57b452e7cf6eb42d8f9488e8 Mon Sep 17 00:00:00 2001 From: zhuoda Date: Sun, 5 Jan 2020 15:19:50 +0800 Subject: [PATCH] v1.0.1 --- .gitignore | 6 +++ front/src/components/smart-admin-ad/ad.vue | 34 ++++++++++++++++ front/src/components/smart-admin-ad/index.js | 2 + front/src/views/home/home.vue | 12 +++++- front/src/views/user-log/user-login-log.vue | 4 ++ .../module/codegenerator/domain/ColumnVO.java | 4 ++ .../module/employee/EmployeeService.java | 40 +++++++++++++++---- .../module/position/PositionDao.java | 7 ++++ .../main/resources/dev/application.properties | 14 +++---- .../mapper/position/PositionMapper.xml | 18 +++++++++ .../CodeGeneratorServiceTest.java | 38 ++++++++++-------- 11 files changed, 147 insertions(+), 32 deletions(-) create mode 100644 .gitignore create mode 100644 front/src/components/smart-admin-ad/ad.vue create mode 100644 front/src/components/smart-admin-ad/index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..21763942 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ + +*.iml + +**/target/ + +**/node_modules/ \ No newline at end of file diff --git a/front/src/components/smart-admin-ad/ad.vue b/front/src/components/smart-admin-ad/ad.vue new file mode 100644 index 00000000..520c3015 --- /dev/null +++ b/front/src/components/smart-admin-ad/ad.vue @@ -0,0 +1,34 @@ + + + diff --git a/front/src/components/smart-admin-ad/index.js b/front/src/components/smart-admin-ad/index.js new file mode 100644 index 00000000..f0b0e3fb --- /dev/null +++ b/front/src/components/smart-admin-ad/index.js @@ -0,0 +1,2 @@ +import Ad from './ad.vue'; +export default Ad; diff --git a/front/src/views/home/home.vue b/front/src/views/home/home.vue index 6992ab69..99cdbac2 100644 --- a/front/src/views/home/home.vue +++ b/front/src/views/home/home.vue @@ -48,6 +48,13 @@ + + + + + + @@ -62,6 +69,7 @@ import ChartBar from './components/chart-bar'; import HomeCircle from './components/home-circle'; import HomeProgress from './components/home-progress'; import ChartFunnel from './components/chart-funnel'; +import Ad from '@/components/smart-admin-ad'; export default { name: 'Home', @@ -75,11 +83,13 @@ export default { HomeCircle, ChartGauge, ChartBar, - HomeProgress + HomeProgress, + Ad }, props: {}, data() { return { + adModal:true, infoCardData: [ { title: '新增用户', diff --git a/front/src/views/user-log/user-login-log.vue b/front/src/views/user-log/user-login-log.vue index f326625c..bc9b0928 100644 --- a/front/src/views/user-log/user-login-log.vue +++ b/front/src/views/user-log/user-login-log.vue @@ -84,6 +84,10 @@ export default { title: '操作系统', key: 'remoteOs' }, + { + title: 'Ip', + key: 'remoteIp' + }, { title: '用户端口', key: 'remotePort' diff --git a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/codegenerator/domain/ColumnVO.java b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/codegenerator/domain/ColumnVO.java index 3d23b9d8..84e5d580 100644 --- a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/codegenerator/domain/ColumnVO.java +++ b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/codegenerator/domain/ColumnVO.java @@ -1,7 +1,9 @@ package com.gangquan360.smartadmin.module.codegenerator.domain; +import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; /** * [ ] @@ -15,6 +17,8 @@ import lombok.Data; */ @Data @Builder +@NoArgsConstructor +@AllArgsConstructor public class ColumnVO { private String columnName; diff --git a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/employee/EmployeeService.java b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/employee/EmployeeService.java index 34c0cf30..e53e9224 100644 --- a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/employee/EmployeeService.java +++ b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/employee/EmployeeService.java @@ -14,6 +14,7 @@ import com.gangquan360.smartadmin.module.employee.domain.dto.*; import com.gangquan360.smartadmin.module.employee.domain.entity.EmployeeEntity; import com.gangquan360.smartadmin.module.employee.domain.vo.EmployeeVO; import com.gangquan360.smartadmin.module.login.domain.RequestTokenBO; +import com.gangquan360.smartadmin.module.position.PositionDao; import com.gangquan360.smartadmin.module.position.PositionService; import com.gangquan360.smartadmin.module.position.domain.dto.PositionRelationAddDTO; import com.gangquan360.smartadmin.module.position.domain.dto.PositionRelationResultDTO; @@ -26,12 +27,15 @@ import com.gangquan360.smartadmin.util.SmartPaginationUtil; import com.gangquan360.smartadmin.util.SmartVerificationUtil; import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -59,6 +63,9 @@ public class EmployeeService { @Autowired private PositionService positionService; + @Autowired + private PositionDao positionDao; + @Autowired private PrivilegeEmployeeService privilegeEmployeeService; @@ -90,15 +97,32 @@ public class EmployeeService { public ResponseDTO> selectEmployeeList(EmployeeQueryDTO queryDTO) { Page pageParam = SmartPaginationUtil.convert2PageQueryInfo(queryDTO); queryDTO.setIsDelete(JudgeEnum.NO.getValue()); - List empList = employeeDao.selectEmployeeList(pageParam, queryDTO); - empList.stream().forEach(e -> { - List positionRelationList = positionService.queryPositionByEmployeeId(e.getId()); - if (CollectionUtils.isNotEmpty(positionRelationList)) { - e.setPositionRelationList(positionRelationList); - e.setPositionName(positionRelationList.stream().map(PositionRelationResultDTO::getPositionName).collect(Collectors.joining(","))); + List employeeList = employeeDao.selectEmployeeList(pageParam, queryDTO); + List employeeIdList = employeeList.stream().map(EmployeeDTO::getId).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(employeeIdList)) { + List positionRelationResultDTOList = positionDao.selectEmployeesRelation(employeeIdList); + Map> employeePositionMap = new HashedMap(); + + for (PositionRelationResultDTO positionRelationResultDTO : positionRelationResultDTOList) { + List relationResultDTOList = employeePositionMap.get(positionRelationResultDTO.getEmployeeId()); + //匹配对应的岗位 + if (relationResultDTOList == null) { + relationResultDTOList = new ArrayList<>(); + employeePositionMap.put(positionRelationResultDTO.getEmployeeId(), relationResultDTOList); + } + relationResultDTOList.add(positionRelationResultDTO); } - }); - return ResponseDTO.succData(SmartPaginationUtil.convert2PageInfoDTO(pageParam, empList, EmployeeVO.class)); + + for (EmployeeDTO employeeDTO : employeeList) { + List relationResultDTOList = employeePositionMap.get(employeeDTO.getId()); + if(relationResultDTOList != null){ + employeeDTO.setPositionRelationList(relationResultDTOList); + employeeDTO.setPositionName(relationResultDTOList.stream().map(PositionRelationResultDTO::getPositionName).collect(Collectors.joining(","))); + } + } + } + return ResponseDTO.succData(SmartPaginationUtil.convert2PageInfoDTO(pageParam, employeeList, EmployeeVO.class)); } /** diff --git a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/position/PositionDao.java b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/position/PositionDao.java index ebb0a968..e7c95fcc 100644 --- a/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/position/PositionDao.java +++ b/java/smart-admin-api/src/main/java/com/gangquan360/smartadmin/module/position/PositionDao.java @@ -37,6 +37,13 @@ public interface PositionDao extends BaseMapper { */ List selectRelation(PositionRelationQueryDTO positionRelationQueryDTO); + /** + * 批量查询员工岗位信息 + * @param employeeIdList + * @return + */ + List selectEmployeesRelation(@Param("employeeIdList") List employeeIdList); + /** * 批量添加岗位 人员 关联关系 * diff --git a/java/smart-admin-api/src/main/resources/dev/application.properties b/java/smart-admin-api/src/main/resources/dev/application.properties index ad34ca04..6ce52c83 100644 --- a/java/smart-admin-api/src/main/resources/dev/application.properties +++ b/java/smart-admin-api/src/main/resources/dev/application.properties @@ -21,12 +21,12 @@ spring.jackson.serialization.write-dates-as-timestamps=false spring.servlet.multipart.max-file-size=30MB spring.servlet.multipart.max-request-size=30MB file-upload-service.path=/home/upload/ -file-upload-service.geturl=http://172.16.0.145/smartAdmin/file/ +file-upload-service.geturl=http://127.0.0.1/smartAdmin/file/ ######################### database ######################### spring.datasource.url=jdbc:mysql://127.0.0.1:3306/smart-admin-dev?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC -spring.datasource.username=erp -spring.datasource.password=listen1015 +spring.datasource.username=root +spring.datasource.password=Root.123 spring.datasource.initial-size=2 spring.datasource.min-idle=1 spring.datasource.max-active=10 @@ -36,17 +36,17 @@ spring.datasource.min-evictable-edle-time-millis=300000 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.filters=stat spring.datasource.druid.username=druid -spring.datasource.druid.password=Gq123456 +spring.datasource.druid.password=123456 spring.datasource.druid.login.enabled=false ######################### redis ####################################### -spring.redis.database=13 -spring.redis.host=172.16.0.145 +spring.redis.database=0 +spring.redis.host=127.0.0.1 spring.redis.jedis.pool.max-active=100 spring.redis.jedis.pool.min-idle=5 spring.redis.jedis.pool.max-idle=10 spring.redis.jedis.pool.max-wait=30000ms -spring.redis.port=50000 +spring.redis.port=6379 spring.redis.timeout=10000ms spring.redis.password= diff --git a/java/smart-admin-api/src/main/resources/mapper/position/PositionMapper.xml b/java/smart-admin-api/src/main/resources/mapper/position/PositionMapper.xml index cfb7792d..87e74600 100644 --- a/java/smart-admin-api/src/main/resources/mapper/position/PositionMapper.xml +++ b/java/smart-admin-api/src/main/resources/mapper/position/PositionMapper.xml @@ -44,6 +44,24 @@ + + INSERT INTO t_position_relation (position_id,employee_id) VALUES diff --git a/java/smart-admin-api/src/test/java/com/gangquan360/smartadmin/module/codegenerator/CodeGeneratorServiceTest.java b/java/smart-admin-api/src/test/java/com/gangquan360/smartadmin/module/codegenerator/CodeGeneratorServiceTest.java index b3a2ffde..db31794d 100644 --- a/java/smart-admin-api/src/test/java/com/gangquan360/smartadmin/module/codegenerator/CodeGeneratorServiceTest.java +++ b/java/smart-admin-api/src/test/java/com/gangquan360/smartadmin/module/codegenerator/CodeGeneratorServiceTest.java @@ -1,10 +1,16 @@ package com.gangquan360.smartadmin.module.codegenerator; import com.gangquan360.smartadmin.BaseTest; +import com.gangquan360.smartadmin.module.codegenerator.constant.SqlOperateTypeEnum; +import com.gangquan360.smartadmin.module.codegenerator.domain.CodeGeneratorDTO; +import com.gangquan360.smartadmin.module.codegenerator.domain.CodeGeneratorQueryColumnDTO; import com.gangquan360.smartadmin.module.codegenerator.service.CodeGeneratorService; +import com.google.common.collect.Lists; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; + /** * IdGeneratorService Tester. * @@ -18,22 +24,22 @@ public class CodeGeneratorServiceTest extends BaseTest { @Test public void testGenerate() throws Exception { - // CodeGeneratorQueryColumnDTO createTimeBetween = CodeGeneratorQueryColumnDTO.builder() - // .columnName("create_time") - // .sqlOperate(SqlOperateTypeEnum.TIME_BETWEEN).build(); - // CodeGeneratorQueryColumnDTO like = CodeGeneratorQueryColumnDTO.builder() - // .columnName("title") - // .sqlOperate(SqlOperateTypeEnum.LIKE).build(); - // - // List queryColumnList = Lists.newArrayList(createTimeBetween,like); - // CodeGeneratorDTO codeGenerator = CodeGeneratorDTO.builder() - // .author("yandanyang") - // .company("钢圈") - // .tableName("t_notice") - // .tablePrefix("t_") - // .basePackage("com.gangquan360.smartadmin") - // .queryColumnList(queryColumnList).build(); - // codeGeneratorService.codeGenerator(codeGenerator); + CodeGeneratorQueryColumnDTO createTimeBetween = CodeGeneratorQueryColumnDTO.builder() + .columnName("create_time") + .sqlOperate(SqlOperateTypeEnum.TIME_BETWEEN).build(); + CodeGeneratorQueryColumnDTO like = CodeGeneratorQueryColumnDTO.builder() + .columnName("title") + .sqlOperate(SqlOperateTypeEnum.LIKE).build(); + + List queryColumnList = Lists.newArrayList(createTimeBetween,like); + CodeGeneratorDTO codeGenerator = CodeGeneratorDTO.builder() + .author("yandanyang") + .company("钢圈") + .tableName("t_notice") + .tablePrefix("t_") + .basePackage("com.gangquan360.smartadmin") + .queryColumnList(queryColumnList).build(); + codeGeneratorService.codeGenerator(codeGenerator); } }