标签项+展示区域+标签内容增加排序功能
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
# 2022-5-24
|
||||
#标签内容增加排序字段
|
||||
ALTER TABLE `sys_dict`
|
||||
ADD COLUMN `order_num` int(11) NOT NULL COMMENT '排序';
|
||||
+3
@@ -387,6 +387,8 @@ public class SysDictController {
|
||||
@RequiresPermissions("dict:add")
|
||||
public Result<SysDict> add(@RequestBody SysDict sysDict) {
|
||||
Result<SysDict> result = new Result<SysDict>();
|
||||
|
||||
sysDictService.setAddOrdderNum(sysDict);
|
||||
//校验--不能重复数据
|
||||
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
|
||||
//查询同一模块下,同名数据
|
||||
@@ -434,6 +436,7 @@ public class SysDictController {
|
||||
@RequiresPermissions("dict:edit")
|
||||
public Result<SysDict> edit(@RequestBody SysDict sysDict) {
|
||||
Result<SysDict> result = new Result<SysDict>();
|
||||
sysDictService.setEditOrdderNum(sysDict);
|
||||
SysDict sysdict = sysDictService.getById(sysDict.getId());
|
||||
if (sysdict == null) {
|
||||
result.error500("未找到对应实体");
|
||||
|
||||
+3
@@ -125,4 +125,7 @@ public class SysDict implements Serializable {
|
||||
@Dict(dictTable = "sys_dict_item", dicText = "en_name", dicCode ="en_name")
|
||||
@ApiModelProperty(value = "属性类型英文名")
|
||||
private java.lang.String attributeTypeEnName;
|
||||
|
||||
/**排序*/
|
||||
private java.lang.Integer orderNum;
|
||||
}
|
||||
+2
-2
@@ -135,7 +135,7 @@
|
||||
|
||||
<select id="queryPageList" resultType="com.jero.modules.system.entity.SysDict">
|
||||
select d.id,d.create_by,d.create_time,d.update_by,d.update_time,
|
||||
d.dict_name,d.dict_code,d.description,d.del_flag,d.type,
|
||||
d.dict_name,d.dict_code,d.description,d.del_flag,d.type,d.order_num,
|
||||
d.dict_en_name,d.is_tag_dict,d.is_read_only,d.attribute_type,
|
||||
i.item_text as attribute_type_name,i.en_name as attribute_type_en_name
|
||||
from sys_dict as d
|
||||
@@ -166,6 +166,6 @@
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
order by d.create_time desc
|
||||
order by d.order_num desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+4
@@ -169,4 +169,8 @@ public interface ISysDictService extends IService<SysDict> {
|
||||
String queryDictItemByName(String code, String itemName, String cut);
|
||||
|
||||
String queryDictItemByValue(String code, String itemName, String cut);
|
||||
|
||||
void setAddOrdderNum(SysDict sysDict);
|
||||
|
||||
void setEditOrdderNum(SysDict sysDict);
|
||||
}
|
||||
|
||||
+72
@@ -447,4 +447,76 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
||||
return dictItemValue;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAddOrdderNum(SysDict sysDict) {
|
||||
Integer inputOrderNum = sysDict.getOrderNum();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = sysDictMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDict> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
List<SysDict> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getOrderNum();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEditOrdderNum(SysDict sysDict) {
|
||||
Integer inputOrderNum = sysDict.getOrderNum();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysDict.getId()))
|
||||
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = sysDictMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDict> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
List<SysDict> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getOrderNum();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -25,6 +25,6 @@ public interface OnlCgformAreaMapper extends BaseMapper<OnlCgformArea> {
|
||||
"a.is_model,i.item_text as is_model_name,i.en_name as is_model_en_name,a.show_area,a.sort,a.en_name\n" +
|
||||
"from onl_cgform_area as a left join sys_dict_item as i \n" +
|
||||
"on a.is_model=i.item_value \n" +
|
||||
"where i.dict_id=1493096744092102657 order by a.create_time desc")
|
||||
"where i.dict_id=1493096744092102657 order by a.sort desc")
|
||||
IPage<OnlCgformArea> queryPageList(IPage page, @Param("params") Map<String,Object> params);
|
||||
}
|
||||
|
||||
+1
-1
@@ -70,6 +70,6 @@
|
||||
<if test="params.showArea != null and params.showArea != '' ">
|
||||
and f.show_area like concat('%',#{params.showArea},'%')
|
||||
</if>
|
||||
order by f.create_time desc
|
||||
order by f.order_num desc
|
||||
</select>
|
||||
</mapper>
|
||||
+58
@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 区域管理表
|
||||
@@ -43,6 +44,34 @@ public class OnlCgformAreaServiceImpl extends ServiceImpl<OnlCgformAreaMapper, O
|
||||
*/
|
||||
@Override
|
||||
public void add(OnlCgformArea onlCgformArea) {
|
||||
Integer inputSort = onlCgformArea.getSort();
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<OnlCgformArea> queryWrapper= new QueryWrapper<>();
|
||||
queryWrapper.orderByAsc("sort");
|
||||
queryWrapper.eq("sort", inputSort);
|
||||
Integer orderNumCount = onlCgformAreaMapper.selectCount(queryWrapper);
|
||||
if(orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<OnlCgformArea> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort", inputSort)
|
||||
.orderByAsc("sort");
|
||||
List<OnlCgformArea> geSortList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for(int i = 0 ; i <= geSortList.size() ; i++) {
|
||||
if (geSortList.size()==1){
|
||||
break;
|
||||
}else if (geSortList.get(i + 1).getSort() - geSortList.get(i).getSort() > 1) {
|
||||
int deleteStart = geSortList.get(i+1).getSort();
|
||||
geSortList = geSortList.stream().filter(e->e.getSort() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geSortList.stream().forEach(e -> e.setSort(e.getSort() + 1));
|
||||
saveOrUpdateBatch(geSortList);
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
onlCgformArea.setCreateTime(now);
|
||||
onlCgformArea.setUpdateTime(now);
|
||||
@@ -71,6 +100,35 @@ public class OnlCgformAreaServiceImpl extends ServiceImpl<OnlCgformAreaMapper, O
|
||||
*/
|
||||
@Override
|
||||
public void editById(OnlCgformArea onlCgformArea) {
|
||||
Integer inputSort = onlCgformArea.getSort();
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<OnlCgformArea> queryWrapper= new QueryWrapper<>();
|
||||
queryWrapper.orderByAsc("sort");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e->e.getId().equals(onlCgformArea.getId()))
|
||||
.map(e -> e.getSort()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort", inputSort);
|
||||
Integer orderNumCount = onlCgformAreaMapper.selectCount(queryWrapper);
|
||||
if(orderNumCount > 0 && !orderNumData.equals(inputSort)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<OnlCgformArea> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort", inputSort)
|
||||
.orderByAsc("sort");
|
||||
List<OnlCgformArea> geSortList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for(int i = 0 ; i <= geSortList.size() ; i++) {
|
||||
if (geSortList.size()==1){
|
||||
break;
|
||||
}else if (geSortList.get(i + 1).getSort() - geSortList.get(i).getSort() > 1) {
|
||||
int deleteStart = geSortList.get(i+1).getSort();
|
||||
geSortList = geSortList.stream().filter(e->e.getSort() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geSortList.stream().forEach(e -> e.setSort(e.getSort() + 1));
|
||||
saveOrUpdateBatch(geSortList);
|
||||
}
|
||||
Date now = new Date();
|
||||
onlCgformArea.setUpdateTime(now);
|
||||
saveOrUpdate(onlCgformArea);
|
||||
|
||||
+69
@@ -2,6 +2,7 @@ package com.jero.modules.tag.service.impl;
|
||||
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 标签管理
|
||||
@@ -57,11 +59,43 @@ public class OnlCgformTagServiceImpl extends ServiceImpl<OnlCgformTagMapper, Onl
|
||||
*/
|
||||
@Override
|
||||
public void add(OnlCgformTag onlCgformTag) {
|
||||
|
||||
//校验--逻辑删除
|
||||
Integer count=queryExitData(onlCgformTag);
|
||||
if (count > 0) {
|
||||
onlCgformTag.setIsDelete(CommonConstant.DEL_FLAG_0);
|
||||
} else {
|
||||
Integer inputOrderNum = onlCgformTag.getOrderNum();
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<OnlCgformTag> queryWrapper= new QueryWrapper<>();
|
||||
queryWrapper.eq("is_model",onlCgformTag.getIsModel())
|
||||
.eq("is_delete",CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = onlCgformTagMapper.selectCount(queryWrapper);
|
||||
if(orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<OnlCgformTag> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.eq("is_model", onlCgformTag.getIsModel())
|
||||
.eq("is_delete", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
List<OnlCgformTag> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for(int i = 0 ; i < geOrderNumList.size() ; i++) {
|
||||
if (geOrderNumList.size() == 1){
|
||||
break;
|
||||
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i+1).getOrderNum();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e->e.getOrderNum() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
//处理DBLength为null的情况,默认为100
|
||||
if (onlCgformTag.getDbLength() == null){
|
||||
onlCgformTag.setDbLength(100);
|
||||
@@ -112,6 +146,7 @@ public class OnlCgformTagServiceImpl extends ServiceImpl<OnlCgformTagMapper, Onl
|
||||
save(onlCgformTag);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
@@ -120,6 +155,40 @@ public class OnlCgformTagServiceImpl extends ServiceImpl<OnlCgformTagMapper, Onl
|
||||
*/
|
||||
@Override
|
||||
public void editById(OnlCgformTag onlCgformTag) {
|
||||
Integer inputOrderNum = onlCgformTag.getOrderNum();
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<OnlCgformTag> queryWrapper= new QueryWrapper<>();
|
||||
queryWrapper.eq("is_model",onlCgformTag.getIsModel())
|
||||
.eq("is_delete",CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e->e.getId().equals(onlCgformTag.getId()))
|
||||
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = onlCgformTagMapper.selectCount(queryWrapper);
|
||||
if(orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<OnlCgformTag> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.eq("is_model", onlCgformTag.getIsModel())
|
||||
.eq("is_delete", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
List<OnlCgformTag> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for(int i = 0 ; i < geOrderNumList.size() ; i++) {
|
||||
if (geOrderNumList.size()==1){
|
||||
break;
|
||||
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i+1).getOrderNum();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e->e.getOrderNum() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
|
||||
//字段名称设置成拼音+下划线,存入数据库
|
||||
String pinYin = HanYuPinYinUtil.changeToNumberPinYin(onlCgformTag.getDbFieldTxt());
|
||||
onlCgformTag.setDbFieldName(pinYin.replace(" ","_"));
|
||||
|
||||
Reference in New Issue
Block a user