文档拆分-菜单向上或向下移动接口开发。

This commit is contained in:
wangzhijiang
2022-12-30 11:05:59 +08:00
parent f4c4769707
commit 833f11cfec
4 changed files with 79 additions and 1 deletions
@@ -1,5 +1,6 @@
package com.jero.modules.split.controller;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.split.entity.SarFileSplitMenuEO;
@@ -76,4 +77,10 @@ public class SarFileSplitMenuEOController extends JeroController<SarFileSplitMen
sarFileSplitMenuEOService.deleteMenu(id);
return Result.OK("删除成功",null);
}
@ApiOperation(value = "文档拆分条款目录-向上或向下移动")
@PostMapping("/moveUpOrDown")
public Result moveUpOrDown(@RequestBody JSONObject json) throws Exception {
return this.sarFileSplitMenuEOService.moveUpOrDown(json);
}
}
@@ -1,6 +1,8 @@
package com.jero.modules.split.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result;
import com.jero.modules.split.entity.SarFileSplitMenuEO;
import com.jero.modules.split.page.SarFileSplitMenuEOPage;
@@ -51,4 +53,6 @@ public interface ISarFileSplitMenuEOService extends IService<SarFileSplitMenuEO>
List<SarFileSplitMenuEO> queryByInfoId(String infoId);
Result moveUpOrDown(JSONObject json);
}
@@ -1,13 +1,17 @@
package com.jero.modules.split.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.modules.split.entity.SarFileSplitMenuEO;
import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper;
import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper;
import com.jero.modules.split.page.SarFileSplitMenuEOPage;
import com.jero.modules.split.service.IFileSplitItemsEOService;
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -182,4 +186,67 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
return dao.queryByList(page);
}
@Override
public Result moveUpOrDown(JSONObject json) {
SarFileSplitMenuEO sarFileSplitMenuEO = JSONObject.parseObject(JSONObject.toJSONString(json.get("SarFileSplitMenu")), SarFileSplitMenuEO.class);
String pId = sarFileSplitMenuEO.getPId();
Long displaySeq = sarFileSplitMenuEO.getDisplaySeq();
String moveFlag = json.getString("moveFlag");
String infoId = json.getString("infoId");
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
page.setInfoId(infoId);
page.setValidFlag("0");
List<SarFileSplitMenuEO> updateList = new ArrayList<>();
if(StringUtils.equals(moveFlag,"up")){
page.setOrderBy("display_seq desc");
List<SarFileSplitMenuEO> sarFileSplitMenuEOList = this.queryByList(page);
if(displaySeq != 0){
// 计算后的当前数据排序号
Long displaySeqAfter = displaySeq - 1;
for (SarFileSplitMenuEO fileSplitMenuEO : sarFileSplitMenuEOList) {
if(StringUtils.equals(fileSplitMenuEO.getPId(),pId)){
if(displaySeq > fileSplitMenuEO.getDisplaySeq()){
fileSplitMenuEO.setDisplaySeq(fileSplitMenuEO.getDisplaySeq() + 1);
updateList.add(fileSplitMenuEO);
break;
}
}
}
if(CollectionUtils.isNotEmpty(updateList)){
this.baseMapper.updateByPrimaryKeySelective(updateList.get(0));
}
sarFileSplitMenuEO.setDisplaySeq(displaySeqAfter);
this.baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
}else if(StringUtils.equals(moveFlag,"down")){
page.setOrderBy("display_seq asc");
List<SarFileSplitMenuEO> sarFileSplitMenuEOList = this.queryByList(page);
// 计算后的当前数据排序号
Long displaySeqAfter = displaySeq + 1;
for (SarFileSplitMenuEO fileSplitMenuEO : sarFileSplitMenuEOList) {
if(StringUtils.equals(fileSplitMenuEO.getPId(),pId)){
if(displaySeq < fileSplitMenuEO.getDisplaySeq()){
fileSplitMenuEO.setDisplaySeq(fileSplitMenuEO.getDisplaySeq() - 1);
updateList.add(fileSplitMenuEO);
break;
}
}
}
if(CollectionUtils.isNotEmpty(updateList)){
this.baseMapper.updateByPrimaryKeySelective(updateList.get(0));
}
sarFileSplitMenuEO.setDisplaySeq(displaySeqAfter);
this.baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
}
return Result.OK();
}
}
@@ -138,7 +138,7 @@ spring:
# 10测试环境库
#url: jdbc:mysql://10.10.10.44:3306/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
#username: root
#password: 123456
#password: hzwlsoft.com
#driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置