Commit 1f7a7a62 by songyinghui

feat: 会员头像补充

parent f140e01a
package com.gic.haoban.manage.service.service;
import com.alibaba.fastjson.JSONObject;
import com.gic.member.api.dto.es.MemberDataDTO;
import java.util.List;
public interface MemberQueryService {
public JSONObject queryDataSingle(String enterpriseId, String memberId, String returnFields) ;
/**
* 批量查询会员信息
* @param enterpriseId
* @param memberIds
* @param returnFields
* @return
*/
List<MemberDataDTO> queryMemberBatch(String enterpriseId, List<String> memberIds, String returnFields);
}
......@@ -13,9 +13,12 @@ import com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNo
import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO;
import com.gic.haoban.manage.service.pojo.qo.content.PotentialCustomerQO;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.content.InteractRecordService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.service.content.adaptor.PotentialCustomerNotifyBuilder;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.search.engine.api.constant.MemberDataEnum;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
......@@ -25,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
......@@ -50,6 +54,9 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService {
private InteractRecordService interactRecordService;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired
MemberQueryService memberQueryService;
/**
* 查询销售线索
......@@ -79,6 +86,8 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService {
.distinct()
.collect(Collectors.toList());
Map<String, Integer> clerkMemberRelationMap = this.queryMemberRelation(potentialCustomerQO.getClerkId(), memberIds, potentialCustomerQO.getHasMemberRelation());
Map<String, String> memberExtendInfoMap = this.queryMemberExtendInfo(potentialCustomerQO.getEnterpriseId(), memberIds);
// 构建是否是会员
for (PotentialCustomerBO potentialCustomerBO : customerBOPage.getResult()) {
// 默认未成交过
......@@ -86,6 +95,8 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService {
if (potentialCustomerBO.getDealRecordNum() != null && potentialCustomerBO.getDealRecordNum() > 0) {
potentialCustomerBO.setDealRecord(1);
}
String url = memberExtendInfoMap.get(potentialCustomerBO.getMemberId());
potentialCustomerBO.setMemberImageUrl(url);
if (potentialCustomerQO.getHasMemberRelation() != null) {
// 查询条件是有好友关系的
potentialCustomerBO.setHasMemberRelation(1);
......@@ -120,6 +131,17 @@ public class PotentialCustomerServiceImpl implements PotentialCustomerService {
.collect(Collectors.toMap(TabHaobanExternalClerkRelated::getMemberId, item -> 1, (v1, v2) -> v1));
}
private Map<String, String> queryMemberExtendInfo(String enterpriseId, List<String> memberIds) {
List<MemberDataEnum> returnFields = Arrays.asList(MemberDataEnum.member_id, MemberDataEnum.member_photoUrl);
List<MemberDataDTO> memberDataDTOS = memberQueryService.queryMemberBatch(enterpriseId, memberIds, StringUtils.join(returnFields, ","));
if (CollectionUtils.isEmpty(memberDataDTOS)) {
return Collections.emptyMap();
}
return memberDataDTOS
.stream()
.collect(Collectors.toMap(MemberDataDTO::getMemberId, MemberDataDTO::getPhotoUrl, (v1 ,v2) -> v1));
}
/**
* 查询详情
*
......
package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.search.engine.api.constant.OperateEnum;
import com.gic.search.engine.api.dto.ESResponseQueryBatch;
import com.gic.search.engine.api.dto.ESResponseQuerySingle;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.filter.NewNodeAddUtil;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.search.engine.api.dto.ESResponseQuerySingle;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@Service("memberQueryService")
public class MemberQueryServiceImpl implements MemberQueryService {
......@@ -40,4 +48,39 @@ public class MemberQueryServiceImpl implements MemberQueryService {
return searchRes;
}
/**
* 批量查询会员信息
*
* @param enterpriseId
* @param memberIds
* MemberDataEnum
* @param returnFields
* @return
*/
@Override
public List<MemberDataDTO> queryMemberBatch(String enterpriseId, List<String> memberIds, String returnFields) {
if (CollectionUtils.isEmpty(memberIds)) {
return Collections.emptyList();
}
DynamicSearchDTO search = new DynamicSearchDTO();
JSONObject searchJson = new JSONObject();
searchJson = NewNodeAddUtil.addNewNodeForAnd("memberId", OperateEnum.OPERATE_CONTAIN.getValue(), StringUtils.join(memberIds, " "),
searchJson);
search.setSearchJson(searchJson);
search.setColumnCategoryCode("member");
search.setEnterpriseId(enterpriseId);
if (StringUtils.isNotBlank(returnFields)) {
search.setReturnFileds(returnFields);
}
ESResponseQueryBatch queryBatch = esApiService.queryDataBatch(search, false, null);
if (CollectionUtils.isEmpty(queryBatch.getRes())) {
return Collections.emptyList();
}
return queryBatch.getRes()
.stream()
.map(item -> item.toJavaObject(MemberDataDTO.class))
.collect(Collectors.toList());
}
}
......@@ -7,8 +7,10 @@ import com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil;
import com.gic.haoban.manage.service.dao.mapper.content.TabHaobanInteractRecordMapper;
import com.gic.haoban.manage.service.entity.content.TabHaobanInteractRecord;
import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.content.MaterialReportService;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialDataAdaptor;
import com.gic.member.api.dto.es.MemberDataDTO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -42,6 +44,8 @@ public class MaterialReportServiceTest {
private TabHaobanInteractRecordMapper interactRecordMapper;
@Autowired
private MaterialDataAdaptor materialDataAdaptor;
@Autowired
private MemberQueryService memberQueryService;
String eid = "ff8080815dacd3a2015dacd3ef5c0000";
String wxEid = "ca66a01b79474c40b3e7c7f93daf1a3b";
......@@ -104,4 +108,11 @@ public class MaterialReportServiceTest {
MaterialDataAdaptor.MaterialDataResult materialDataResult = materialDataAdaptor.queryClerkReportData(eid, clerkId, storeId, MaterialReportType.MONTH.getCode());
System.out.println(JSON.toJSONString(materialDataResult));
}
@Test
public void queryMemberInfo(){
List<MemberDataDTO> memberDataDTOS = memberQueryService.queryMemberBatch(eid, Collections.singletonList("ff8080818147efc8018148d1759903c8"), null);
System.out.println(JSON.toJSONString(memberDataDTOS));
}
}
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