This commit is contained in:
zhuoda
2020-01-05 15:19:50 +08:00
parent a5279ac977
commit 19c82a21a1
11 changed files with 147 additions and 32 deletions

6
.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
*.iml
**/target/
**/node_modules/

View File

@@ -0,0 +1,34 @@
<template>
<div style="text-align:center">
<img src="http://smartadmin.1024lab.net/image/smart-admin-log-400@400.png"/>
<p style="text-align:left;font-size:16px;margin-top:-40px">
SmartAdmin由河南·洛阳 <a href="https://www.1024lab.net/" target="_blank">1024创新实验室</a>团队研发的一套互联网企业级的通用型中后台解决方案使用SpringBoot和Vue前后端分离
</p>
<br/>
<p style="text-align:left;font-size:16px">
<font color="#DC143C"><strong>我们开源一套漂亮的代码和一套整洁的代码规范</strong></font>让大家在这浮躁的代码世界里感受到一股把代码写好的清流同时又让开发者节省大量的时间减少加班快乐工作热爱生活
</p>
<br/>
<p style="text-align:left;font-size:16px">
<font color="#DC143C"><strong>你的star 是我们最强的动力感谢支持 => </strong></font>
<a target="_blank" href="https://github.com/1024-lab/smart-admin">
<img style="width: 82px;height: 20px;margin-right: 10px" alt="" src="https://img.shields.io/github/stars/1024-lab/smart-admin.svg?logo=github&style=social">
</a>
</p>
</div>
</template>
<script>
export default {
name: 'Ad',
props: {
},
computed: {
},
mounted () {
},
methods: {
}
};
</script>

View File

@@ -0,0 +1,2 @@
import Ad from './ad.vue';
export default Ad;

View File

@@ -48,6 +48,13 @@
</HomeCard>
</i-col>
</Row>
<Modal
v-model="adModal" width="800">
<Ad/>
</Modal>
</div>
</template>
@@ -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: '新增用户',

View File

@@ -84,6 +84,10 @@ export default {
title: '操作系统',
key: 'remoteOs'
},
{
title: 'Ip',
key: 'remoteIp'
},
{
title: '用户端口',
key: 'remotePort'

View File

@@ -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;

View File

@@ -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<PageResultDTO<EmployeeVO>> selectEmployeeList(EmployeeQueryDTO queryDTO) {
Page pageParam = SmartPaginationUtil.convert2PageQueryInfo(queryDTO);
queryDTO.setIsDelete(JudgeEnum.NO.getValue());
List<EmployeeDTO> empList = employeeDao.selectEmployeeList(pageParam, queryDTO);
empList.stream().forEach(e -> {
List<PositionRelationResultDTO> positionRelationList = positionService.queryPositionByEmployeeId(e.getId());
if (CollectionUtils.isNotEmpty(positionRelationList)) {
e.setPositionRelationList(positionRelationList);
e.setPositionName(positionRelationList.stream().map(PositionRelationResultDTO::getPositionName).collect(Collectors.joining(",")));
List<EmployeeDTO> employeeList = employeeDao.selectEmployeeList(pageParam, queryDTO);
List<Long> employeeIdList = employeeList.stream().map(EmployeeDTO::getId).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(employeeIdList)) {
List<PositionRelationResultDTO> positionRelationResultDTOList = positionDao.selectEmployeesRelation(employeeIdList);
Map<Long, List<PositionRelationResultDTO>> employeePositionMap = new HashedMap();
for (PositionRelationResultDTO positionRelationResultDTO : positionRelationResultDTOList) {
List<PositionRelationResultDTO> 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<PositionRelationResultDTO> 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));
}
/**

View File

@@ -37,6 +37,13 @@ public interface PositionDao extends BaseMapper<PositionEntity> {
*/
List<PositionRelationResultDTO> selectRelation(PositionRelationQueryDTO positionRelationQueryDTO);
/**
* 批量查询员工岗位信息
* @param employeeIdList
* @return
*/
List<PositionRelationResultDTO> selectEmployeesRelation(@Param("employeeIdList") List<Long> employeeIdList);
/**
* 批量添加岗位 人员 关联关系
*

View File

@@ -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=

View File

@@ -44,6 +44,24 @@
</where>
</select>
<select id="selectEmployeesRelation" resultType="com.gangquan360.smartadmin.module.position.domain.dto.PositionRelationResultDTO">
SELECT
job.position_name,
rel.position_id,
rel.employee_id,
rel.update_time,
rel.create_time
FROM
t_position_relation rel
LEFT JOIN t_position job ON rel.position_id = job.id
<where>
rel.employee_id IN
<foreach collection="employeeIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</where>
</select>
<insert id="insertBatchRelation">
INSERT INTO t_position_relation (position_id,employee_id) VALUES
<foreach collection="batchDTO.positionIdList" item="item" separator=",">

View File

@@ -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<CodeGeneratorQueryColumnDTO> 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<CodeGeneratorQueryColumnDTO> 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);
}
}