package com.xcong.farmer.cms.modules.system.service.Impl;
|
|
import cn.hutool.core.collection.CollUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xcong.farmer.cms.common.response.Result;
|
import com.xcong.farmer.cms.modules.system.dto.AdminAddBarDto;
|
import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto;
|
import com.xcong.farmer.cms.modules.system.dto.AdminNavigationBarDto;
|
import com.xcong.farmer.cms.modules.system.dto.AdminUpdateBarDto;
|
import com.xcong.farmer.cms.modules.system.entity.NavigationBarEntity;
|
import com.xcong.farmer.cms.modules.system.entity.UserEntity;
|
import com.xcong.farmer.cms.modules.system.mapper.NavigationBarMapper;
|
import com.xcong.farmer.cms.modules.system.mapper.UserRoleMapper;
|
import com.xcong.farmer.cms.modules.system.service.INavigationBarService;
|
import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
|
import com.xcong.farmer.cms.modules.system.vo.AdminNavigationBarVo;
|
import com.xcong.farmer.cms.modules.system.vo.AdminSeeBarInfoVo;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
|
|
@Service
|
@Slf4j
|
public class NavigationBarServiceImpl extends ServiceImpl<NavigationBarMapper, NavigationBarEntity> implements INavigationBarService {
|
|
@Resource
|
private NavigationBarMapper navigationBarMapper;
|
|
@Override
|
public Result getBarInPage(AdminNavigationBarDto adminNavigationBarDto) {
|
UserEntity userlogin = LoginUserUtil.getLoginUser();
|
long belongId = userlogin.getBelongId() == null ? 0L : userlogin.getBelongId();
|
Page<AdminNavigationBarVo> page = new Page<>(adminNavigationBarDto.getPageNum(), adminNavigationBarDto.getPageSize());
|
NavigationBarEntity navigationBarEntity = new NavigationBarEntity();
|
navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
|
navigationBarEntity.setBelongId(belongId);
|
IPage<AdminNavigationBarVo> list = navigationBarMapper.selectAdminNavigationBarVoInPage(page,navigationBarEntity);
|
List<AdminNavigationBarVo> records = list.getRecords();
|
if(CollUtil.isNotEmpty(records)){
|
for(AdminNavigationBarVo adminNavigationBarVo : records){
|
Long id = adminNavigationBarVo.getId();
|
QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
|
objectQueryWrapper.eq("parent_id",id);
|
List<NavigationBarEntity> navigationBarEntities = navigationBarMapper.selectList(objectQueryWrapper);
|
List<AdminNavigationBarVo> adminNavigationBarVoChilds = new ArrayList<>();
|
if(CollUtil.isNotEmpty(navigationBarEntities)){
|
for(NavigationBarEntity navigationBarEntityChild : navigationBarEntities){
|
AdminNavigationBarVo child = new AdminNavigationBarVo();
|
child.setId(navigationBarEntityChild.getId());
|
child.setBarName(navigationBarEntityChild.getBarName());
|
child.setLinkUrl(navigationBarEntityChild.getLinkUrl());
|
child.setRemark(navigationBarEntityChild.getRemark());
|
child.setPic(navigationBarEntityChild.getPic());
|
child.setOrderNum(navigationBarEntityChild.getOrderNum());
|
adminNavigationBarVoChilds.add(child);
|
}
|
}
|
adminNavigationBarVo.setChild(adminNavigationBarVoChilds);
|
}
|
}
|
return Result.ok(list);
|
}
|
|
@Override
|
@Transactional
|
public Result addBar(AdminAddBarDto adminAddBarDto) {
|
UserEntity userlogin = LoginUserUtil.getLoginUser();
|
long belongId = userlogin.getBelongId() == null ? 0L : userlogin.getBelongId();
|
NavigationBarEntity navigationBarEntity = new NavigationBarEntity();
|
navigationBarEntity.setBelongId(belongId);
|
String barName = adminAddBarDto.getBarName();
|
if(StrUtil.isEmpty(barName)){
|
return Result.fail("请输入导航栏标题");
|
}
|
navigationBarEntity.setBarName(barName);
|
Long parentId = adminAddBarDto.getParentId();
|
if(ObjectUtil.isEmpty(parentId)){
|
navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
|
}else{
|
navigationBarEntity.setParentId(parentId);
|
}
|
String linkUrl = adminAddBarDto.getLinkUrl();
|
if(StrUtil.isNotEmpty(linkUrl)){
|
navigationBarEntity.setLinkUrl(linkUrl);
|
}
|
Integer orderNum = adminAddBarDto.getOrderNum();
|
if(ObjectUtil.isNotEmpty(orderNum)){
|
navigationBarEntity.setOrderNum(orderNum);
|
}
|
String pic = adminAddBarDto.getPic();
|
if(StrUtil.isNotEmpty(pic)){
|
navigationBarEntity.setPic(pic);
|
}
|
String remark = adminAddBarDto.getRemark();
|
if(StrUtil.isNotEmpty(remark)){
|
navigationBarEntity.setRemark(remark);
|
}
|
navigationBarMapper.insert(navigationBarEntity);
|
return Result.ok("添加成功");
|
}
|
|
@Override
|
@Transactional
|
public Result deleteBar(Long id) {
|
NavigationBarEntity navigationBarEntity = navigationBarMapper.selectById(id);
|
if(ObjectUtil.isEmpty(navigationBarEntity)){
|
return Result.fail("导航栏不存在");
|
}
|
QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
|
objectQueryWrapper.eq("parent_id",id);
|
List<NavigationBarEntity> navigationBarEntities = navigationBarMapper.selectList(objectQueryWrapper);
|
if(CollUtil.isNotEmpty(navigationBarEntities)){
|
return Result.fail("请先清空它的二级导航栏");
|
}
|
navigationBarMapper.deleteById(id);
|
return Result.ok("删除成功");
|
}
|
|
@Override
|
public Result seeBarInfo(Long id) {
|
NavigationBarEntity navigationBarEntity = navigationBarMapper.selectById(id);
|
if(ObjectUtil.isEmpty(navigationBarEntity)){
|
return Result.fail("导航栏不存在");
|
}
|
AdminSeeBarInfoVo adminSeeBarInfoVo = new AdminSeeBarInfoVo();
|
adminSeeBarInfoVo.setId(navigationBarEntity.getId());
|
adminSeeBarInfoVo.setBarName(navigationBarEntity.getBarName());
|
adminSeeBarInfoVo.setLinkUrl(navigationBarEntity.getLinkUrl());
|
adminSeeBarInfoVo.setRemark(navigationBarEntity.getRemark());
|
adminSeeBarInfoVo.setOrderNum(navigationBarEntity.getOrderNum());
|
adminSeeBarInfoVo.setPic(navigationBarEntity.getPic());
|
adminSeeBarInfoVo.setParentId(navigationBarEntity.getParentId());
|
return Result.ok(adminSeeBarInfoVo);
|
}
|
|
@Override
|
@Transactional
|
public Result updateBar(AdminUpdateBarDto adminUpdateMenuDto) {
|
Long id = adminUpdateMenuDto.getId();
|
if(ObjectUtil.isEmpty(id)){
|
return Result.fail("导航栏不存在");
|
}
|
NavigationBarEntity navigationBarEntity = navigationBarMapper.selectById(id);
|
if(ObjectUtil.isEmpty(navigationBarEntity)){
|
return Result.fail("导航栏不存在");
|
}
|
String barName = adminUpdateMenuDto.getBarName();
|
if(StrUtil.isEmpty(barName)){
|
return Result.fail("请输入导航栏标题");
|
}
|
navigationBarEntity.setBarName(barName);
|
Long parentId = adminUpdateMenuDto.getParentId();
|
if(ObjectUtil.isEmpty(parentId)){
|
navigationBarEntity.setParentId(NavigationBarEntity.PARENTID_DEFAULT);
|
}else{
|
navigationBarEntity.setParentId(parentId);
|
}
|
String linkUrl = adminUpdateMenuDto.getLinkUrl();
|
if(StrUtil.isNotEmpty(linkUrl)){
|
navigationBarEntity.setLinkUrl(linkUrl);
|
}
|
Integer orderNum = adminUpdateMenuDto.getOrderNum();
|
if(ObjectUtil.isNotEmpty(orderNum)){
|
navigationBarEntity.setOrderNum(orderNum);
|
}
|
String pic = adminUpdateMenuDto.getPic();
|
if(StrUtil.isNotEmpty(pic)){
|
navigationBarEntity.setPic(pic);
|
}
|
String remark = adminUpdateMenuDto.getRemark();
|
if(StrUtil.isNotEmpty(remark)){
|
navigationBarEntity.setRemark(remark);
|
}
|
navigationBarMapper.updateById(navigationBarEntity);
|
return Result.ok("更新成功");
|
}
|
|
@Override
|
public Result getBarInList() {
|
UserEntity userlogin = LoginUserUtil.getLoginUser();
|
long belongId = userlogin.getBelongId() == null ? 0L : userlogin.getBelongId();
|
List<AdminNavigationBarVo> records = navigationBarMapper.selectAdminNavigationBarVoByParentId(NavigationBarEntity.PARENTID_DEFAULT,belongId);
|
if(CollUtil.isNotEmpty(records)){
|
for(AdminNavigationBarVo adminNavigationBarVo : records){
|
Long id = adminNavigationBarVo.getId();
|
List<NavigationBarEntity> navigationBarEntities = navigationBarMapper.selectListByParentId(id,belongId);
|
List<AdminNavigationBarVo> adminNavigationBarVoChilds = new ArrayList<>();
|
if(CollUtil.isNotEmpty(navigationBarEntities)){
|
for(NavigationBarEntity navigationBarEntityChild : navigationBarEntities){
|
AdminNavigationBarVo child = new AdminNavigationBarVo();
|
child.setId(navigationBarEntityChild.getId());
|
child.setBarName(navigationBarEntityChild.getBarName());
|
child.setLinkUrl(navigationBarEntityChild.getLinkUrl());
|
child.setRemark(navigationBarEntityChild.getRemark());
|
child.setPic(navigationBarEntityChild.getPic());
|
child.setOrderNum(navigationBarEntityChild.getOrderNum());
|
adminNavigationBarVoChilds.add(child);
|
}
|
}
|
adminNavigationBarVo.setChild(adminNavigationBarVoChilds);
|
}
|
}
|
return Result.ok(records);
|
}
|
|
@Override
|
@Transactional
|
public Result delObjs(AdminDeleteDto adminDeleteDto) {
|
String ids = adminDeleteDto.getIds();
|
if(StrUtil.isNotEmpty(ids)){
|
String[] barIds = ids.split(StringPool.COMMA);
|
for(String barIdStr : barIds){
|
Long barId = Long.valueOf(barIdStr);
|
QueryWrapper<NavigationBarEntity> objectQueryWrapper = new QueryWrapper<>();
|
objectQueryWrapper.eq("parent_id",barId);
|
navigationBarMapper.delete(objectQueryWrapper);
|
|
navigationBarMapper.deleteById(barId);
|
}
|
}
|
return Result.ok("删除成功");
|
}
|
}
|