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 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<ZfFamilyMapper, ZfFamily> implements ZfFamilyService {
|
@Autowired
|
ZInfoUserService zInfoUserService;
|
|
|
@Override
|
public ZfFamily getByName(String familyName) {
|
LambdaQueryWrapper<ZfFamily> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(ZfFamily::getName,familyName);
|
return getOne(lqw);
|
}
|
|
@Override
|
public List<UserInfoDto> getByFamilyId(Long fid) {
|
LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(ZInfoUser::getFamilyId,fid);
|
List<ZInfoUser> 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<UserInfoDto> 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<ZInfoUser> 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<ZInfoUser> 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();
|
|
}
|
}
|