Commit 2ce6c5d4 by fudahua

同步通讯录 删除操作到 暂存部门

parent 8c15754f
...@@ -54,6 +54,7 @@ public class DepartmentServiceImpl implements DepartmentService { ...@@ -54,6 +54,7 @@ public class DepartmentServiceImpl implements DepartmentService {
} }
tab.setChainId(pDepartment.getChainId() + Constant.ID_SEPARATOR + tab.getDepartmentId()); tab.setChainId(pDepartment.getChainId() + Constant.ID_SEPARATOR + tab.getDepartmentId());
tab.setChainName(pDepartment.getChainName() + Constant.NAME_SEPARATOR + tab.getDepartmentName()); tab.setChainName(pDepartment.getChainName() + Constant.NAME_SEPARATOR + tab.getDepartmentName());
tab.setLevel(pDepartment.getLevel() + 1);
} }
Integer isStore = department.getIsStore(); Integer isStore = department.getIsStore();
......
...@@ -11,7 +11,10 @@ import java.util.Set; ...@@ -11,7 +11,10 @@ import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.ToolUtil;
import com.gic.haoban.base.api.common.Constant;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.service.util.EmojiFilterUtil; import com.gic.haoban.manage.service.util.EmojiFilterUtil;
import com.vdurmont.emoji.EmojiParser; import com.vdurmont.emoji.EmojiParser;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -77,6 +80,10 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -77,6 +80,10 @@ public class StaffApiServiceImpl implements StaffApiService {
private WxEnterpriseService wxEnterpriseService; private WxEnterpriseService wxEnterpriseService;
@Autowired @Autowired
private DepartmentService departmentService; private DepartmentService departmentService;
@Autowired
private DepartmentApiService departmentApiService;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired @Autowired
...@@ -226,8 +233,10 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -226,8 +233,10 @@ public class StaffApiServiceImpl implements StaffApiService {
TabHaobanStaff staff = staffService.selectById(relatedList.get(0).getStaffId()); TabHaobanStaff staff = staffService.selectById(relatedList.get(0).getStaffId());
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(staff.getWxEnterpriseId()); WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(staff.getWxEnterpriseId());
if(enterpriseDTO != null) { if(enterpriseDTO != null) {
JSONResponse jp = qywxUserApiService.deleteSelfWorkWxUser(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), staff.getWxUserId()); ServiceResponse delQywxStaff = delQywxStaff(staff, enterpriseDTO);
logger.info("【删除成员】jp={}",JSON.toJSONString(jp)); // JSONResponse jp = qywxUserApiService.deleteSelfWorkWxUser(enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret(), staff.getWxUserId());
logger.info("【删除成员】{} ,jp={}", staffDepartmentStaffRelatedId, JSON.toJSONString(delQywxStaff));
throw new RuntimeException("企业微信删除失败");
} }
staffDepartmentRelatedService.del(related); staffDepartmentRelatedService.del(related);
staffService.delByuserid(relatedList.get(0).getStaffId()); staffService.delByuserid(relatedList.get(0).getStaffId());
...@@ -495,7 +504,9 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -495,7 +504,9 @@ public class StaffApiServiceImpl implements StaffApiService {
userDTO.setPosition(staffDTO.getPostion()); userDTO.setPosition(staffDTO.getPostion());
userDTO.setExternal_position(staffDTO.getExtendPostion()); userDTO.setExternal_position(staffDTO.getExtendPostion());
JSONResponse jp = qywxUserApiService.updateSelfWorkWxUser(userDTO, enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret()); JSONResponse jp = qywxUserApiService.updateSelfWorkWxUser(userDTO, enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret());
if (jp.getErrorCode() != 0) {
throw new RuntimeException("微信新增失败");
}
} }
} }
} }
...@@ -966,79 +977,43 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -966,79 +977,43 @@ public class StaffApiServiceImpl implements StaffApiService {
} }
/** /**
* 新增staff * 删除企业微信
* *
* @param staff * @param staff
* @param departmentIds
* @return * @return
*/ */
private ServiceResponse addStaff(StaffDTO staff, String departmentIds) { private ServiceResponse delQywxStaff(TabHaobanStaff staff, WxEnterpriseDTO enterpriseDTO) {
ServiceResponse hr = new ServiceResponse(); ServiceResponse ret = new ServiceResponse();
hr.setCode(1); DepartmentDTO tempFlagDepartment = departmentService.getTempFlagDepartment(enterpriseDTO.getWxEnterpriseId());
Integer activeFlag = staff.getActiveFlag(); if (null == tempFlagDepartment) {
staff.setActiveFlag(0); DepartmentDTO parentDepert = departmentService.getRootByEnterpriseId(enterpriseDTO.getWxEnterpriseId());
Integer syncPostionFlag = staff.getSyncPostionFlag(); tempFlagDepartment = new DepartmentDTO();
if (syncPostionFlag != null && syncPostionFlag == 1) { tempFlagDepartment.setTempFlag(1);
staff.setExtendPostion(staff.getPostion()); tempFlagDepartment.setDepartmentName("暂存部门");
} tempFlagDepartment.setWxEnterpriseId(enterpriseDTO.getWxEnterpriseId());
TabHaobanStaff tab = EntityUtil.changeEntityByJSON(TabHaobanStaff.class, staff); tempFlagDepartment.setHasSonNode(false);
String staffId = StringUtil.randomUUID(); tempFlagDepartment.setIsStore(0);
tab.setStaffId(staffId); tempFlagDepartment.setParentDepartmentId(parentDepert.getDepartmentId());
//调接口获取 ServiceResponse<DepartmentDTO> response = departmentApiService.add(tempFlagDepartment);
String wxUserId = ""; if (response.getCode() != 1) {
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(staff.getWxEnterpriseId()); ret.setCode(0);
if (enterpriseDTO != null) { ret.setMessage("暂存部门创建失败");
UserDTO userDTO = new UserDTO(); return ret;
userDTO.setCorpid(enterpriseDTO.getCorpid());
String[] departmentIdArr = departmentIds.split(",");
Integer[] wxDepartmentIdArrIntegers = new Integer[departmentIdArr.length];
int index = 0;
for (String string : departmentIdArr) {
TabHaobanDepartment tabs = departmentService.selectById(string);
wxDepartmentIdArrIntegers[index] = Integer.parseInt(tabs.getWxDepartmentId());
index++;
} }
userDTO.setDepartment(wxDepartmentIdArrIntegers); tempFlagDepartment = response.getResult();
userDTO.setGender(staff.getSex() == null ? null : staff.getSex().toString());
userDTO.setMobile(staff.getPhoneNumber());
userDTO.setName(staff.getStaffName());
userDTO.setUserid(staffId);
userDTO.setAlias(staff.getNickName());
userDTO.setExternal_position(tab.getExtendPostion());
userDTO.setPosition(tab.getPostion());
if (activeFlag == 1) {
userDTO.setTo_invite(true);
}
logger.info("【店员新增】userDTO = {}", JSON.toJSONString(userDTO));
JSONResponse jp = qywxUserApiService.createSelfWorkWxUser(userDTO, enterpriseDTO.getCorpid(), enterpriseDTO.getContactSecret());
logger.info("【店员新增】jp = {}", JSON.toJSONString(jp));
if (jp.getErrorCode() != 0) {
hr.setCode(0);
hr.setMessage("微信新增失败");
return hr;
}
staffService.add(tab);
wxUserId = staffId;
} }
if (StringUtils.isNotBlank(wxUserId)) { try {
String[] departmentIdArr = departmentIds.split(","); staffEdit(EntityUtil.changeEntityByJSON(StaffDTO.class, staff), tempFlagDepartment.getDepartmentId());
for (String string : departmentIdArr) { } catch (RuntimeException ex) {
StaffDepartmentRelatedDTO related = new StaffDepartmentRelatedDTO(); ret.setCode(0);
related.setDepartmentId(string); ret.setMessage(ex.getMessage());
related.setNationCode(staff.getNationCode()); } catch (Exception e) {
related.setPhoneNumber(staff.getPhoneNumber()); ret.setCode(0);
related.setStaffId(staffId); ret.setMessage("新增异常");
related.setWxUserId(wxUserId); } finally {
related.setStaffName(staff.getStaffName()); return ret;
related.setWxEnterpriseId(staff.getWxEnterpriseId());
staffDepartmentRelatedService.add(related);
}
} else {
hr.setCode(0);
hr.setMessage("微信端新增失败");
} }
hr.setResult(staffId);
return hr;
} }
// private String getMobile(String phoneNumber,String nationcode){ // private String getMobile(String phoneNumber,String nationcode){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment