From fa4aaa8ec7af6ef7a6ddc63ae69e923723c3febc Mon Sep 17 00:00:00 2001 From: Jinquan_Ou <Jinquan@gdut.com> Date: 星期六, 08 四月 2023 12:45:45 +0800 Subject: [PATCH] bbb --- zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java | 144 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 144 insertions(+), 0 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java index 97d663b..9fa02f2 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java @@ -2,11 +2,32 @@ +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.common.utils.StringUtils; import com.ruoyi.domain.ZInfoUser; +import com.ruoyi.domain.ZfEvent; +import com.ruoyi.domain.ZfRelation; +import com.ruoyi.domain.dto.UserRelationDto; import com.ruoyi.mapper.ZInfoUserMapper; import com.ruoyi.service.ZInfoUserService; +import com.ruoyi.service.ZfRelationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -17,6 +38,129 @@ * @since 2023-03-14 */ @Service +@Slf4j public class ZInfoUserServiceImpl extends ServiceImpl<ZInfoUserMapper, ZInfoUser> implements ZInfoUserService { + @Autowired + private ZfRelationService zfRelationService; + + @Override + public AjaxResult selectInfoList(ZInfoUser zInfoUser, Integer pageNum, Integer pageSize) { + + LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser); + + Page<ZInfoUser> zInfoUserPage = new Page<>(pageNum,pageSize); + Page<ZInfoUser> pageResult = page(zInfoUserPage, lqw); + + HashMap<String, Object> data = MapUtils.getResult(pageResult); + return AjaxResult.success(data); + + } + + private LambdaQueryWrapper<ZInfoUser> buildCondition(ZInfoUser zInfoUser) { + + LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); + lqw.eq(zInfoUser.getUserId()!=null,ZInfoUser::getUserId,zInfoUser.getUserId()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysAddress()),ZInfoUser::getAlwaysAddress,zInfoUser.getAlwaysAddress()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysPolice()),ZInfoUser::getAlwaysPolice,zInfoUser.getAlwaysPolice()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getIdNum()),ZInfoUser::getIdNum,zInfoUser.getIdNum()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationAddress()),ZInfoUser::getLocationAddress,zInfoUser.getLocationAddress()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationPolice()),ZInfoUser::getLocationPolice,zInfoUser.getLocationPolice()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNation()),ZInfoUser::getNation,zInfoUser.getNation()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNationality()),ZInfoUser::getNationality,zInfoUser.getNationality()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()),ZInfoUser::getNickName,zInfoUser.getNickName()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getOldName()),ZInfoUser::getOldName,zInfoUser.getOldName()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPhoneNumber()),ZInfoUser::getPhoneNumber,zInfoUser.getPhoneNumber()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPoliticalOutlook()),ZInfoUser::getPoliticalOutlook,zInfoUser.getPoliticalOutlook()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPosition()),ZInfoUser::getPosition,zInfoUser.getPosition()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getUnit()),ZInfoUser::getUnit,zInfoUser.getUnit()); + lqw.like(zInfoUser.getSex()!=null,ZInfoUser::getSex,zInfoUser.getSex()); + lqw.like(zInfoUser.getMaritalStatus()!=null,ZInfoUser::getMaritalStatus,zInfoUser.getMaritalStatus()); + lqw.like(zInfoUser.getBirth()!=null,ZInfoUser::getBirth,zInfoUser.getBirth()); + return lqw; + + } + + @Override + public List<ZInfoUser> selectByCondition(ZInfoUser zInfoUser) { + LambdaQueryWrapper<ZInfoUser> lambdaQueryWrapper = buildCondition(zInfoUser); + List<ZInfoUser> list = list(lambdaQueryWrapper); + log.info("杩斿洖鐨勬暟鎹负:{}",list); + return list; + + } + + @Override + public AjaxResult searchMyRelation(Long userId) { + + LambdaQueryWrapper<ZfRelation> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZfRelation::getMyId,userId); + List<ZfRelation> relationList = zfRelationService.list(lqw); + + ArrayList<UserRelationDto> otherUserList = new ArrayList<>(); + + relationList.stream().map( + (relation)->{ + Long otherId = relation.getOtherId(); + ZInfoUser otherUser = getById(otherId); + UserRelationDto userRelationDto = new UserRelationDto(); + BeanUtils.copyProperties(otherUser,userRelationDto); + userRelationDto.setRelation(relation.getRelation()); + userRelationDto.setId(relation.getId()); + otherUserList.add(userRelationDto); + return relation; + } + ).collect(Collectors.toList()); + + return AjaxResult.success(otherUserList); + } + + /** + * 妫�鏌ヤ紶鍏ュ鏂圭殑id鏄惁瀛樺湪 + * @param zfRelation + */ + private void checkRelation(ZfRelation zfRelation){ + + LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZInfoUser::getUserId, zfRelation.getOtherId()); + + ZInfoUser zInfoUser2 = getOne(lqw); + if (zInfoUser2==null){ + throw new RuntimeException("瀵规柟鐨刬d涓嶅瓨鍦�"); + } + } + + @Override + @Transactional + public AjaxResult addRelation(ZfRelation zfRelation) { + checkRelation(zfRelation); + + //鑾峰彇鑷繁鐨刬d骞朵紶鍏� + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + zfRelation.setMyId(userId); + + zfRelationService.save(zfRelation); + return AjaxResult.success(); + } + + @Override + @Transactional + public AjaxResult updateRelation(ZfRelation zfRelation) { + checkRelation(zfRelation); + zfRelationService.updateById(zfRelation); + return AjaxResult.success(); + } + + @Override + public AjaxResult deleteRelation(Long[] ids) { + boolean flag = zfRelationService.removeByIds(Arrays.asList(ids)); + if (flag){ + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + } + + } -- Gitblit v1.9.1