package com.moral.service.impl; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import com.github.pagehelper.PageHelper; import com.moral.common.bean.Constants; import com.moral.common.bean.PageBean; import com.moral.entity.AlarmUser; import com.moral.entity.Organization; import com.moral.mapper.AlarmUserMapper; import com.moral.mapper.OrganizationMapper; import com.moral.service.AlarmUserService; import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example.Criteria; @Service public class AlarmUserServiceImpl implements AlarmUserService { @Resource private AlarmUserMapper alarmUserMapper; @Resource private OrganizationMapper organizationMapper; @Override public PageBean getalarmUserList(Map parameters) { Example example = new Example(AlarmUser.class); Criteria criteria = example.createCriteria(); if (parameters.containsKey("name")) { criteria.andLike("name", "%" + (String) parameters.get("name") + "%"); } if (parameters.containsKey("mobile")) { criteria.andLike("mobile", "%" + (String) parameters.get("mobile") + "%"); } if (parameters.containsKey("isDelete")) { criteria.andEqualTo("isDelete", parameters.get("isDelete")); } if (parameters.containsKey("sorter")) { example.setOrderByClause((String) parameters.get("sorter")); } PageHelper.startPage(Integer.valueOf((String) parameters.get("pageIndex")), Integer.valueOf((String) parameters.get("pageSize"))); List alarmUsers = alarmUserMapper.selectByExample(example); Set organizationIds = new HashSet(); for (AlarmUser alarmUser : alarmUsers) { if (!ObjectUtils.isEmpty(alarmUser.getOrganizationId())) { organizationIds.add(alarmUser.getOrganizationId()); } } if (!ObjectUtils.isEmpty(organizationIds)) { example = new Example(Organization.class); example.or().andIn("id", organizationIds); List organizations = organizationMapper.selectByExample(example); for (AlarmUser alarmUser : alarmUsers) { for (Organization organization : organizations) { if (alarmUser.getOrganizationId() == organization.getId()) { alarmUser.setOrganization(organization); break; } } } } return new PageBean(alarmUsers); } @Override public Integer saveOrUpdatealarmUser(AlarmUser alarmUser) { if (ObjectUtils.isEmpty(alarmUser.getId())) { return alarmUserMapper.insertSelective(alarmUser); } else { return alarmUserMapper.updateByPrimaryKeySelective(alarmUser); } } @Override public Integer deletealarmUsersByLogic(List ids) { AlarmUser alarmUser = new AlarmUser(); alarmUser.setIsDelete(Constants.IS_DELETE_TRUE); Example example = new Example(AlarmUser.class); example.or().andIn("id", ids); return alarmUserMapper.updateByExampleSelective(alarmUser, example); } }