package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.domain.ZInfoUser; import com.ruoyi.domain.ZfEvent; import com.ruoyi.domain.ZfFamily; import com.ruoyi.domain.ZfProperty; import com.ruoyi.domain.dto.UserInfoDto; import com.ruoyi.mapper.ZfEventMapper; import com.ruoyi.mapper.ZfFamilyMapper; import com.ruoyi.service.ZInfoUserService; import com.ruoyi.service.ZfEventService; import com.ruoyi.service.ZfFamilyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; /** * @Author Jinquan_Ou * @Description * @Date 2023-07-14 14:32 * @Version 1.0.0 **/ @Service public class ZfFamilyServiceImpl extends ServiceImpl implements ZfFamilyService { @Autowired ZInfoUserService zInfoUserService; @Resource ZfFamilyMapper zfFamilyMapper; @Resource ZfFamilyService zfFamilyService; @Override public AjaxResult selectDataList(ZfFamily zfFamily, Integer pageNum, Integer pageSize) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(zfFamily.getClanId()!=null,ZfFamily::getClanId,zfFamily.getClanId()); lqw.like(zfFamily.getName()!=null,ZfFamily::getName,zfFamily.getName()); Page zfPropertyPage = new Page<>(pageNum, pageSize); Page pageResult = page(zfPropertyPage, lqw); List beanRecords = pageResult.getRecords();//得到查询出来的数据 HashMap data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public ZfFamily getByNameAndUser(ZfFamily zfFamily) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfFamily::getName,zfFamily.getName()).or().eq(ZfFamily::getFid, zfFamily.getFid()); return getOne(lqw); } @Override public ZfFamily getByName(String familyName) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfFamily::getName,familyName); return getOne(lqw); } @Override public ZfFamily getByFid(Long fid) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfFamily::getFid,fid); return getOne(lqw); } @Override public ZfFamily getByFamId(Long fid) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfFamily::getId,fid); return getOne(lqw); } @Override public List getByFamilyId(Long fid) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZInfoUser::getFamilyId,fid); List list = zInfoUserService.list(lqw); return list.stream().map( zInfoUser -> { UserInfoDto userInfoDto = new UserInfoDto(); userInfoDto.setId(zInfoUser.getUserId()); userInfoDto.setFamilyId(zInfoUser.getFamilyId()); userInfoDto.setName(zInfoUser.getNickName()); userInfoDto.setFamilyName(getById(zInfoUser.getFamilyId()).getName()); return userInfoDto; } ).collect(Collectors.toList()); } @Override public List getNowMember() { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); ZInfoUser myself = zInfoUserService.getById(userId); return getByFamilyId(myself.getFamilyId()); } @Override public AjaxResult addMember(UserInfoDto userInfoDto) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); ZInfoUser myself = zInfoUserService.getById(userId); //查看当前用户是不是管理员 if(myself.getRoleId()!=1 && myself.getRoleId()!=2){ throw new RuntimeException("你不是家庭管理员,没有权限操作"); } Long uid = userInfoDto.getId(); // Long targetFamilyId = zInfoUserService.getById(uid).getFamilyId(); UpdateWrapper luw = new UpdateWrapper<>(); luw.eq("user_id",uid); //update from z_info_user set family_id = #{targetFamilyId where user_id = #{uid} luw.setSql("family_id = "+myself.getFamilyId()); zInfoUserService.update(luw); return AjaxResult.success(); } @Override public AjaxResult removeMember(UserInfoDto userInfoDto) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); ZInfoUser myself = zInfoUserService.getById(userId); //查看当前用户是不是管理员 if(myself.getRoleId()!=1 && myself.getRoleId()!=2){ throw new RuntimeException("你不是家庭管理员,没有权限操作"); } Long uid = userInfoDto.getId(); // Long targetFamilyId = zInfoUserService.getById(uid).getFamilyId(); UpdateWrapper luw = new UpdateWrapper<>(); luw.eq("user_id",uid); //update from z_info_user set family_id = #{targetFamilyId where user_id = #{uid} luw.setSql("family_id = "+null); zInfoUserService.update(luw); return AjaxResult.success(); } @Override public AjaxResult addFamily(ZfFamily zfFamily) { int res = zfFamilyMapper.insert(zfFamily); return AjaxResult.success(); } @Override public AjaxResult updateFam(ZfFamily zfFamily) { int res = zfFamilyMapper.updateById(zfFamily); if(res!=0) { return AjaxResult.success(); }else return AjaxResult.error("修改失败,家庭号不能重复"); } @Override public AjaxResult deleteFam(Long[] ids) { if (zfFamilyService.removeByIds(Arrays.asList(ids))) { return AjaxResult.success(); } else return AjaxResult.error(); } }