Merge remote-tracking branch 'ruoyi-cloud/master'
# Conflicts: # ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java # ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java # ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/controller/SysJobController.java # ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java # sql/ry_config_20220114.sql2.X
commit
c28d9c208e
|
|
@ -30,6 +30,7 @@ import java.io.IOException;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -257,7 +258,7 @@ public class GenTableServiceImpl implements IGenTableService {
|
||||||
public void synchDb(String tableName) {
|
public void synchDb(String tableName) {
|
||||||
GenTable table = genTableMapper.selectGenTableByName(tableName);
|
GenTable table = genTableMapper.selectGenTableByName(tableName);
|
||||||
List<GenTableColumn> tableColumns = table.getColumns();
|
List<GenTableColumn> tableColumns = table.getColumns();
|
||||||
List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
Map<String, GenTableColumn> tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity()));
|
||||||
|
|
||||||
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
|
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
|
||||||
if (StringUtils.isEmpty(dbTableColumns)) {
|
if (StringUtils.isEmpty(dbTableColumns)) {
|
||||||
|
|
@ -266,8 +267,16 @@ public class GenTableServiceImpl implements IGenTableService {
|
||||||
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
||||||
|
|
||||||
dbTableColumns.forEach(column -> {
|
dbTableColumns.forEach(column -> {
|
||||||
if (!tableColumnNames.contains(column.getColumnName())) {
|
GenUtils.initColumnField(column, table);
|
||||||
GenUtils.initColumnField(column, table);
|
if (tableColumnMap.containsKey(column.getColumnName())) {
|
||||||
|
GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName());
|
||||||
|
column.setColumnId(prevColumn.getColumnId());
|
||||||
|
if (column.isList()) {
|
||||||
|
// 如果是列表,继续保留字典类型
|
||||||
|
column.setDictType(prevColumn.getDictType());
|
||||||
|
}
|
||||||
|
genTableColumnMapper.updateGenTableColumn(column);
|
||||||
|
} else {
|
||||||
genTableColumnMapper.insertGenTableColumn(column);
|
genTableColumnMapper.insertGenTableColumn(column);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典 业务层处理
|
* 字典 业务层处理
|
||||||
|
|
@ -123,10 +126,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void loadingDictCache() {
|
public void loadingDictCache() {
|
||||||
List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
|
SysDictData dictData = new SysDictData();
|
||||||
for (SysDictType dictType : dictTypeList) {
|
dictData.setStatus("0");
|
||||||
List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
|
Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
|
||||||
DictUtils.setDictCache(dictType.getDictType(), dictDatas);
|
for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet()) {
|
||||||
|
DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-login-footer">
|
<div class="el-login-footer">
|
||||||
<span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span>
|
<span>Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-register-footer">
|
<div class="el-register-footer">
|
||||||
<span>Copyright © 2018-2021 ruoyi.vip All Rights Reserved.</span>
|
<span>Copyright © 2018-2022 ruoyi.vip All Rights Reserved.</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue