Commit 948c4a1f by fudahua

离职继承fix

parent a6c40ea0
......@@ -21,7 +21,7 @@ public interface HandoverOperationApiService {
public void batchQywxHandoverTimeTask(String params);
/**
* 定时处理企业微信 离职基础的结果
* 定时处理企业微信 离职基础的结果(废弃)
*
* @param params
*/
......
......@@ -73,4 +73,12 @@ public interface HandoverExternalMapper {
* @return
*/
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;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -85,13 +82,12 @@ public class HandoverServiceImpl implements HandoverService {
logger.info("staff已经存在不许重复");
return;
}
List<String> staffIds = new ArrayList<>();
staffIds.add(handoverStaff.getStaffId());
List<String> handoverExternalIds = handoverExternalMapper.listIdByStaffIds(wxEnterpriseId, staffIds);
// List<String> staffIds = new ArrayList<>();
// staffIds.add(handoverStaff.getStaffId());
// List<String> handoverExternalIds = handoverExternalMapper.listIdByStaffIds(wxEnterpriseId, staffIds);
//todo 每天需要刷新下旧的外部联系人数据
List<TabHandoverExternal> externalList = list.stream().map(dto -> {
TabHandoverExternal mid = getHandExternal(dto, wxEnterprise);
TabHandoverExternal mid = getHandExternal(dto, wxEnterprise, handoverStaff);
mid.setStaffId(handoverStaff.getStaffId());
handoverStaff.setDimissionTime(dto.getDimissionTimeDate());
mid.setStatusFlag(mid.getStatusFlag() != null ? mid.getStatusFlag() : 1);
......@@ -103,13 +99,24 @@ public class HandoverServiceImpl implements HandoverService {
handoverStaff.setFriendCount(externalList.size());
handoverStaff.setHaobanFriendCount(sum);
//保存
handoverStaffMapper.insertSelective(handoverStaff);
handoverExternalMapper.insertBatch(externalList);
List<TabHandoverExternal> needAdd = externalList.stream().filter(dto -> dto.getHandoverExternalId() == null).collect(Collectors.toList());
saveHandoverStaff(handoverStaff);
handoverExternalMapper.insertBatch(needAdd);
});
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) {
TabHaobanStaff haobanStaff = staffMapper.getNoStatusByWxUserIds(wxEnterpriseId, wxUserId);
if (null == haobanStaff) {
......@@ -148,7 +155,11 @@ public class HandoverServiceImpl implements HandoverService {
* @param infoDTO
* @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();
mid.setExternalUserId(infoDTO.getExternalUserid());
mid.setWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
......
......@@ -73,6 +73,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
for (YwWxEnterpriseDTO enterpriseDTO : dtoList) {
try {
dealQywxEnterpriseHandover(enterpriseDTO.getWxEnterpriseId());
dealQywxEnterpriseHandoverResult(enterpriseDTO.getWxEnterpriseId());
} catch (Exception e) {
e.printStackTrace();
logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e);
......@@ -86,7 +87,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
List<YwWxEnterpriseDTO> dtoList = wxEnterpriseApiService.listAll();
for (YwWxEnterpriseDTO enterpriseDTO : dtoList) {
try {
dealQywxEnterpriseHandoverResult(enterpriseDTO.getWxEnterpriseId());
} catch (Exception e) {
e.printStackTrace();
logger.info("商户处理异常:{},{}", JSONObject.toJSONString(enterpriseDTO), e);
......
......@@ -313,4 +313,14 @@
and external_user_id=#{externalUserId}
and status_flag=2
</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>
\ 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