package com.xcong.farmer.cms.modules.system.service.Impl; import cn.hutool.core.util.StrUtil; 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.AdminAddBelongDto; import com.xcong.farmer.cms.modules.system.dto.AdminBelongDto; import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto; import com.xcong.farmer.cms.modules.system.dto.AdminUpdateBelongDto; import com.xcong.farmer.cms.modules.system.entity.BelongEntity; import com.xcong.farmer.cms.modules.system.entity.UserEntity; import com.xcong.farmer.cms.modules.system.entity.UserRoleEntity; import com.xcong.farmer.cms.modules.system.mapper.BelongMapper; import com.xcong.farmer.cms.modules.system.service.IBelongService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; import com.xcong.farmer.cms.modules.system.vo.AdminBelongVo; import com.xcong.farmer.cms.modules.system.vo.AdminSeeBelongInfoVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import org.springframework.transaction.annotation.Transactional; @Service @Slf4j public class BelongServiceImpl extends ServiceImpl implements IBelongService { @Override public Result getBelongInPage(AdminBelongDto adminBelongDto) { UserEntity userlogin = LoginUserUtil.getLoginUser(); Long belongId = userlogin.getBelongId(); Page page = new Page<>(adminBelongDto.getPageNum(), adminBelongDto.getPageSize()); BelongEntity belongEntity = new BelongEntity(); String name = adminBelongDto.getName(); if(StrUtil.isNotEmpty(name)){ belongEntity.setName(name); } if(belongId != UserEntity.USER_BELONG_TOP){ belongEntity.setId(belongId); } IPage list = this.baseMapper.selectAdminBelongInPage(page,belongEntity); return Result.ok(list); } @Override @Transactional public Result addBelong(AdminAddBelongDto adminAddBelongDto) { String name = adminAddBelongDto.getName(); if(StrUtil.isEmpty(name)){ return Result.fail("请输入名称"); } String code = adminAddBelongDto.getCode(); if(StrUtil.isEmpty(code)){ return Result.fail("请输入编码"); } QueryWrapper objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("code",code); List belongEntities = this.baseMapper.selectList(objectQueryWrapper); if(CollUtil.isNotEmpty(belongEntities)){ return Result.fail("编码已存在,请重新输入"); } BelongEntity belongEntity = new BelongEntity(); belongEntity.setName(name); belongEntity.setCode(code); String webAddress = adminAddBelongDto.getWebAddress(); if(StrUtil.isNotEmpty(webAddress)){ belongEntity.setWebAddress(webAddress); } String remark = adminAddBelongDto.getRemark(); if(StrUtil.isNotEmpty(remark)){ belongEntity.setRemark(remark); } String pic = adminAddBelongDto.getPic(); if(StrUtil.isNotEmpty(pic)){ belongEntity.setPic(pic); } this.baseMapper.insert(belongEntity); return Result.ok("添加成功"); } @Override public Result seeBelongInfo(Long id) { BelongEntity belongEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(belongEntity)){ Result.fail("所属公司不存在"); } AdminSeeBelongInfoVo adminSeeBelongInfoVo = new AdminSeeBelongInfoVo(); adminSeeBelongInfoVo.setId(belongEntity.getId()); adminSeeBelongInfoVo.setName(belongEntity.getName()); adminSeeBelongInfoVo.setCode(belongEntity.getCode()); adminSeeBelongInfoVo.setRemark(belongEntity.getRemark()); adminSeeBelongInfoVo.setWebAddress(belongEntity.getWebAddress()); adminSeeBelongInfoVo.setPic(belongEntity.getPic()); return Result.ok(adminSeeBelongInfoVo); } @Override @Transactional public Result updateBelong(AdminUpdateBelongDto adminUpdateBelongDto) { Long id = adminUpdateBelongDto.getId(); BelongEntity belongEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(belongEntity)){ Result.fail("所属公司不存在"); } String name = adminUpdateBelongDto.getName(); if(StrUtil.isEmpty(name)){ return Result.fail("请输入名称"); } belongEntity.setName(name); String code = adminUpdateBelongDto.getCode(); if(StrUtil.isEmpty(code)){ return Result.fail("请输入编码"); } if(!belongEntity.getCode().equals(code)){ QueryWrapper objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("code",code); List belongEntities = this.baseMapper.selectList(objectQueryWrapper); if(CollUtil.isNotEmpty(belongEntities)){ return Result.fail("编码已存在,请重新输入"); } belongEntity.setCode(code); } belongEntity.setWebAddress(adminUpdateBelongDto.getWebAddress()); belongEntity.setRemark(adminUpdateBelongDto.getRemark()); belongEntity.setPic(adminUpdateBelongDto.getPic()); this.baseMapper.updateById(belongEntity); return Result.ok("更新成功"); } @Override public Result getBelongInList() { UserEntity userlogin = LoginUserUtil.getLoginUser(); Long belongId = userlogin.getBelongId(); QueryWrapper objectQueryWrapper = new QueryWrapper<>(); if(belongId != UserEntity.USER_BELONG_TOP){ objectQueryWrapper.eq("id",belongId); } List belongEntities = this.baseMapper.selectList(objectQueryWrapper); List adminBelongVos = new ArrayList<>(); if(CollUtil.isNotEmpty(belongEntities)){ for(BelongEntity belongEntity : belongEntities){ AdminBelongVo adminBelongVo = new AdminBelongVo(); adminBelongVo.setId(belongEntity.getId()); adminBelongVo.setName(belongEntity.getName()); adminBelongVo.setCode(belongEntity.getCode()); adminBelongVos.add(adminBelongVo); } } return Result.ok(adminBelongVos); } @Override public Result delObjs(AdminDeleteDto adminDeleteDto) { String ids = adminDeleteDto.getIds(); UserEntity userlogin = LoginUserUtil.getLoginUser(); if(userlogin.getBelongId() != UserEntity.USER_BELONG_TOP){ return Result.fail("没有删除权限"); } if(StrUtil.isNotEmpty(ids)){ String[] belongIds = ids.split(StringPool.COMMA); for(String belongIdStr : belongIds){ Long belongId = Long.valueOf(belongIdStr); this.baseMapper.deleteById(belongId); } } return Result.ok("删除成功"); } }