From f04b8922283120e2bc4a476ddc302ebd3b0894e4 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 07 Jul 2022 20:42:05 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/farmer-cms --- src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java | 143 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 111 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java index 6458285..810ecc2 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java @@ -6,39 +6,49 @@ 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.contants.AppContants; import com.xcong.farmer.cms.common.response.Result; import com.xcong.farmer.cms.modules.system.dto.AdminAddColumnDto; import com.xcong.farmer.cms.modules.system.dto.AdminColumnDto; import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto; import com.xcong.farmer.cms.modules.system.dto.AdminUpdateColumnDto; -import com.xcong.farmer.cms.modules.system.entity.ColumnEntity; -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.entity.*; +import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper; import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper; +import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper; import com.xcong.farmer.cms.modules.system.service.IColumnService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; import com.xcong.farmer.cms.modules.system.vo.AdminColumnVo; import com.xcong.farmer.cms.modules.system.vo.AdminSeeColumnInfoVo; +import com.xcong.farmer.cms.modules.system.vo.WebColumnVo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ObjectUtil; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; @Service @Slf4j public class ColumnServiceImpl extends ServiceImpl<ColumnMapper, ColumnEntity> implements IColumnService { + + @Autowired + private ArticleMapper articleMapper; + @Autowired + private CompanyMapper companyMapper; + @Override public Result getColumnInPage(AdminColumnDto adminColumnDto) { UserEntity userlogin = LoginUserUtil.getLoginUser(); - long belongId = userlogin.getBelongId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getBelongId(); + long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId(); Page<AdminColumnVo> page = new Page<>(adminColumnDto.getPageNum(), adminColumnDto.getPageSize()); ColumnEntity columnEntity = new ColumnEntity(); - columnEntity.setBelongId(belongId); + columnEntity.setCompanyId(companyId); columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT); IPage<AdminColumnVo> list = this.baseMapper.selectAdminColumnVoInPage(page,columnEntity); List<AdminColumnVo> records = list.getRecords(); @@ -47,7 +57,7 @@ Long id = adminColumnVo.getId(); QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("parent_id",id); - objectQueryWrapper.eq("belong_id",belongId); + objectQueryWrapper.eq("company_id",companyId); List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper); List<AdminColumnVo> adminColumnVoChilds = new ArrayList<>(); if(CollUtil.isNotEmpty(columnEntities)){ @@ -72,33 +82,26 @@ @Transactional public Result addColumn(AdminAddColumnDto adminAddColumnDto) { UserEntity userlogin = LoginUserUtil.getLoginUser(); - long belongId = userlogin.getBelongId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getBelongId(); + long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId(); ColumnEntity columnEntity = new ColumnEntity(); - columnEntity.setBelongId(belongId); + columnEntity.setCompanyId(companyId); String columnName = adminAddColumnDto.getColumnName(); - if(StrUtil.isEmpty(columnName)){ - return Result.fail("请输入栏目名称"); - } columnEntity.setColumnName(columnName); String columnCode = adminAddColumnDto.getColumnCode(); - if(StrUtil.isEmpty(columnCode)){ - return Result.fail("请输入栏目编码"); - } QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("column_code",columnCode); + if(UserEntity.USER_BELONG_TOP != companyId){ + objectQueryWrapper.eq("company_id",companyId); + } List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper); if(CollUtil.isNotEmpty(columnEntities)){ return Result.fail("栏目编码不能重复"); } columnEntity.setColumnCode(columnCode); String remark = adminAddColumnDto.getRemark(); - if(StrUtil.isNotEmpty(remark)){ columnEntity.setRemark(remark); - } String pic = adminAddColumnDto.getPic(); - if(StrUtil.isNotEmpty(pic)){ columnEntity.setPic(pic); - } Integer orderNum = adminAddColumnDto.getOrderNum(); if(ObjectUtil.isNotEmpty(orderNum)){ columnEntity.setOrderNum(orderNum); @@ -106,11 +109,22 @@ Long parentId = adminAddColumnDto.getParentId(); if(ObjectUtil.isEmpty(parentId)){ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT); + columnEntity.setPath("/" + columnEntity.getColumnCode()); }else{ columnEntity.setParentId(parentId); + ColumnEntity parent = this.baseMapper.selectById(parentId); + columnEntity.setPath(parent.getPath() + "/" + columnEntity.getColumnCode()); } + + columnEntity.setListTemplate(adminAddColumnDto.getListTemplate()); + columnEntity.setArticleTemplate(adminAddColumnDto.getArticleTemplate()); + columnEntity.setType(adminAddColumnDto.getType()); + columnEntity.setTargetType(adminAddColumnDto.getTargetType()); + columnEntity.setTargetUrl(adminAddColumnDto.getTargetUrl()); + columnEntity.setIsNav(adminAddColumnDto.getIsNav()); + columnEntity.setContentType(adminAddColumnDto.getContentType()); this.baseMapper.insert(columnEntity); - return Result.ok("添加成功"); + return Result.ok("添加成功", columnEntity.getId()); } @Override @@ -144,12 +158,30 @@ adminSeeColumnInfoVo.setParentId(columnEntity.getParentId()); adminSeeColumnInfoVo.setOrderNum(columnEntity.getOrderNum()); adminSeeColumnInfoVo.setPic(columnEntity.getPic()); + adminSeeColumnInfoVo.setListTemplate(columnEntity.getListTemplate()); + adminSeeColumnInfoVo.setArticleTemplate(columnEntity.getArticleTemplate()); + adminSeeColumnInfoVo.setIsNav(columnEntity.getIsNav()); + adminSeeColumnInfoVo.setType(columnEntity.getType()); + adminSeeColumnInfoVo.setTargetType(columnEntity.getTargetType()); + adminSeeColumnInfoVo.setContentType(columnEntity.getContentType()); + if (columnEntity.getType() == 2) { + if (columnEntity.getTargetType() == 1) { + ArticleEntity articleEntity = articleMapper.selectById(Long.parseLong(columnEntity.getTargetUrl())); + adminSeeColumnInfoVo.setTargetName(articleEntity.getTitle()); + } else if (columnEntity.getTargetType() == 2) { + ColumnEntity column = this.baseMapper.selectByCodeAndCompanyId(columnEntity.getTargetUrl(), LoginUserUtil.getCompanyId()); + adminSeeColumnInfoVo.setTargetName(column.getColumnName()); + } + } + adminSeeColumnInfoVo.setTargetUrl(columnEntity.getTargetUrl()); return Result.ok(adminSeeColumnInfoVo); } @Override @Transactional public Result updateColumn(AdminUpdateColumnDto adminUpdateColumnDto) { + UserEntity userlogin = LoginUserUtil.getLoginUser(); + long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId(); Long id = adminUpdateColumnDto.getId(); if(ObjectUtil.isEmpty(id)){ return Result.fail("栏目不存在"); @@ -159,29 +191,22 @@ return Result.fail("栏目不存在"); } String columnName = adminUpdateColumnDto.getColumnName(); - if(StrUtil.isEmpty(columnName)){ - return Result.fail("请输入栏目名称"); - } columnEntity.setColumnName(columnName); String columnCode = adminUpdateColumnDto.getColumnCode(); - if(StrUtil.isEmpty(columnCode)){ - return Result.fail("请输入栏目编码"); - } QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("column_code",columnCode); + if(UserEntity.USER_BELONG_TOP != companyId){ + objectQueryWrapper.eq("company_id",companyId); + } List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper); if(CollUtil.isNotEmpty(columnEntities) && columnEntities.size() > 1){ return Result.fail("栏目编码不能重复"); } columnEntity.setColumnCode(columnCode); String remark = adminUpdateColumnDto.getRemark(); - if(StrUtil.isNotEmpty(remark)){ columnEntity.setRemark(remark); - } String pic = adminUpdateColumnDto.getPic(); - if(StrUtil.isNotEmpty(pic)){ columnEntity.setPic(pic); - } Integer orderNum = adminUpdateColumnDto.getOrderNum(); if(ObjectUtil.isNotEmpty(orderNum)){ columnEntity.setOrderNum(orderNum); @@ -189,9 +214,20 @@ Long parentId = adminUpdateColumnDto.getParentId(); if(ObjectUtil.isEmpty(parentId)){ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT); + columnEntity.setPath("/" + columnEntity.getColumnCode()); }else{ columnEntity.setParentId(parentId); + ColumnEntity parent = this.baseMapper.selectById(parentId); + columnEntity.setPath(parent.getPath() + "/" + columnEntity.getColumnCode()); } + + columnEntity.setListTemplate(adminUpdateColumnDto.getListTemplate()); + columnEntity.setArticleTemplate(adminUpdateColumnDto.getArticleTemplate()); + columnEntity.setType(adminUpdateColumnDto.getType()); + columnEntity.setTargetType(adminUpdateColumnDto.getTargetType()); + columnEntity.setTargetUrl(adminUpdateColumnDto.getTargetUrl()); + columnEntity.setIsNav(adminUpdateColumnDto.getIsNav()); + columnEntity.setContentType(adminUpdateColumnDto.getContentType()); this.baseMapper.updateById(columnEntity); return Result.ok("更新成功"); } @@ -199,14 +235,14 @@ @Override public Result getColumnInList() { UserEntity userlogin = LoginUserUtil.getLoginUser(); - long belongId = userlogin.getBelongId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getBelongId(); - List<AdminColumnVo> records = this.baseMapper.selectColumnInListByParentId(ColumnEntity.PARENTID_DEFAULT,belongId); + long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId(); + List<AdminColumnVo> records = this.baseMapper.selectColumnInListByParentId(ColumnEntity.PARENTID_DEFAULT,companyId); if(CollUtil.isNotEmpty(records)){ for(AdminColumnVo adminColumnVo : records){ Long id = adminColumnVo.getId(); QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("parent_id",id); - objectQueryWrapper.eq("belong_id",belongId); + objectQueryWrapper.eq("company_id",companyId); List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper); List<AdminColumnVo> adminColumnVoChilds = new ArrayList<>(); if(CollUtil.isNotEmpty(columnEntities)){ @@ -218,6 +254,7 @@ child.setRemark(columnEntityChild.getRemark()); child.setPic(columnEntityChild.getPic()); child.setOrderNum(columnEntityChild.getOrderNum()); + child.setContentType(columnEntityChild.getContentType()); adminColumnVoChilds.add(child); } } @@ -243,4 +280,46 @@ } return Result.ok("删除成功"); } + + @Override + public Result getWebColumnInList(HttpServletRequest request) { + String website = request.getHeader(AppContants.WEBSITE_HEADER); + Long companyId = getCompanyIdFromWebsite(website); + List<WebColumnVo> records = this.baseMapper.selectWebColumnInListByParentId(ColumnEntity.PARENTID_DEFAULT,companyId); + if(CollUtil.isNotEmpty(records)){ + for(WebColumnVo webColumnVo : records){ + Long id = webColumnVo.getId(); + QueryWrapper<ColumnEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("parent_id",id); + objectQueryWrapper.eq("company_id",companyId); + List<ColumnEntity> columnEntities = this.baseMapper.selectList(objectQueryWrapper); + List<WebColumnVo> adminColumnVoChilds = new ArrayList<>(); + if(CollUtil.isNotEmpty(columnEntities)){ + for(ColumnEntity columnEntityChild : columnEntities){ + WebColumnVo child = new WebColumnVo(); + child.setId(columnEntityChild.getId()); + child.setColumnName(columnEntityChild.getColumnName()); + child.setColumnCode(columnEntityChild.getColumnCode()); + adminColumnVoChilds.add(child); + } + } + webColumnVo.setChild(adminColumnVoChilds); + } + } + return Result.ok(records); + } + + private Long getCompanyIdFromWebsite(String website){ + List<CompanyEntity> companyEntities = companyMapper.selectList(new QueryWrapper<>()); + Long companyId = 0L; + if(CollUtil.isNotEmpty(companyEntities)){ + for(CompanyEntity companyEntity : companyEntities){ + boolean contains = StrUtil.contains(website, companyEntity.getWebAddress()); + if(contains){ + companyId = companyEntity.getId(); + } + } + } + return companyId; + } } -- Gitblit v1.9.1