| | |
| | | package com.ruoyi.service.impl; |
| | | |
| | | |
| | | 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.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.domain.ZInfoUser; |
| | | import com.ruoyi.domain.ZfMaster; |
| | | import com.ruoyi.domain.ZfEquipment; |
| | | import com.ruoyi.domain.ZfPet; |
| | | import com.ruoyi.domain.ZfProperty; |
| | | import com.ruoyi.mapper.ZfPetMapper; |
| | | import com.ruoyi.service.ZInfoUserService; |
| | | import com.ruoyi.service.ZfMasterService; |
| | | import com.ruoyi.service.ZfPetService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.util.StringUtil; |
| | | 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; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @since 2023-03-12 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class ZfPetServiceImpl extends ServiceImpl<ZfPetMapper, ZfPet> implements ZfPetService { |
| | | |
| | | @Autowired |
| | | ZInfoUserService zInfoUserService; |
| | | |
| | | @Autowired |
| | | ZfMasterService zfMasterService; |
| | | |
| | | @Autowired |
| | | ZfPetService zfPetService; |
| | | @Override |
| | | public AjaxResult selectPetList(ZfPet zfPet, Integer pageNum, Integer pageSize) { |
| | | LambdaQueryWrapper<ZfPet> lqw = buildCondition(zfPet); |
| | | lqw.orderByDesc(ZfPet::getCreateTime); |
| | | Page<ZfPet> ZfPetPage = new Page<>(pageNum,pageSize); |
| | | Page<ZfPet> pageResult = page(ZfPetPage, lqw); |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult); |
| | | return AjaxResult.success(data); |
| | | } |
| | | |
| | | @Override |
| | | public List<ZfPet> selectByCondition(ZfPet zfPet) { |
| | | LambdaQueryWrapper<ZfPet> lambdaQueryWrapper = buildCondition(zfPet); |
| | | lambdaQueryWrapper.orderByDesc(ZfPet::getCreateTime); |
| | | List<ZfPet> list = list(lambdaQueryWrapper); |
| | | log.info("返回的数据为:{}",list); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<ZfPet> selectByIds(Long[] ids) { |
| | | List<ZfPet> list = new ArrayList<>(); |
| | | if(ids.length!=0) |
| | | list = listByIds(Arrays.asList(ids)); |
| | | else |
| | | list = list(); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public AjaxResult mySave(ZfPet zfPet) { |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | |
| | | String pid = IdUtils.fastSimpleUUID(); |
| | | zfPet.setId(pid); |
| | | |
| | | //判断是否有重复数据 |
| | | LambdaQueryWrapper<ZfPet> lqw = uniqueCondition(zfPet); |
| | | List<ZfPet> list = list(lqw); |
| | | if(list.size()>0){ |
| | | throw new RuntimeException("请勿新增重复数据"); |
| | | } |
| | | |
| | | //先查找本人的数据 |
| | | LambdaQueryWrapper<ZInfoUser> zInfoLqw = new LambdaQueryWrapper<>(); |
| | | zInfoLqw.eq(ZInfoUser::getUserId,userId); |
| | | ZInfoUser master = zInfoUserService.getOne(zInfoLqw); |
| | | |
| | | ZfMaster zfMaster = new ZfMaster(); |
| | | zfMaster.setPetId(zfPet.getId()); |
| | | zfMaster.setName(master.getNickName()); |
| | | zfMaster.setCertificateType("身份证"); |
| | | zfMaster.setCertificateNo(master.getIdNo()); |
| | | zfMaster.setPhoneNo(master.getPhoneNumber()); |
| | | zfMaster.setAddress(master.getAlwaysAddress()); |
| | | |
| | | zfMasterService.save(zfMaster); |
| | | |
| | | zfPetService.save(zfPet); |
| | | |
| | | return AjaxResult.success(); |
| | | |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZfPet> uniqueCondition(ZfPet zfPet) { |
| | | LambdaQueryWrapper<ZfPet> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getIdNum()),ZfPet::getIdNum,zfPet.getIdNum()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getSecurityCode()),ZfPet::getSecurityCode,zfPet.getSecurityCode()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getType()),ZfPet::getType,zfPet.getType()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getName()),ZfPet::getName,zfPet.getName()); |
| | | lqw.eq(zfPet.getBirth()!=null,ZfPet::getBirth,zfPet.getBirth()); |
| | | lqw.eq(zfPet.getSex()!=null,ZfPet::getSex,zfPet.getSex()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getColor()),ZfPet::getColor,zfPet.getColor()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getProperties()),ZfPet::getProperties,zfPet.getProperties()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getEatHabit()),ZfPet::getEatHabit,zfPet.getEatHabit()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getLifeHabit()),ZfPet::getLifeHabit,zfPet.getLifeHabit()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getAddress()),ZfPet::getAddress,zfPet.getAddress()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getDialect()),ZfPet::getDialect,zfPet.getDialect()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getDisEatHabit()),ZfPet::getDisEatHabit,zfPet.getDisEatHabit()); |
| | | lqw.eq(StringUtils.isNotEmpty(zfPet.getDisLifeHabit()),ZfPet::getDisLifeHabit,zfPet.getDisLifeHabit()); |
| | | return lqw; |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZfPet> buildCondition(ZfPet zfPet) { |
| | | LambdaQueryWrapper<ZfPet> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getIdNum()),ZfPet::getIdNum,zfPet.getIdNum()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getSecurityCode()),ZfPet::getSecurityCode,zfPet.getSecurityCode()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getType()),ZfPet::getType,zfPet.getType()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getName()),ZfPet::getName,zfPet.getName()); |
| | | lqw.like(zfPet.getBirth()!=null,ZfPet::getBirth,zfPet.getBirth()); |
| | | lqw.like(zfPet.getSex()!=null,ZfPet::getSex,zfPet.getSex()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getColor()),ZfPet::getColor,zfPet.getColor()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getProperties()),ZfPet::getProperties,zfPet.getProperties()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getEatHabit()),ZfPet::getEatHabit,zfPet.getEatHabit()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getLifeHabit()),ZfPet::getLifeHabit,zfPet.getLifeHabit()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getAddress()),ZfPet::getAddress,zfPet.getAddress()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getDialect()),ZfPet::getDialect,zfPet.getDialect()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getDisEatHabit()),ZfPet::getDisEatHabit,zfPet.getDisEatHabit()); |
| | | lqw.like(StringUtils.isNotEmpty(zfPet.getDisLifeHabit()),ZfPet::getDisLifeHabit,zfPet.getDisLifeHabit()); |
| | | return lqw; |
| | | } |
| | | } |