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<ZfFamilyMapper, ZfFamily> implements ZfFamilyService {
|
@Autowired
|
ZInfoUserService zInfoUserService;
|
|
@Resource
|
ZfFamilyMapper zfFamilyMapper;
|
@Resource
|
ZfFamilyService zfFamilyService;
|
|
@Override
|
public AjaxResult selectDataList(ZfFamily zfFamily, Integer pageNum, Integer pageSize) {
|
|
|
LambdaQueryWrapper<ZfFamily> lqw = new LambdaQueryWrapper<>();
|
|
lqw.eq(zfFamily.getClanId()!=null,ZfFamily::getClanId,zfFamily.getClanId());
|
lqw.like(zfFamily.getName()!=null,ZfFamily::getName,zfFamily.getName());
|
Page<ZfFamily> zfPropertyPage = new Page<>(pageNum, pageSize);
|
Page<ZfFamily> pageResult = page(zfPropertyPage, lqw);
|
|
List<ZfFamily> beanRecords = pageResult.getRecords();//得到查询出来的数据
|
HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
|
|
return AjaxResult.success(data);
|
}
|
|
@Override
|
public ZfFamily getByNameAndUser(ZfFamily zfFamily) {
|
LambdaQueryWrapper<ZfFamily> 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<ZfFamily> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(ZfFamily::getName,familyName);
|
return getOne(lqw);
|
}
|
|
@Override
|
public ZfFamily getByFid(Long fid) {
|
LambdaQueryWrapper<ZfFamily> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(ZfFamily::getFid,fid);
|
return getOne(lqw); }
|
|
@Override
|
public ZfFamily getByFamId(Long fid) {
|
LambdaQueryWrapper<ZfFamily> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(ZfFamily::getId,fid);
|
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();
|
|
}
|
|
@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();
|
|
|
}
|
}
|