Commit 6a8112da by fudahua

会员的好友导购列表

parent db8c4a62
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
/**
* Created 2021/3/22.
*
* @author hua
*/
public class FriendStoreInfoDTO implements Serializable {
private String storeId;
private String storeCode;
private String storeName;
private String clerkId;
private String clerkCode;
private String clerkName;
private String clerkPhoneNumber;
private String addFriendTime;
private String wxUserId;
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkCode() {
return clerkCode;
}
public void setClerkCode(String clerkCode) {
this.clerkCode = clerkCode;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getClerkPhoneNumber() {
return clerkPhoneNumber;
}
public void setClerkPhoneNumber(String clerkPhoneNumber) {
this.clerkPhoneNumber = clerkPhoneNumber;
}
public String getAddFriendTime() {
return addFriendTime;
}
public void setAddFriendTime(String addFriendTime) {
this.addFriendTime = addFriendTime;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
@Override
public String toString() {
return "FriendStoreInfoDTO{" +
"storeId='" + storeId + '\'' +
", storeCode='" + storeCode + '\'' +
", storeName='" + storeName + '\'' +
", clerkId='" + clerkId + '\'' +
", clerkCode='" + clerkCode + '\'' +
", clerkName='" + clerkName + '\'' +
", clerkPhoneNumber='" + clerkPhoneNumber + '\'' +
", addFriendTime='" + addFriendTime + '\'' +
", wxUserId='" + wxUserId + '\'' +
'}';
}
}
...@@ -6,10 +6,8 @@ import java.util.List; ...@@ -6,10 +6,8 @@ import java.util.List;
import com.gic.api.base.commons.JSONResponse; import com.gic.api.base.commons.JSONResponse;
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.ExternalClerkRelatedDTO; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.ExternalUserDTO; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.MemberStoreDTO;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
public interface MemberUnionidRelatedApiService { public interface MemberUnionidRelatedApiService {
...@@ -67,4 +65,13 @@ public interface MemberUnionidRelatedApiService { ...@@ -67,4 +65,13 @@ public interface MemberUnionidRelatedApiService {
*/ */
void cleanNoExsitFriendNew(String wxEnterpriseId, String wxUserId, List<String> externalUserIds); void cleanNoExsitFriendNew(String wxEnterpriseId, String wxUserId, List<String> externalUserIds);
/**
* 根据会员的unionid 获取好友导购列表
*
* @param enterpriseId
* @param unionId
* @return
*/
ServiceResponse<List<FriendStoreInfoDTO>> listFriendClerkByMemberUnionid(String enterpriseId, String unionId);
} }
...@@ -45,4 +45,13 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -45,4 +45,13 @@ public interface TabHaobanExternalClerkRelatedMapper {
List<TabHaobanExternalClerkRelated> listByWxEnterpriseIdAndWxUserIds(@Param("userIdList")List<String> userIdList, @Param("wxEnterpriseId")String wxEnterpriseId); List<TabHaobanExternalClerkRelated> listByWxEnterpriseIdAndWxUserIds(@Param("userIdList")List<String> userIdList, @Param("wxEnterpriseId")String wxEnterpriseId);
TabHaobanExternalClerkRelated getByMemberId(@Param("wxUserId")String wxUserId, @Param("memberId")String memberId); TabHaobanExternalClerkRelated getByMemberId(@Param("wxUserId")String wxUserId, @Param("memberId")String memberId);
/**
* 外部联系人的unionid
*
* @param enterpriseId
* @param unionId
* @return
*/
List<TabHaobanExternalClerkRelated> listExternalByUnionId(@Param("enterpriseId") String enterpriseId, @Param("unionId") String unionId);
} }
\ No newline at end of file
...@@ -33,4 +33,13 @@ public interface ExternalClerkRelatedService { ...@@ -33,4 +33,13 @@ public interface ExternalClerkRelatedService {
ExternalClerkRelatedDTO getByMemberId(String wxUserId, String memberId); ExternalClerkRelatedDTO getByMemberId(String wxUserId, String memberId);
/**
* 根据unionid获取外部联系人的绑定导购
*
* @param enterpriseId
* @param unionId
* @return
*/
List<TabHaobanExternalClerkRelated> listExternalByUnionId(String enterpriseId, String unionId);
} }
...@@ -84,4 +84,8 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -84,4 +84,8 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
return EntityUtil.changeEntityByJSON(ExternalClerkRelatedDTO.class, mapper.getByMemberId(wxUserId,memberId)); return EntityUtil.changeEntityByJSON(ExternalClerkRelatedDTO.class, mapper.getByMemberId(wxUserId,memberId));
} }
@Override
public List<TabHaobanExternalClerkRelated> listExternalByUnionId(String enterpriseId, String unionId) {
return mapper.listExternalByUnionId(enterpriseId, unionId);
}
} }
...@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.base.api.common.ServiceResponse;
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.service.service.*; import com.gic.haoban.manage.service.service.*;
...@@ -1007,4 +1008,57 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1007,4 +1008,57 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
externalClerkRelatedService.delByUserIdAndExternalUserIdBatch(wxEnterpriseId, wxUserId, new ArrayList<>(delExternalUserIds)); externalClerkRelatedService.delByUserIdAndExternalUserIdBatch(wxEnterpriseId, wxUserId, new ArrayList<>(delExternalUserIds));
} }
@Override
public ServiceResponse<List<FriendStoreInfoDTO>> listFriendClerkByMemberUnionid(String enterpriseId, String unionId) {
ServiceResponse<List<FriendStoreInfoDTO>> resp = new ServiceResponse<>();
if (StringUtils.isAnyBlank(enterpriseId, unionId)) {
resp.setMessage("参数有误");
resp.setCode(2);
return resp;
}
List<TabHaobanExternalClerkRelated> relateds = externalClerkRelatedService.listExternalByUnionId(enterpriseId, unionId);
if (CollectionUtils.isEmpty(relateds)) {
return resp;
}
//导购信息
Set<String> clerkIds = relateds.stream().map(dto -> dto.getClerkId()).collect(Collectors.toSet());
log.info("获取clerkIds:{}", JSONObject.toJSONString(clerkIds));
List<ClerkDTO> clerkDTOS = clerkService.getClerkByIds(clerkIds);
if (CollectionUtils.isEmpty(clerkDTOS)) {
log.info("没有有效的导购");
return resp;
}
Map<String, ClerkDTO> clerkMap = clerkDTOS.stream().collect(Collectors.toMap(ClerkDTO::getClerkId, dto -> dto));
//门店信息
List<String> storeIds = clerkDTOS.stream().map(dto -> dto.getStoreId()).collect(Collectors.toList());
log.info("门店storeIds:{}", JSONObject.toJSONString(storeIds));
List<StoreDTO> storeDTOS = storeService.queryStore(storeIds);
if (CollectionUtils.isEmpty(storeDTOS)) {
log.info("没有关联的门店");
return resp;
}
Map<String, StoreDTO> storeMap = storeDTOS.stream().collect(Collectors.toMap(StoreDTO::getStoreId, dto -> dto));
//组装
log.info("组装返回的好友导购信息:{}", unionId);
List<FriendStoreInfoDTO> ret = relateds.stream().map(related -> {
ClerkDTO clerkDTO = clerkMap.get(related.getClerkId());
StoreDTO storeDTO = storeMap.get(related.getStoreId());
FriendStoreInfoDTO friendStoreInfoDTO = new FriendStoreInfoDTO();
friendStoreInfoDTO.setAddFriendTime(related.getAddCreateTime());
friendStoreInfoDTO.setClerkId(related.getClerkId());
friendStoreInfoDTO.setStoreId(related.getStoreId());
friendStoreInfoDTO.setWxUserId(related.getWxUserId());
friendStoreInfoDTO.setStoreCode(storeDTO != null ? storeDTO.getStoreCode() : null);
friendStoreInfoDTO.setStoreName(storeDTO != null ? storeDTO.getStoreName() : null);
friendStoreInfoDTO.setClerkCode(clerkDTO != null ? clerkDTO.getClerkCode() : null);
friendStoreInfoDTO.setClerkName(clerkDTO != null ? clerkDTO.getClerkName() : null);
return friendStoreInfoDTO;
}).collect(Collectors.toList());
resp.setResult(ret);
return resp;
}
} }
...@@ -359,4 +359,13 @@ ...@@ -359,4 +359,13 @@
and external_user_id is not null and external_user_id is not null
limit 1 limit 1
</select> </select>
<select id="listExternalByUnionId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where enterprise_id = #{enterpriseId}
and unionid = #{unionid}
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