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.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; 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.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.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; @Override public ZfFamily getByName(String familyName) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfFamily::getName,familyName); 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("修改失败,家庭号不能重复"); } }