| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- package com.ydtech.modules.admin.service.impl;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
- import com.ydtech.modules.admin.dao.SysUserMapper;
- import com.ydtech.modules.admin.model.SysArea;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.admin.model.dto.SysUserDto;
- import com.ydtech.modules.admin.model.dto.SysUserLinkAreaDto;
- import com.ydtech.modules.admin.model.dto.SysUserLinkAreaListDto;
- import com.ydtech.modules.admin.model.po.SysUserLinkArea;
- import com.ydtech.modules.admin.model.vo.SysAreaVo;
- import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
- import com.ydtech.modules.admin.model.vo.SysUserLinkAreaAddVo;
- import com.ydtech.modules.admin.model.vo.SysUserLinkAreaVo;
- import com.ydtech.modules.admin.service.SysAreaService;
- import com.ydtech.modules.admin.service.SysUserLinkAreaService;
- import com.ydtech.modules.order.entity.BasePageResult;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.*;
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 14:52
- * @Description: 用户关联协议表
- */
- @Service
- public class SysUserLinkAreaServiceImpl extends ServiceImpl<SysUserLinkAreaMapper, SysUserLinkArea> implements SysUserLinkAreaService {
- @Autowired
- private SysUserLinkAreaMapper sysUserLinkAreaMapper;
- @Autowired
- private SysUserMapper sysUserMapper;
- @Autowired
- private SysAreaService sysAreaService;
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 15:13
- * @Description: 分页
- */
- @Override
- public BasePageResult<SysUserLinkAreaDto> queryPage(SysUserLinkAreaVo sysUserLinkAreaVo) {
- Page<SysUserLinkAreaDto> page = new Page<>(sysUserLinkAreaVo.getPageNum(),
- sysUserLinkAreaVo.getPageSize());
- Page<SysUserLinkAreaDto> sysUserLinkAreaDtoBasePageResult = sysUserLinkAreaMapper.queryPage(page, sysUserLinkAreaVo);
- return new BasePageResult<>(sysUserLinkAreaVo.getPageNum(), page.getSize(), sysUserLinkAreaDtoBasePageResult.getTotal(), page.getPages(),
- sysUserLinkAreaDtoBasePageResult.getRecords());
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 15:13
- * @Description: 添加修改
- */
- @Override
- public void addOrUpdate(SysUserLinkAreaAddVo sysUserLinkAreaAddVo, SysUser user) {
- String userId = sysUserLinkAreaAddVo.getUserId();
- List<String> areaCodes = sysUserLinkAreaAddVo.getAreaCodes();
- //删除数据重新添加
- sysUserLinkAreaMapper.deleteByUserId(userId);
- List<SysUserLinkArea> addList=new ArrayList<SysUserLinkArea>();
- //重新添加
- if(areaCodes!=null && areaCodes.size()>0){
- for (String areaCode : areaCodes) {
- SysUserLinkArea add=new SysUserLinkArea(userId,areaCode,user.getId(),user.getName(),new Date(),user.getId(),user.getName(),new Date());
- addList.add(add);
- }
- }
- this.saveBatch(addList);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 17:53
- * @Description: 通过id删除数据
- */
- @Override
- public void deleteByIds(List<Long> ids) {
- sysUserLinkAreaMapper.deleteBatchIds(ids);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 15:22
- * @Description: 通过用户查询关联的区域ids回显使用
- */
- @Override
- public SysUserLinkAreaListDto findAreaListByUserId(String userId) {
- //查询用户绑定的区域
- List<SysArea> list = sysUserLinkAreaMapper.findAreaListByUserId(userId);
- SysUser sysUser = sysUserMapper.selectById(userId);
- SysUserLinkAreaListDto SysUserLinkAreaListDto =new SysUserLinkAreaListDto(sysUser,list);
- return SysUserLinkAreaListDto;
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 15:23
- * @Description: 通过用户查询关联的区域树回显使用
- */
- @Override
- public List<SysAreaVo> findAreaTreeByUserId(String userId) {
- //查询所有的区域树
- List<SysAreaVo> sysAreaVos = sysAreaService.querySysArea();
- Map<String,SysArea> map=new HashMap<String,SysArea>();
- //查询用户绑定的区域
- List<SysArea> list = sysUserLinkAreaMapper.findAreaListByUserId(userId);
- if(list!=null && list.size()>0){
- for (SysArea sysArea : list) {
- map.put(sysArea.getAreaCode(),sysArea);
- }
- }
- //递归赋值
- if(sysAreaVos!=null && sysAreaVos.size()>0){
- for (SysAreaVo sysAreaVo : sysAreaVos) {
- sysAreaVo= setFlagByTree(sysAreaVo,map);
- }
- }
- return sysAreaVos;
- }
- public SysAreaVo setFlagByTree(SysAreaVo sysArea, Map<String,SysArea> map) {
- sysArea.setFlag(false);
- if (map.get(sysArea.getAreaCode())!=null) {
- sysArea.setFlag(true);
- }
- if(sysArea.getChild()==null || sysArea.getChild().size()==0){
- }
- for (SysAreaVo child : sysArea.getChild()) {
- setFlagByTree(child, map);
- }
- return sysArea;
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 17:23
- * @Description: 查询用户分页
- */
- @Override
- public BasePageResult<SysUserBaseVO> findUserListByPage(SysUserDto sysUserDto) {
- Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(),
- sysUserDto.getPageSize());
- Page<SysUserBaseVO> userPageResult = sysUserMapper.findUserListByAreaPage(page, sysUserDto);
- return new BasePageResult<>(sysUserDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
- userPageResult.getRecords());
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/27 9:45
- * @Description: 获取当前用户绑定区域的代理人ids
- */
- @Override
- public List<String> findUserIdsByLoginUserId(String userId) {
- List<String> areaCodes = sysUserLinkAreaMapper.findAreaCodeByUserId(userId);
- if(areaCodes!=null && areaCodes.size()>0){
- return sysUserLinkAreaMapper.findAreaIdsByAgentUserId(userId,areaCodes);
- }
- return null;
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/26 17:23
- * @Description: 查询用户分页
- */
- @Override
- public BasePageResult<SysUserBaseVO> findAllUsers(SysUserDto sysUserDto) {
- Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(),
- sysUserDto.getPageSize());
- Page<SysUserBaseVO> userPageResult = sysUserMapper.findAllUsers(page, sysUserDto);
- return new BasePageResult<>(sysUserDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
- userPageResult.getRecords());
- }
- }
|