Commit 5518c966 by fudahua

离职继承fix

parent 074a132f
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
* 离职成员的外部联系人列表
*
* @author fdh
*/
public class ExternalInfoDTO implements Serializable {
/**
*
*/
private String handoverExternalId;
/**
* 企业id
*/
private String wxEnterpriseId;
private String handoverStaffId;
private String handoverStaffName;
private String takeoverStaffId;
private String takeoverStaffName;
/**
* 外部联系人id
*/
private String externalUserId;
/**
* 外部联系人名称
*/
private String externalUserName;
private String relationId;
/**
* 是否是好办的好友
*/
private Integer haobanFriendFlag;
/**
* 头像
*/
private String externalHeadUrl;
/**
* 0删除 1正常 2已分配处理
*/
private Integer statusFlag;
/**
* 分配表的id
*/
private String handoverTransferId;
/**
* 接替客户的时间,如果是等待接替状态,则为未来的自动接替时间
*/
private Date takeoverTime;
/**
* 0- 1-接替完毕 2-等待接替 3-客户拒绝 4-接替成员客户达到上限
*/
private String transferStatus;
/**
* 分配时间
*/
private Date transferTime;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
public String getHandoverExternalId() {
return handoverExternalId;
}
public void setHandoverExternalId(String handoverExternalId) {
this.handoverExternalId = handoverExternalId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getHandoverStaffId() {
return handoverStaffId;
}
public void setHandoverStaffId(String handoverStaffId) {
this.handoverStaffId = handoverStaffId;
}
public String getHandoverStaffName() {
return handoverStaffName;
}
public void setHandoverStaffName(String handoverStaffName) {
this.handoverStaffName = handoverStaffName;
}
public String getTakeoverStaffId() {
return takeoverStaffId;
}
public void setTakeoverStaffId(String takeoverStaffId) {
this.takeoverStaffId = takeoverStaffId;
}
public String getTakeoverStaffName() {
return takeoverStaffName;
}
public void setTakeoverStaffName(String takeoverStaffName) {
this.takeoverStaffName = takeoverStaffName;
}
public String getExternalUserId() {
return externalUserId;
}
public void setExternalUserId(String externalUserId) {
this.externalUserId = externalUserId;
}
public String getExternalUserName() {
return externalUserName;
}
public void setExternalUserName(String externalUserName) {
this.externalUserName = externalUserName;
}
public String getRelationId() {
return relationId;
}
public void setRelationId(String relationId) {
this.relationId = relationId;
}
public Integer getHaobanFriendFlag() {
return haobanFriendFlag;
}
public void setHaobanFriendFlag(Integer haobanFriendFlag) {
this.haobanFriendFlag = haobanFriendFlag;
}
public String getExternalHeadUrl() {
return externalHeadUrl;
}
public void setExternalHeadUrl(String externalHeadUrl) {
this.externalHeadUrl = externalHeadUrl;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public String getHandoverTransferId() {
return handoverTransferId;
}
public void setHandoverTransferId(String handoverTransferId) {
this.handoverTransferId = handoverTransferId;
}
public Date getTakeoverTime() {
return takeoverTime;
}
public void setTakeoverTime(Date takeoverTime) {
this.takeoverTime = takeoverTime;
}
public String getTransferStatus() {
return transferStatus;
}
public void setTransferStatus(String transferStatus) {
this.transferStatus = transferStatus;
}
public Date getTransferTime() {
return transferTime;
}
public void setTransferTime(Date transferTime) {
this.transferTime = transferTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
}
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.service; ...@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.ExternalInfoDTO;
import com.gic.haoban.manage.api.dto.HandoverExternalDTO; import com.gic.haoban.manage.api.dto.HandoverExternalDTO;
import com.gic.haoban.manage.api.dto.HandoverStaffInfoDTO; import com.gic.haoban.manage.api.dto.HandoverStaffInfoDTO;
...@@ -51,7 +52,7 @@ public interface HandoverOperationApiService { ...@@ -51,7 +52,7 @@ public interface HandoverOperationApiService {
* @param transferIds 分配客户列表查询 * @param transferIds 分配客户列表查询
* @return * @return
*/ */
public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo, int status); public Page<ExternalInfoDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo, int status);
/** /**
* 分配客户接口 * 分配客户接口
......
...@@ -70,4 +70,13 @@ public interface HandoverTransferMapper { ...@@ -70,4 +70,13 @@ public interface HandoverTransferMapper {
* @return * @return
*/ */
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("takeoverStaffId") String takeoverStaffId); public List<TabHandoverTransfer> listTransferByTakeoverStaffId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("takeoverStaffId") String takeoverStaffId);
/**
* 获取分配列表
*
* @param wxEnterpriseId
* @param ids
* @return
*/
public List<TabHandoverTransfer> listTransferByIds(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("ids") List<String> ids);
} }
\ No newline at end of file
...@@ -86,4 +86,13 @@ public interface HandoverService { ...@@ -86,4 +86,13 @@ public interface HandoverService {
*/ */
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId); public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId);
/**
* 分配记录列表
*
* @param wxEnterpriseId
* @param ids
* @return
*/
public List<TabHandoverTransfer> listTransferByIds(String wxEnterpriseId, List<String> ids);
} }
...@@ -221,4 +221,9 @@ public class HandoverServiceImpl implements HandoverService { ...@@ -221,4 +221,9 @@ public class HandoverServiceImpl implements HandoverService {
public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId) { public List<TabHandoverTransfer> listTransferByTakeoverStaffId(String wxEnterpriseId, String takeoverStaffId) {
return handoverTransferMapper.listTransferByTakeoverStaffId(wxEnterpriseId, takeoverStaffId); return handoverTransferMapper.listTransferByTakeoverStaffId(wxEnterpriseId, takeoverStaffId);
} }
@Override
public List<TabHandoverTransfer> listTransferByIds(String wxEnterpriseId, List<String> ids) {
return handoverTransferMapper.listTransferByIds(wxEnterpriseId, ids);
}
} }
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.HandoverOperationApiService; import com.gic.haoban.manage.api.service.HandoverOperationApiService;
...@@ -124,12 +125,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ ...@@ -124,12 +125,7 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
@Override @Override
public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo) { public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo) {
return pageHandoverFriend(wxEnterpriseId, search, staffIds, transferIds, pageInfo, 1); Page<HandoverExternalDTO> retPage = handoverService.pageByStaffIds(wxEnterpriseId, search, staffIds, transferIds, pageInfo, 1);
}
@Override
public Page<HandoverExternalDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo, int status) {
Page<HandoverExternalDTO> retPage = handoverService.pageByStaffIds(wxEnterpriseId, search, staffIds, transferIds, pageInfo, status);
if (CollectionUtils.isEmpty(retPage.getResult())) { if (CollectionUtils.isEmpty(retPage.getResult())) {
return retPage; return retPage;
} }
...@@ -144,6 +140,35 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ ...@@ -144,6 +140,35 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
} }
@Override @Override
public Page<ExternalInfoDTO> pageHandoverFriend(String wxEnterpriseId, String search, List<String> staffIds, List<String> transferIds, BasePageInfo pageInfo, int status) {
Page<HandoverExternalDTO> retPage = handoverService.pageByStaffIds(wxEnterpriseId, search, staffIds, transferIds, pageInfo, status);
if (CollectionUtils.isEmpty(retPage.getResult())) {
return new Page<>();
}
Page<ExternalInfoDTO> ret = PageUtil.changeToCurrentPage(retPage, ExternalInfoDTO.class);
List<ExternalInfoDTO> infoDTOS = ret.getResult();
List<String> retTransferIds = infoDTOS.stream().map(dto -> dto.getHandoverTransferId()).collect(Collectors.toList());
List<TabHandoverTransfer> transfers = handoverService.listTransferByIds(wxEnterpriseId, retTransferIds);
List<String> midStaffIds = transfers.stream().flatMap(dto -> {
List<String> mid = new ArrayList<>();
mid.add(dto.getHandoverStaffId());
mid.add(dto.getTakeoverStaffId());
return mid.stream();
}).collect(Collectors.toList());
List<TabHaobanStaff> haobanStaffs = staffService.listNoStatusByStaffIds(wxEnterpriseId, midStaffIds);
Map<String, String> staffNameMap = haobanStaffs.stream().collect(Collectors.toMap(dto -> dto.getStaffId(), dto -> dto.getStaffName(), (o, n) -> o));
ret.getResult().forEach(dto -> {
String handoverStaff = staffNameMap.get(dto.getHandoverStaffId());
String takeoverStaff = staffNameMap.get(dto.getTakeoverStaffId());
dto.setTakeoverStaffName(takeoverStaff);
dto.setHandoverStaffName(handoverStaff);
});
return ret;
}
@Override
public void transferFriend(String wxEnterpriseId, List<String> handoverExternalIds, String disStaffId, String storeId) { public void transferFriend(String wxEnterpriseId, List<String> handoverExternalIds, String disStaffId, String storeId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
TabHaobanStaff tabHaobanStaff = staffService.selectById(disStaffId); TabHaobanStaff tabHaobanStaff = staffService.selectById(disStaffId);
......
...@@ -187,4 +187,16 @@ ...@@ -187,4 +187,16 @@
and takeover_staff_id = #{takeoverStaffId} and takeover_staff_id = #{takeoverStaffId}
and status_flag=1 and status_flag=1
</select> </select>
<select id="listTransferByIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_handover_transfer
where wx_enterprise_id=#{wxEnterpriseId}
and handover_transfer_id in
<foreach collection="ids" open="(" close=")" separator="," item="item">
#{item}
</foreach>
and status_flag=1
</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