|
|
@@ -0,0 +1,417 @@
|
|
|
+package com.uas.eis.serviceImpl;
|
|
|
+
|
|
|
+import com.netease.qiye.qiyeopenplatform.common.constant.ResultEnum;
|
|
|
+import com.netease.qiye.qiyeopenplatform.common.dto.open.account.AccountResp;
|
|
|
+import com.netease.qiye.qiyeopenplatform.common.dto.open.unit.UnitAccountResp;
|
|
|
+import com.netease.qiye.qiyeopenplatform.sdk.QiyeOpenPlatSDK;
|
|
|
+import com.netease.qiye.qiyeopenplatform.sdk.dto.Q;
|
|
|
+import com.netease.qiye.qiyeopenplatform.sdk.dto.R;
|
|
|
+import com.netease.qiye.qiyeopenplatform.sdk.util.CommonUtils;
|
|
|
+import com.uas.eis.core.config.NetEasyConfig;
|
|
|
+import com.uas.eis.dao.BaseDao;
|
|
|
+import com.uas.eis.dto.CreateUnitResp;
|
|
|
+import com.uas.eis.dto.GetUnitListDTO;
|
|
|
+import com.uas.eis.dto.UpdateEmpReq;
|
|
|
+import com.uas.eis.entity.Employee;
|
|
|
+import com.uas.eis.entity.HrOrg;
|
|
|
+import com.uas.eis.sdk.NetEasySDK;
|
|
|
+import com.uas.eis.utils.JacksonUtil;
|
|
|
+import com.uas.eis.utils.PinyinUtils;
|
|
|
+import com.uas.eis.utils.StringUtil;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class NetEasyService {
|
|
|
+ @Autowired
|
|
|
+ @Lazy
|
|
|
+ private NetEasySDK netEasySDK;
|
|
|
+ @Autowired
|
|
|
+ private NetEasyConfig netEasyConfig;
|
|
|
+ @Autowired
|
|
|
+ private UasSyncService uasSyncService;
|
|
|
+ @Autowired
|
|
|
+ private BaseDao baseDao;
|
|
|
+
|
|
|
+ private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 同步人员资料
|
|
|
+ * */
|
|
|
+ public void syncEmployee(){
|
|
|
+ List<Employee> employeeList = uasSyncService.getNetEasyUserList();
|
|
|
+ for (Employee employee : employeeList) {
|
|
|
+ if(StringUtil.hasText(employee.getEm_neteasyid())) {
|
|
|
+ if(!"离职".equals(employee.getEm_class())) {
|
|
|
+ updateNetEasyEmployee(employee);
|
|
|
+ }else {
|
|
|
+ disableNetEasyEmployee(employee);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(employee.getEm_isneteasy() == -1){
|
|
|
+ //开通账号
|
|
|
+ createNetEasyEmployee(employee);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 创建账号信息
|
|
|
+ * */
|
|
|
+ public void createNetEasyEmployee(Employee employee){
|
|
|
+ logger.info("创建邮箱账号:{}",employee.toString());
|
|
|
+ AccountResp getAccountResp = getNetEasyEmployee(employee);
|
|
|
+ if(getAccountResp != null){
|
|
|
+ if (getAccountResp.getStatus() == 0){
|
|
|
+ //账号正常
|
|
|
+ baseDao.updateByCondition("employee","em_neteasyid='"+getAccountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
|
|
|
+ logger.info("账号已存在,更新人员信息:{}",employee.toString());
|
|
|
+ return;
|
|
|
+ }else if(getAccountResp.getStatus() == 1){
|
|
|
+ //账号禁用恢复账号
|
|
|
+ employee.setEm_neteasyid(getAccountResp.getAccountName());
|
|
|
+ recoverNetEasyEmployee(employee);
|
|
|
+ baseDao.updateByCondition("employee","em_neteasyid='"+getAccountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.info("邮箱无此账号,创建邮箱账号:{}",employee.toString());
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("accountName", PinyinUtils.getCustomPinyin(employee.getEm_name()))
|
|
|
+ .addParam("name", employee.getEm_name())
|
|
|
+ .addParam("job", employee.getEm_position())
|
|
|
+ .addParam("jobNumber", employee.getEm_code())
|
|
|
+ .addParam("password", employee.getEm_password())
|
|
|
+ .addParam("unitId", employee.getOrneteasyid());
|
|
|
+ R r = instanceSDK.commonInvoke(q, "/api/open/account/createAccount");
|
|
|
+ if(StringUtil.hasText(employee.getEm_mobile())){
|
|
|
+ q.addParam("mobile", employee.getEm_mobile());
|
|
|
+ }
|
|
|
+ if(StringUtil.hasText(employee.getEm_name())){}
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r.getCode()){
|
|
|
+ AccountResp accountResp = (AccountResp) r.getDataBean(AccountResp.class);
|
|
|
+ baseDao.updateByCondition("employee","em_neteasyid='"+accountResp.getAccountName()+"'","em_code='"+employee.getEm_code()+"'");
|
|
|
+ logger.info("创建账号成功,账号名称:{}",employee.getEm_name());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 更新账号信息
|
|
|
+ * */
|
|
|
+ public void updateNetEasyEmployee(Employee employee){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("jobNumber", employee.getEm_code())
|
|
|
+ .addParam("accountName", employee.getEm_neteasyid());
|
|
|
+ if (StringUtils.hasText(employee.getEm_position())){
|
|
|
+ q1.addParam("job", employee.getEm_position());
|
|
|
+ }
|
|
|
+ if (StringUtils.hasText(employee.getEm_name())){
|
|
|
+ q1.addParam("name", employee.getEm_name());
|
|
|
+ }
|
|
|
+ if (StringUtils.hasText(employee.getOrneteasyid())){
|
|
|
+ q1.addParam("unitId", employee.getOrneteasyid());
|
|
|
+ }
|
|
|
+ /* if(StringUtil.hasText(employee.getEm_mobile())){
|
|
|
+ q1.addParam("mobile", employee.getEm_mobile());
|
|
|
+ }*/
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/updateAccount");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ logger.info("更新账号信息成功,账号信息:{}",employee.toString());
|
|
|
+
|
|
|
+ }else {
|
|
|
+ logger.info("更新账号信息失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 禁用账号信息
|
|
|
+ * */
|
|
|
+ public void disableNetEasyEmployee(Employee employee){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("accountName", employee.getEm_neteasyid());
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/suspendAccount");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ //禁用账号更新是否开通邮箱为否
|
|
|
+ baseDao.updateByCondition("employee","em_neteasyid=null,em_isneteasy=0","em_code='"+employee.getEm_code()+"'");
|
|
|
+ logger.info("禁用账号成功,账号信息:{}",employee.toString());
|
|
|
+
|
|
|
+ }else {
|
|
|
+ logger.info("禁用账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 恢复账号
|
|
|
+ * */
|
|
|
+ public void recoverNetEasyEmployee(Employee employee){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("accountName", employee.getEm_neteasyid());
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/recoverAccount");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ logger.info("恢复账号成功,账号信息:{}",employee.toString());
|
|
|
+ }else {
|
|
|
+ logger.info("恢复账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取邮箱账号
|
|
|
+ * */
|
|
|
+ public AccountResp getNetEasyEmployee(Employee employee) {
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("accountName", PinyinUtils.getCustomPinyin(employee.getEm_name()));
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/account/getAccount");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ AccountResp accountResp = (AccountResp) r2.getDataBean(AccountResp.class);
|
|
|
+ logger.info("查询账号成功,账号信息:{}",employee.toString());
|
|
|
+ return accountResp;
|
|
|
+
|
|
|
+ }else {
|
|
|
+ logger.info("查询账号失败,账号名称:{},错误信息:{}",employee.toString(),r2.getMessage());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取账号列表
|
|
|
+ * */
|
|
|
+ public void getNetEasyUserList(Integer pageNum, List<AccountResp> userList){
|
|
|
+ logger.info("getNetEasyUserList page:{}",pageNum);
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q = Q.init(null).addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("pageSize", 50)
|
|
|
+ .addParam("pageNum", pageNum);
|
|
|
+ R r = instanceSDK.commonInvoke(q, "/api/open/unit/getAccountList");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r.getCode()){
|
|
|
+ UnitAccountResp unitAccountResp = (UnitAccountResp) r.getDataBean(UnitAccountResp.class);
|
|
|
+ userList.addAll(unitAccountResp.getList());
|
|
|
+ if (unitAccountResp.getCount() > unitAccountResp.getPageNum()*50){
|
|
|
+ getNetEasyUserList(pageNum+1, userList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 初始化人员资料
|
|
|
+ */
|
|
|
+ public void initEmployee(){
|
|
|
+ /*List<AccountResp> userList = new ArrayList<AccountResp>();
|
|
|
+ getNetEasyUserList(1, userList);
|
|
|
+ List<Employee> employeeList = uasSyncService.getNetEasyUserList();
|
|
|
+ for (AccountResp accountResp : userList) {
|
|
|
+ Optional<Employee> employeeOptional = employeeList.stream().filter(employee -> employee.getEm_name().equals(accountResp.getName())).findFirst();
|
|
|
+ employeeOptional.ifPresent(employee -> baseDao.updateByCondition("employee", "em_neteasyid='" + accountResp.getAccountName() + "'", "em_code='" + employee.getEm_code() + "'"));
|
|
|
+ }*/
|
|
|
+ List<Employee> employeeList = uasSyncService.getNetEasyUserList();
|
|
|
+ for (Employee employee : employeeList) {
|
|
|
+ if( StringUtil.hasText(employee.getEm_neteasyid())) {
|
|
|
+ updateNetEasyEmployee(employee);
|
|
|
+ }else{
|
|
|
+ if(StringUtil.hasText(employee.getEm_emptype())&&
|
|
|
+ (employee.getEm_emptype().startsWith("管理序列") || "技术序列".equals(employee.getEm_emptype())
|
|
|
+ || "营销序列".equals(employee.getEm_emptype()) || "职能序列".equals(employee.getEm_emptype()))){
|
|
|
+ //开通账号
|
|
|
+ createNetEasyEmployee(employee);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 组织资料同步
|
|
|
+ * */
|
|
|
+ public void syncNetEasyOrg(){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain());
|
|
|
+ R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
|
|
|
+ List<HrOrg> orgList = uasSyncService.getADOrgList();
|
|
|
+ List<GetUnitListDTO> unitList = null;
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
|
|
|
+ logger.info("获取组织列表成功");
|
|
|
+ List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
|
|
|
+ String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
|
|
|
+ unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
|
|
|
+ for (HrOrg org : orgList) {
|
|
|
+ Optional<GetUnitListDTO> unitOptional = unitList.stream().filter(unit -> unit.getUnitName().equals(org.getOr_name()) || unit.getUnitId().equals(org.getOr_neteasyid())).findFirst();
|
|
|
+ if(!StringUtils.hasText(org.getOr_neteasyid()) && "已审核".equals(org.getOr_status()) ){
|
|
|
+ //邮箱组织ID为空,判断是否需要创建组织
|
|
|
+ if(unitOptional.isPresent()){
|
|
|
+ logger.info("更新组织id为空,组织编号:{},组织名称:{}",org.getOr_code(),org.getOr_name());
|
|
|
+ baseDao.updateByCondition("HRORG","OR_NETEASYID='"+unitOptional.get().getUnitId()+"'","OR_CODE='"+org.getOr_code()+"'");
|
|
|
+ }else {
|
|
|
+ logger.info("创建组织组织id为空,组织编号:{},组织名称:{},父组织:{}",org.getOr_code(),org.getOr_name(),org.getParentnetEasyId());
|
|
|
+ createNetEasyOrg(org, StringUtil.hasText(org.getParentnetEasyId()) ? org.getParentnetEasyId() : null );
|
|
|
+ }
|
|
|
+ }else if(StringUtils.hasText(org.getOr_neteasyid())){
|
|
|
+ if(unitOptional.isPresent()){
|
|
|
+ //邮箱组织ID不为空,且邮箱服务器存在对应的组织
|
|
|
+ if ("已禁用".equals(org.getOr_status())){
|
|
|
+ //删除组织
|
|
|
+ logger.info("删除组织,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
|
|
|
+ deleteNetEasyOrg(org);
|
|
|
+ }else if(!"已禁用".equals(org.getOr_status()) && !unitOptional.get().getUnitName().equals(org.getOr_name())){
|
|
|
+ //更新组织
|
|
|
+ logger.info("更新组织名称,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
|
|
|
+ updateNetEasyOrg(org);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //邮箱组织ID不为空,但网易邮箱不存在如后台删除等,需要重新创建组织
|
|
|
+ if("已审核".equals(org.getOr_status())){
|
|
|
+ logger.info("重新创建组织,组织id不为空,组织编号:{},组织名称:{}",org.getOr_code(),org.getOr_name());
|
|
|
+ createNetEasyOrg(org, StringUtil.hasText(org.getParentnetEasyId()) ? org.getParentnetEasyId() : null );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //整体再刷新一次层级,防止一次性新增多层级组织
|
|
|
+ refreshNetEasyOrg();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * init初始化
|
|
|
+ * */
|
|
|
+
|
|
|
+ public void initNetEasyOrg() {
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain());
|
|
|
+ R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
|
|
|
+ List<HrOrg> orgList = uasSyncService.getADOrgList();
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
|
|
|
+ List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
|
|
|
+ String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
|
|
|
+ List<GetUnitListDTO> unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
|
|
|
+ for (GetUnitListDTO unit : unitList) {
|
|
|
+ Optional<HrOrg> orgOptional = orgList.stream().filter(org -> org.getOr_name().equals(unit.getUnitName())).findFirst();
|
|
|
+ if(orgOptional.isPresent()){
|
|
|
+ baseDao.updateByCondition("HRORG","OR_NETEASYID='"+unit.getUnitId()+"'","OR_CODE='"+orgOptional.get().getOr_code()+"'");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (HrOrg org : orgList) {
|
|
|
+ if(org.getOr_neteasyid() == null && "已审核".equals(org.getOr_status())){
|
|
|
+ createNetEasyOrg(org, null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ refreshNetEasyOrg();
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 刷新组织层级
|
|
|
+ * */
|
|
|
+ public void refreshNetEasyOrg() {
|
|
|
+ logger.info("刷新组织层级");
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain());
|
|
|
+ R r1 = instanceSDK.commonInvoke(q, "/api/open/unit/getUnitList");
|
|
|
+ List<HrOrg> orgList = uasSyncService.getADOrgList();
|
|
|
+ List<GetUnitListDTO> unitList = null;
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r1.getCode()){
|
|
|
+ List<Map<String, Object>> dataList = (List<Map<String, Object>>) r1.getData();
|
|
|
+ String jsonArrayStr = JacksonUtil.toJsonArray(dataList);
|
|
|
+ unitList = CommonUtils.parseArray(jsonArrayStr, GetUnitListDTO.class);
|
|
|
+ }
|
|
|
+ if (unitList != null){
|
|
|
+ for (HrOrg org : orgList) {
|
|
|
+ Optional<GetUnitListDTO> unitOptional = unitList.stream().filter(unit -> unit.getUnitId().equals(org.getOr_neteasyid())).findFirst();
|
|
|
+ if(unitOptional.isPresent()){
|
|
|
+ if(StringUtil.hasText(org.getParentnetEasyId()) && !org.getParentnetEasyId().equals(unitOptional.get().getUnitParentId())){
|
|
|
+ logger.info("组织{}的父组织id错误,正确父组织id:{},错误父组织id:{}",org.getOr_name(),unitOptional.get().getUnitParentId(),org.getParentnetEasyId());
|
|
|
+ moveNetEasyOrg(org,org.getParentnetEasyId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 创建组织
|
|
|
+ * */
|
|
|
+ public String createNetEasyOrg(HrOrg org,String parentId){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("unitName", org.getOr_name());
|
|
|
+ if (parentId != null){
|
|
|
+ q1.addParam("parentId", parentId);
|
|
|
+ }
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/createUnit");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ CreateUnitResp createUnitResp = (CreateUnitResp) r2.getDataBean(CreateUnitResp.class);
|
|
|
+ baseDao.updateByCondition("HRORG","OR_NETEASYID='"+createUnitResp.getUnitId()+"'","OR_CODE='"+org.getOr_code()+"'");
|
|
|
+ logger.info("创建组织成功,组织id:{},组织编号:{},组织名称:{} ,父级组织:{}",createUnitResp.getUnitId(),org.getOr_code(),org.getOr_name() ,parentId);
|
|
|
+ return createUnitResp.getUnitId();
|
|
|
+ }else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 删除组织
|
|
|
+ * */
|
|
|
+ public void deleteNetEasyOrg(HrOrg org){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("unitId", org.getOr_neteasyid());
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/deleteUnit");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ baseDao.updateByCondition("HRORG","OR_NETEASYID=null","OR_CODE='"+org.getOr_code()+"'");
|
|
|
+ logger.info("删除组织成功,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
|
|
|
+ }else {
|
|
|
+ logger.info("删除组织失败,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *更新组织名称
|
|
|
+ * */
|
|
|
+ public void updateNetEasyOrg(HrOrg org ){
|
|
|
+
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("unitId", org.getOr_neteasyid())
|
|
|
+ .addParam("unitName", org.getOr_name());
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/updateUnit");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ logger.info("更新组织成功,组织id:{},组织编号:{},组织名称:{}",org.getOr_neteasyid(),org.getOr_code(),org.getOr_name());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 移动组织
|
|
|
+ * */
|
|
|
+ public void moveNetEasyOrg(HrOrg org ,String parentId){
|
|
|
+ QiyeOpenPlatSDK instanceSDK = netEasySDK.getSDKInstance();
|
|
|
+ Q q1 = Q.init(null)
|
|
|
+ .addParam("domain", netEasyConfig.getDomain())
|
|
|
+ .addParam("unitId", org.getOr_neteasyid())
|
|
|
+ .addParam("unitParentId", parentId);
|
|
|
+ R r2 = instanceSDK.commonInvoke(q1, "/api/open/unit/moveUnit");
|
|
|
+ if(ResultEnum.SUCCESS.getCode() == r2.getCode()){
|
|
|
+ logger.info("移动组织成功,组织id:{},父组织id:{}",org.getOr_neteasyid(),parentId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|