Commit 9063eaa6 by 徐高华

人群查詢

parent 19b42b1f
...@@ -34,6 +34,15 @@ public class HmLinkChatDTO implements Serializable { ...@@ -34,6 +34,15 @@ public class HmLinkChatDTO implements Serializable {
private String shortCode; private String shortCode;
private String name; private String name;
private Integer linkCount ; private Integer linkCount ;
private String esId ;
public String getEsId() {
return esId;
}
public void setEsId(String esId) {
this.esId = esId;
}
public Integer getLinkCount() { public Integer getLinkCount() {
return linkCount; return linkCount;
......
...@@ -16,6 +16,8 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO; ...@@ -16,6 +16,8 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO;
*/ */
public interface HmLinkChatService { public interface HmLinkChatService {
public static final String ES_ID = "linkChat";
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId); public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId);
public int save(Long linkId, List<HmLinkChatDTO> list); public int save(Long linkId, List<HmLinkChatDTO> list);
...@@ -32,6 +34,6 @@ public interface HmLinkChatService { ...@@ -32,6 +34,6 @@ public interface HmLinkChatService {
* @return * @return
* @throws * @throws
*/ */
public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList) ; public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList);
} }
...@@ -16,6 +16,7 @@ import com.gic.api.base.commons.Page; ...@@ -16,6 +16,7 @@ import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.enterprise.api.service.ScreeningDetailService;
import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkChatMapper; import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkChatMapper;
...@@ -32,10 +33,16 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -32,10 +33,16 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
private HmLinkChatMapper hmLinkChatMapper; private HmLinkChatMapper hmLinkChatMapper;
@Autowired @Autowired
private GroupChatHmService groupChatHmService; private GroupChatHmService groupChatHmService;
@Autowired
private ScreeningDetailService screeningDetailService;
@Override @Override
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) { public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) {
return this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId); List<HmLinkChatDTO> list = this.hmLinkChatMapper.listByLinkId(wxEnterpriseId, enterpriseId, linkId) ;
list.forEach(dto->{
dto.setEsId(HmLinkChatService.ES_ID+dto.getLinkChatId());
});
return list ;
} }
@Override @Override
...@@ -50,6 +57,9 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -50,6 +57,9 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
for (HmLinkChatDTO item : updateList) { for (HmLinkChatDTO item : updateList) {
TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, item); TabHmLinkChat entity = EntityUtil.changeEntityByJSON(TabHmLinkChat.class, item);
this.hmLinkChatMapper.update(entity); this.hmLinkChatMapper.update(entity);
if (item.getMemberType() == 0) {
screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), item.getFilterJson());
}
} }
} }
List<HmLinkChatDTO> addList = list.stream().filter(dto -> null == dto.getLinkChatId()) List<HmLinkChatDTO> addList = list.stream().filter(dto -> null == dto.getLinkChatId())
...@@ -60,6 +70,9 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -60,6 +70,9 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
entity.setLinkChatId(UniqueIdUtils.uniqueLong()); entity.setLinkChatId(UniqueIdUtils.uniqueLong());
entity.setLinkId(linkId); entity.setLinkId(linkId);
this.hmLinkChatMapper.insert(entity); this.hmLinkChatMapper.insert(entity);
if (dto.getMemberType() == 0) {
screeningDetailService.save(HmLinkChatService.ES_ID + entity.getLinkChatId(), dto.getFilterJson());
}
} }
} }
Set<Long> set = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toSet()); Set<Long> set = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toSet());
......
...@@ -201,6 +201,11 @@ ...@@ -201,6 +201,11 @@
<artifactId>gic-member-api</artifactId> <artifactId>gic-member-api</artifactId>
<version>${gic-member-api}</version> <version>${gic-member-api}</version>
</dependency> </dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-search-engine-api</artifactId>
<version>${gic-search-engine-api}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.web.vo.MemberChatVO; import com.gic.haoban.manage.web.vo.MemberChatVO;
import com.gic.member.api.dto.MemberDTO; import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberService; import com.gic.member.api.service.MemberService;
import com.gic.search.engine.api.dto.ESResponseQueryCount;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
@RestController @RestController
@RequestMapping("/member") @RequestMapping("/member")
public class MemberController { public class MemberController {
private static final String ES_COLUMN_CATEGORY_CODE = "member";
@Autowired
private MemberService memberService;
@Autowired @Autowired
private MemberService memberService ; private StoreService storeService;
@Autowired
private ESDataDynamicOperationApiService esApiService;
@RequestMapping("member-info") @RequestMapping("member-info")
public RestResponse<Object> memberInfo(String memberId) { public RestResponse<Object> memberInfo(String memberId) {
MemberDTO member = this.memberService.getMember(memberId) ; MemberDTO member = this.memberService.getMember(memberId);
MemberChatVO vo = new MemberChatVO() ; MemberChatVO vo = new MemberChatVO();
if(null != member) { if (null != member) {
vo.setMemberName(member.getThirdNickname()); vo.setMemberName(member.getThirdNickname());
vo.setMemberImage(member.getThirdImgUrl()); vo.setMemberImage(member.getThirdImgUrl());
vo.setPhone(member.getPhoneNumber()); vo.setPhone(member.getPhoneNumber());
} }
return RestResponse.successResult(vo) ; return RestResponse.successResult(vo);
}
/**
* 预估人数
*/
@RequestMapping("member-count")
@ResponseBody
public RestResponse<Object> getMemberCount(String searchParams) {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
String enterpriseId = loginUser.getEnterpriseId();
String clerkId = loginUser.getClerkId();
int count = 0;
try {
JSONObject searchJson = new JSONObject();
if (!StringUtils.isBlank(searchParams)) {
searchJson = JSON.parseObject(searchParams);
}
DynamicSearchDTO search = new DynamicSearchDTO();
searchJson = this.storeService.parseSelectData(searchJson, enterpriseId, clerkId, new Date());
search.setSearchJson(searchJson);
search.setEnterpriseId(enterpriseId);
search.setColumnCategoryCode(ES_COLUMN_CATEGORY_CODE);
ESResponseQueryCount esCount = esApiService.queryDataCount(search);
count = (int) esCount.getRes();
} catch (Exception e) {
e.printStackTrace();
}
return RestResponse.successResult(count);
} }
} }
...@@ -129,5 +129,6 @@ ...@@ -129,5 +129,6 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.out.SecretSettingApiService" id="secretSettingApiService"/> <dubbo:reference interface="com.gic.haoban.manage.api.service.out.SecretSettingApiService" id="secretSettingApiService"/>
<dubbo:reference interface="com.gic.member.api.service.MemberService" id="memberService"/> <dubbo:reference interface="com.gic.member.api.service.MemberService" id="memberService"/>
<dubbo:reference interface="com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService" id="esApiService"/>
</beans> </beans>
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