package com.iden.bms.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iden.common.entity.IdenCrowd; import com.iden.common.service.IdenCrowdService; import com.iden.common.util.MyBeanUtils; import com.iden.common.vo.CrowdVO; import com.iden.common.vo.PageReqVO; import com.iden.common.vo.UserLoginedConvertVO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * * @author makejava * @since 2021-05-21 00:08:38 */ @Service public class CrowdService { @Resource private IdenCrowdService idenCrowdService; /** * 查询人群列表 * @return */ public IPage listCrowd(String name, UserLoginedConvertVO loginUser, PageReqVO pageReqVo) { IPage page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StrUtil.isNotEmpty(name),IdenCrowd::getName,name) .orderByAsc(IdenCrowd::getCode); IPage pageRes = this.idenCrowdService.page(page, queryWrapper); IPage results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal()); if(CollUtil.isNotEmpty(pageRes.getRecords())){ List list = new ArrayList<>(); pageRes.getRecords().forEach(item -> { CrowdVO resVO = new CrowdVO(); BeanUtils.copyProperties(item,resVO); list.add(resVO); }); results.setRecords(list); } return results; } /** * 删除人群 * @param id * @return */ public boolean deleteById(Long id){ return this.idenCrowdService.removeById(id); } /** * 详情 * @param id * @return */ public CrowdVO getCrowdById(Long id){ IdenCrowd idenCrowd = this.idenCrowdService.getById(id); if (idenCrowd!=null){ CrowdVO resVO = new CrowdVO(); BeanUtil.copyProperties(idenCrowd,resVO); return resVO; } return null; } /** * 保存人群 * @param vo */ @Transactional(rollbackFor = Exception.class) public int createCrowd(CrowdVO vo, UserLoginedConvertVO loginUser){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(IdenCrowd::getName,vo.getName()); if(idenCrowdService.count(queryWrapper) > 0){ return 1; } QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.lambda().eq(IdenCrowd::getCode,vo.getCode()); if(idenCrowdService.count(queryWrapper2) > 0){ return 2; } //保存人群 IdenCrowd idenCrowd = new IdenCrowd(); BeanUtil.copyProperties(vo,idenCrowd); idenCrowd.setCreateTime(new Date()); this.idenCrowdService.save(idenCrowd); return 0; } /** * 修改人群 * @param vo */ @Transactional(rollbackFor = Exception.class) public void updateCrowd(CrowdVO vo){ //保存人群 IdenCrowd idenCrowd = this.idenCrowdService.getById(vo.getId()); MyBeanUtils.copyProperties(vo,idenCrowd); idenCrowd.setModifyTime(new Date()); this.idenCrowdService.updateById(idenCrowd); } }