Parcourir la source

重构personServiceImpl,将部分方法抽取到新的类

lixing il y a 4 ans
Parent
commit
5933828a5e

+ 8 - 21
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceImpl.java

@@ -12,8 +12,6 @@ import com.persagy.fm.common.model.vo.SimpleObjVO;
 import com.persagy.fm.common.utils.ListUtil;
 import com.persagy.fm.department.model.vo.DepSimpleObjVO;
 import com.persagy.fm.department.service.IDepartmentService;
-import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
-import com.persagy.fm.person.constant.enums.PersonTypeEnum;
 import com.persagy.fm.person.dao.PersonMapper;
 import com.persagy.fm.person.model.ConvertPersonTool;
 import com.persagy.fm.person.model.Person;
@@ -66,6 +64,7 @@ import java.util.stream.Collectors;
 @Service
 public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
         implements IPersonService {
+    private final PersonServiceTool personServiceTool = new PersonServiceTool();
     @Autowired
     private IWorkResumeService workResumeService;
     @Autowired
@@ -217,7 +216,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
             person.setProfession(String.join(",", addPersonDTO.getProfessions()));
         }
         // 设置默认值
-        setDefaultValue(person);
+        personServiceTool.setDefaultValue(person);
         save(person);
         return person;
     }
@@ -429,7 +428,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
      * @version V1.0 2021/3/12 12:29 下午
      */
     private void setDefaultValue(Person person) {
-        person.setCreator(DefaultAppContext.getContext().getAccountId());
+        personServiceTool.setDefaultValue(person);
     }
 
     /**
@@ -775,7 +774,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
 
             // 设置员工类型
             String type = responsePersonListItem.getPersonType();
-            responsePersonListItem.setPersonTypeVO(getPersonTypeVO(type));
+            responsePersonListItem.setPersonTypeVO(personServiceTool.getPersonTypeVO(type));
 
             // 设置专业
             String profession = responsePersonListItem.getProfession();
@@ -820,13 +819,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
      * @version V1.0 2021/4/1 12:04 下午
      */
     private SimpleObjVO getPersonTypeVO(String type) {
-        SimpleObjVO personType = new SimpleObjVO();
-        personType.setId(type);
-        PersonTypeEnum personTypeEnum = PersonTypeEnum.getByType(type);
-        if (personTypeEnum != null) {
-            personType.setName(personTypeEnum.getDesc());
-        }
-        return personType;
+        return personServiceTool.getPersonTypeVO(type);
     }
 
     @Override
@@ -1005,7 +998,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
 
         // 设置员工类型
         String type = person.getPersonType();
-        responsePersonItemVO.setPersonTypeVO(getPersonTypeVO(type));
+        responsePersonItemVO.setPersonTypeVO(personServiceTool.getPersonTypeVO(type));
 
         // 设置专业
         String profession = person.getProfession();
@@ -1013,7 +1006,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
 
         // 设置证件类型
         String certificateType = person.getCertificateType();
-        responsePersonItemVO.setCertificateTypeVO(getCertificateTypeVO(certificateType));
+        responsePersonItemVO.setCertificateTypeVO(personServiceTool.getCertificateTypeVO(certificateType));
 
         // 设置直接上级
         String leader = person.getLeader();
@@ -1079,13 +1072,7 @@ public class PersonServiceImpl extends ServiceImpl<PersonMapper, Person>
      * @version V1.0 2021/4/6 11:38 上午
      */
     private SimpleObjVO getCertificateTypeVO(String certificateType) {
-        SimpleObjVO certificateTypeVO = new SimpleObjVO();
-        certificateTypeVO.setId(certificateType);
-        CertificateTypeEnum certificateTypeEnum = CertificateTypeEnum.getByType(certificateType);
-        if (certificateTypeEnum != null) {
-            certificateTypeVO.setName(certificateTypeEnum.getDesc());
-        }
-        return certificateTypeVO;
+        return personServiceTool.getCertificateTypeVO(certificateType);
     }
 
     @Override

+ 53 - 7
fm-person/src/main/java/com/persagy/fm/person/service/impl/PersonServiceTool.java

@@ -1,10 +1,56 @@
 package com.persagy.fm.person.service.impl;
 
-/**
- * 人员服务层工具
- *
- * @author lixing
- * @version V1.0 2021/4/14 5:21 下午
- **/
+import com.persagy.fm.common.context.DefaultAppContext;
+import com.persagy.fm.common.model.vo.SimpleObjVO;
+import com.persagy.fm.person.constant.enums.CertificateTypeEnum;
+import com.persagy.fm.person.constant.enums.PersonTypeEnum;
+import com.persagy.fm.person.model.Person;
+
 public class PersonServiceTool {
-}
+    /**
+     * 如果某些字段没有赋值,使用默认的值
+     *
+     * @param person 人员实体
+     * @author lixing
+     * @version V1.0 2021/3/12 12:29 下午
+     */
+    void setDefaultValue(Person person) {
+        person.setCreator(DefaultAppContext.getContext().getAccountId());
+    }
+
+    /**
+     * 根据员工类型id获取员工类型对象
+     *
+     * @param type 员工类型id
+     * @return 员工类型对象
+     * @author lixing
+     * @version V1.0 2021/4/1 12:04 下午
+     */
+    SimpleObjVO getPersonTypeVO(String type) {
+        SimpleObjVO personType = new SimpleObjVO();
+        personType.setId(type);
+        PersonTypeEnum personTypeEnum = PersonTypeEnum.getByType(type);
+        if (personTypeEnum != null) {
+            personType.setName(personTypeEnum.getDesc());
+        }
+        return personType;
+    }
+
+    /**
+     * 根据证件类型id,获取证件类型信息
+     *
+     * @param certificateType 证件类型id
+     * @return 证件类型信息
+     * @author lixing
+     * @version V1.0 2021/4/6 11:38 上午
+     */
+    SimpleObjVO getCertificateTypeVO(String certificateType) {
+        SimpleObjVO certificateTypeVO = new SimpleObjVO();
+        certificateTypeVO.setId(certificateType);
+        CertificateTypeEnum certificateTypeEnum = CertificateTypeEnum.getByType(certificateType);
+        if (certificateTypeEnum != null) {
+            certificateTypeVO.setName(certificateTypeEnum.getDesc());
+        }
+        return certificateTypeVO;
+    }
+}