Commit 948c4a1f by fudahua

离职继承fix

parent a6c40ea0
...@@ -21,7 +21,7 @@ public interface HandoverOperationApiService { ...@@ -21,7 +21,7 @@ public interface HandoverOperationApiService {
public void batchQywxHandoverTimeTask(String params); public void batchQywxHandoverTimeTask(String params);
/** /**
* 定时处理企业微信 离职基础的结果 * 定时处理企业微信 离职基础的结果(废弃)
* *
* @param params * @param params
*/ */
......
...@@ -73,4 +73,12 @@ public interface HandoverExternalMapper { ...@@ -73,4 +73,12 @@ public interface HandoverExternalMapper {
* @return * @return
*/ */
TabHandoverExternal getByTransferId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("transferId") String transferId, @Param("externalUserId") String externalUserId); TabHandoverExternal getByTransferId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("transferId") String transferId, @Param("externalUserId") String externalUserId);
/**
* 查询待分配客户列表
*
* @param wxEnterpriseId
* @return
*/
TabHandoverExternal getByExternalUserIdAndStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffId") String staffId, @Param("externalUserId") String externalUserId);
} }
\ No newline at end of file
...@@ -16,13 +16,10 @@ import com.gic.wechat.api.service.qywx.QywxUserApiService; ...@@ -16,13 +16,10 @@ import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -85,13 +82,12 @@ public class HandoverServiceImpl implements HandoverService { ...@@ -85,13 +82,12 @@ public class HandoverServiceImpl implements HandoverService {
logger.info("staff已经存在不许重复"); logger.info("staff已经存在不许重复");
return; return;
} }
List<String> staffIds = new ArrayList<>(); // List<String> staffIds = new ArrayList<>();
staffIds.add(handoverStaff.getStaffId()); // staffIds.add(handoverStaff.getStaffId());
List<String> handoverExternalIds = handoverExternalMapper.listIdByStaffIds(wxEnterpriseId, staffIds); // List<String> handoverExternalIds = handoverExternalMapper.listIdByStaffIds(wxEnterpriseId, staffIds);
//todo 每天需要刷新下旧的外部联系人数据
List<TabHandoverExternal> externalList = list.stream().map(dto -> { List<TabHandoverExternal> externalList = list.stream().map(dto -> {
TabHandoverExternal mid = getHandExternal(dto, wxEnterprise); TabHandoverExternal mid = getHandExternal(dto, wxEnterprise, handoverStaff);
mid.setStaffId(handoverStaff.getStaffId()); mid.setStaffId(handoverStaff.getStaffId());
handoverStaff.setDimissionTime(dto.getDimissionTimeDate()); handoverStaff.setDimissionTime(dto.getDimissionTimeDate());
mid.setStatusFlag(mid.getStatusFlag() != null ? mid.getStatusFlag() : 1); mid.setStatusFlag(mid.getStatusFlag() != null ? mid.getStatusFlag() : 1);
...@@ -103,13 +99,24 @@ public class HandoverServiceImpl implements HandoverService { ...@@ -103,13 +99,24 @@ public class HandoverServiceImpl implements HandoverService {
handoverStaff.setFriendCount(externalList.size()); handoverStaff.setFriendCount(externalList.size());
handoverStaff.setHaobanFriendCount(sum); handoverStaff.setHaobanFriendCount(sum);
//保存 //保存
handoverStaffMapper.insertSelective(handoverStaff); List<TabHandoverExternal> needAdd = externalList.stream().filter(dto -> dto.getHandoverExternalId() == null).collect(Collectors.toList());
handoverExternalMapper.insertBatch(externalList); saveHandoverStaff(handoverStaff);
handoverExternalMapper.insertBatch(needAdd);
}); });
return false; return false;
} }
private void saveHandoverStaff(TabHandoverStaff handoverStaff) {
if (handoverStaff.getHandoverStaffId() != null) {
handoverStaff.setUpdateTime(new Date());
handoverStaffMapper.updateByPrimaryKeySelective(handoverStaff);
} else {
handoverStaffMapper.insertSelective(handoverStaff);
}
}
private TabHandoverStaff getHandoverStaff(String wxEnterpriseId, String wxUserId) { private TabHandoverStaff getHandoverStaff(String wxEnterpriseId, String wxUserId) {
TabHaobanStaff haobanStaff = staffMapper.getNoStatusByWxUserIds(wxEnterpriseId, wxUserId); TabHaobanStaff haobanStaff = staffMapper.getNoStatusByWxUserIds(wxEnterpriseId, wxUserId);
if (null == haobanStaff) { if (null == haobanStaff) {
...@@ -148,7 +155,11 @@ public class HandoverServiceImpl implements HandoverService { ...@@ -148,7 +155,11 @@ public class HandoverServiceImpl implements HandoverService {
* @param infoDTO * @param infoDTO
* @return * @return
*/ */
private TabHandoverExternal getHandExternal(QywxUnassignedInfoDTO infoDTO, TabHaobanWxEnterprise wxEnterprise) { private TabHandoverExternal getHandExternal(QywxUnassignedInfoDTO infoDTO, TabHaobanWxEnterprise wxEnterprise, TabHandoverStaff handoverStaff) {
TabHandoverExternal handoverExternal = handoverExternalMapper.getByExternalUserIdAndStaffId(wxEnterprise.getWxEnterpriseId(), handoverStaff.getStaffId(), infoDTO.getExternalUserid());
if (null != handoverExternal) {
return handoverExternal;
}
TabHandoverExternal mid = new TabHandoverExternal(); TabHandoverExternal mid = new TabHandoverExternal();
mid.setExternalUserId(infoDTO.getExternalUserid()); mid.setExternalUserId(infoDTO.getExternalUserid());
mid.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId()); mid.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
......
...@@ -73,6 +73,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ ...@@ -73,6 +73,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
for (YwWxEnterpriseDTO enterpriseDTO : dtoList) { for (YwWxEnterpriseDTO enterpriseDTO : dtoList) {
try { try {
dealQywxEnterpriseHandover(enterpriseDTO.getWxEnterpriseId()); dealQywxEnterpriseHandover(enterpriseDTO.getWxEnterpriseId());
dealQywxEnterpriseHandoverResult(enterpriseDTO.getWxEnterpriseId());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e); logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e);
...@@ -86,7 +87,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ ...@@ -86,7 +87,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
List<YwWxEnterpriseDTO> dtoList = wxEnterpriseApiService.listAll(); List<YwWxEnterpriseDTO> dtoList = wxEnterpriseApiService.listAll();
for (YwWxEnterpriseDTO enterpriseDTO : dtoList) { for (YwWxEnterpriseDTO enterpriseDTO : dtoList) {
try { try {
dealQywxEnterpriseHandoverResult(enterpriseDTO.getWxEnterpriseId());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e); logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e);
......
...@@ -313,4 +313,14 @@ ...@@ -313,4 +313,14 @@
and external_user_id=#{externalUserId} and external_user_id=#{externalUserId}
and status_flag=2 and status_flag=2
</select> </select>
<select id="getByExternalUserIdAndStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_external
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and staff_id = #{staffId,jdbcType=VARCHAR}
and external_user_id=#{externalUserId}
and status_flag!=0
</select>
</mapper> </mapper>
\ No newline at end of file
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