From 052fd7444c1c2852fd9fd07876438c2ed9a5b45a Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 07 May 2018 15:29:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/com/moral/service/impl/OrganizationServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 100 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java
index 0ee4d6d..f38fe9e 100644
--- a/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/OrganizationServiceImpl.java
@@ -1,38 +1,44 @@
package com.moral.service.impl;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
+import com.github.pagehelper.PageHelper;
+import com.moral.common.bean.Constants;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.ExampleUtil;
+import com.moral.common.util.ValidateUtil;
import com.moral.entity.Organization;
import com.moral.entity.OrganizationRelation;
-import com.moral.entity.OrganizationRelationExample;
import com.moral.mapper.OrganizationMapper;
import com.moral.mapper.OrganizationRelationMapper;
import com.moral.service.OrganizationService;
-import com.moral.util.Constants;
+import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.entity.Example;
+import tk.mybatis.mapper.entity.Example.Criteria;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+import static com.moral.common.bean.Constants.IS_DELETE_FALSE;
@Service
public class OrganizationServiceImpl implements OrganizationService {
- @Autowired
+ @Resource
private OrganizationMapper organizationMapper;
- @Autowired
+ @Resource
private OrganizationRelationMapper organizationRelationMapper;
+
+ private static Class ENTITY_CLASS = Organization.class;
@Override
public Set<Integer> getChildOrganizationIds(Integer orgId){
Set<Integer> orgIds = new HashSet<Integer>();
orgIds.add(orgId);
- OrganizationRelationExample example = new OrganizationRelationExample();
- example.or().andParentIdEqualTo(orgId);
+ OrganizationRelation relation = new OrganizationRelation();
+ relation.setParentId(orgId);
Organization organization = organizationMapper.selectByPrimaryKey(orgId);
- if (Constants.IS_DELETE_FALSE.equals(organization.getIsDelete())) {
- List<OrganizationRelation> organizationRelations = organizationRelationMapper.selectByExample(example);
+ if (IS_DELETE_FALSE.equals(organization.getIsDelete())) {
+ List<OrganizationRelation> organizationRelations = organizationRelationMapper.select(relation);
for (OrganizationRelation organizationRelation : organizationRelations) {
Set<Integer> organizationIds = getChildOrganizationIds(organizationRelation.getParentId());
orgIds.addAll(organizationIds);
@@ -41,4 +47,83 @@
return orgIds;
}
+
+ @Override
+ public List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters) {
+ ValidateUtil.notNull(parameters.get("areaName"), "param.is.null");
+ List<Organization> organizations = organizationMapper.getOrganizationsByAreaName(parameters);
+ return organizations;
+ }
+
+ public PageBean queryByPageBean(PageBean pageBean){
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
+ List<Example.Criteria> criteriaList = example.getOredCriteria();
+ if(criteriaList!=null&&criteriaList.size()>0){
+ for(Example.Criteria cri : criteriaList){
+ cri.andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE);
+ }
+ }else {
+ example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE);
+ }
+ if(pageBean.getPageSize()>0){
+ PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
+ }
+ if(example.getOrderByClause() == null || example.getOrderByClause().isEmpty()) {
+ example.setOrderByClause("create_time desc");
+ }
+ List<Organization> organizationList = organizationMapper.selectWithAreaNameByExample(example);
+ return new PageBean(organizationList);
+ }
+ public void addOrModify(Organization organization){
+ try{
+ if(organization.getId()==null){
+ //���������������������������������������
+ organization.setIsDelete(Constants.IS_DELETE_FALSE);
+ organizationMapper.insertSelective(organization);
+ }else{
+ organizationMapper.updateByPrimaryKeySelective(organization);
+ }
+ }
+ catch (Exception ex){
+ throw ex;
+ }
+ }
+
+ @Override
+ public void deleteByIds(Integer... ids) {
+ Organization organization = new Organization();
+ organization.setIsDelete(Constants.IS_DELETE_TRUE);
+ if(ids!=null&&ids.length>0){
+ if(ids.length==1){
+ organization.setId(ids[0]);
+ organizationMapper.updateByPrimaryKeySelective(organization);
+ }else{
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ organizationMapper.updateByExampleSelective(organization,example);
+ }
+
+ }
+ }
+
+ @Override
+ public List<Organization> getOrganizationsByName(String name) {
+ ValidateUtil.notEmpty(name, "param.is.null");
+ Example example = new Example(Organization.class);
+ Criteria criteria = example.createCriteria();
+
+ criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andLike("name", "%" + name + "%");
+ example.or().andEqualTo("isDelete", Constants.IS_DELETE_FALSE).andCondition("getPY(name) like ", "%" + name + "%");
+
+ List<Organization> organizations = organizationMapper.selectByExample(example);
+ return organizations;
+ }
+
+ @Override
+ public Organization getOrganizationsById(int id) {
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andEqualTo("id",id);
+ List<Organization> organizationList = organizationMapper.selectWithAreaNameByExample(example);
+ return organizationList.size()>0?organizationList.get(0):null;
+ }
}
--
Gitblit v1.8.0