Commit 4c938e64 by 徐高华

群活码-链接调整

parent e4b65ec4
...@@ -31,6 +31,16 @@ public class HmLinkStoreDTO implements Serializable { ...@@ -31,6 +31,16 @@ public class HmLinkStoreDTO implements Serializable {
private java.util.Date createTime; private java.util.Date createTime;
private java.util.Date updateTime; private java.util.Date updateTime;
private String distanceStr ;
public String getDistanceStr() {
return distanceStr;
}
public void setDistanceStr(String distanceStr) {
this.distanceStr = distanceStr;
}
public String getStoreAddress() { public String getStoreAddress() {
return storeAddress; return storeAddress;
} }
......
...@@ -40,6 +40,18 @@ public class HmLinkWxaDTO implements Serializable { ...@@ -40,6 +40,18 @@ public class HmLinkWxaDTO implements Serializable {
*/ */
private Integer qwFriendFlag ; private Integer qwFriendFlag ;
// 是否群活码
private boolean isGroupChatHm ;
public boolean isGroupChatHm() {
return isGroupChatHm;
}
public void setGroupChatHm(boolean isGroupChatHm) {
this.isGroupChatHm = isGroupChatHm;
}
public Integer getQwFriendFlag() { public Integer getQwFriendFlag() {
return qwFriendFlag; return qwFriendFlag;
} }
......
package com.gic.haoban.manage.api.qdto.chat;
import java.io.Serializable;
public class LinkHmFromWxaQDTO implements Serializable {
/**
* 纬度
*/
private String latitude;
/**
* 经度
*/
private String longitude;
/**
* 省市编码
*/
private String districtCode;
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getDistrictCode() {
return districtCode;
}
public void setDistrictCode(String districtCode) {
this.districtCode = districtCode;
}
}
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.hm.HmLinkDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkDTO;
import com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO; import com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO;
import com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO;
/** /**
* *
...@@ -53,7 +54,10 @@ public interface HmLinkApiService { ...@@ -53,7 +54,10 @@ public interface HmLinkApiService {
*/ */
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId, public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId,
String clerkId, String linkShortCode, String mixPhone, String unionid , String memberId); String clerkId, String linkShortCode, String mixPhone, String unionid , String memberId);
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId,
String clerkId, String linkShortCode, String mixPhone, String unionid , String memberId , LinkHmFromWxaQDTO qdto);
/** /**
* *
* @Title: getMemberClerkHm * @Title: getMemberClerkHm
......
...@@ -410,7 +410,7 @@ public class JoinRuleManager { ...@@ -410,7 +410,7 @@ public class JoinRuleManager {
* @param storeIdList 门店id列表 * @param storeIdList 门店id列表
* @return * @return
*/ */
private Map<String, List<GroupChatHmBO>> getStoreIdToGroupChatHmBOMap(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) { public Map<String, List<GroupChatHmBO>> getStoreIdToGroupChatHmBOMap(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) {
logger.info("门店id列表:{}",JSON.toJSONString(storeIdList)); logger.info("门店id列表:{}",JSON.toJSONString(storeIdList));
Page<ClerkDTO> page = clerkService.pageClerkByNameOrCode(enterpriseId,"",storeIdList,1,10000); Page<ClerkDTO> page = clerkService.pageClerkByNameOrCode(enterpriseId,"",storeIdList,1,10000);
List<ClerkDTO> clerkList = page.getResult(); List<ClerkDTO> clerkList = page.getResult();
......
...@@ -9,10 +9,14 @@ import java.util.Map; ...@@ -9,10 +9,14 @@ import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.gic.api.base.commons.BusinessException; import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Page;
import com.gic.enterprise.api.service.WechatStoreService;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO;
import com.gic.haoban.manage.service.context.chat.JoinRuleManager; import com.gic.haoban.manage.service.context.chat.JoinRuleManager;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -128,6 +132,9 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -128,6 +132,9 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper; private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper;
@Autowired @Autowired
private JoinRuleManager joinRuleManager ; private JoinRuleManager joinRuleManager ;
@Autowired
private WechatStoreService wechatStoreService;
@Override @Override
public ServiceResponse<String> getHmLinkUrl() { public ServiceResponse<String> getHmLinkUrl() {
...@@ -188,7 +195,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -188,7 +195,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 群链接 // 群链接
private ServiceResponse<HmLinkWxaDTO> getLinkChatHmFromWxa(String wxEnterpriseId, String enterpriseId, private ServiceResponse<HmLinkWxaDTO> getLinkChatHmFromWxa(String wxEnterpriseId, String enterpriseId,
String mixPhone, String unionid, String memberId, HmLinkBO link, HmLinkWxaDTO retDTO) { String mixPhone, String unionid, String memberId, HmLinkBO link, HmLinkWxaDTO retDTO, LinkHmFromWxaQDTO qdto) {
Long hmId = link.getOtherChatHmId(); Long hmId = link.getOtherChatHmId();
Long linkId = link.getLinkId(); Long linkId = link.getLinkId();
if (StringUtils.isNotEmpty(mixPhone)) { if (StringUtils.isNotEmpty(mixPhone)) {
...@@ -231,15 +238,32 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -231,15 +238,32 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
break; break;
} }
}else if(type==3) { }else if(type==3) {
try { Page<StoreDTO> page = new Page<>() ;
List<GroupChatHmBO> hmBOList = joinRuleManager.handleLbs(hmQDTO); Map<String, Object> params = new HashMap<String, Object>();
if(CollectionUtils.isNotEmpty(hmBOList)) { params.put("latitude", qdto.getLatitude());
hmId = hmBOList.get(0).getChatHmId() ; params.put("longitude", qdto.getLongitude());
break; params.put("enterpriseId",enterpriseId) ;
} params.put("areaId",qdto.getDistrictCode()) ;
} catch (BusinessException e) { params.put("brandType", 1);
log.info("获取lbs失败"); page.setParams(params);
continue; page.setPageSize(1000);
page.setCurrentPage(1);
page = this.wechatStoreService.getActiveStoresByPage(page) ;
if (CollectionUtils.isEmpty(page.getResult())) {
break;
}
List<String> storeIds = page.getResult().stream().map(StoreDTO::getStoreId).collect(Collectors.toList());
//获取storeId对应活码
Map<String, List<GroupChatHmBO>> storeToHmMap = this.joinRuleManager.getStoreIdToGroupChatHmBOMap(enterpriseId, wxEnterpriseId, storeIds);
if (MapUtil.isEmpty(storeToHmMap)) {
break;
}
if(storeToHmMap.size()==1) {
hmId = storeToHmMap.values().iterator().next().get(0).getChatHmId();
break;
}else {
return ServiceResponse.success(retDTO);
} }
}else if(type==4) { }else if(type==4) {
List<HmLinkChatDTO> hmList = this.hmLinkChatService.listByLinkId(wxEnterpriseId, enterpriseId, linkId); List<HmLinkChatDTO> hmList = this.hmLinkChatService.listByLinkId(wxEnterpriseId, enterpriseId, linkId);
...@@ -271,8 +295,13 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -271,8 +295,13 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
} }
@Override @Override
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String storeId, String clerkId, String linkShortCode, String mixPhone, String unionid, String memberId) {
return this.getLinkHmFromWxa(enterpriseId, whitchStore, storeId, clerkId, linkShortCode, mixPhone, unionid, memberId, new LinkHmFromWxaQDTO());
}
@Override
public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String inStoreId, public ServiceResponse<HmLinkWxaDTO> getLinkHmFromWxa(String enterpriseId, Integer whitchStore, String inStoreId,
String inClerkId, String linkShortCode, String mixPhone, String unionid, String memberId) { String inClerkId, String linkShortCode, String mixPhone, String unionid, String memberId, LinkHmFromWxaQDTO qdto) {
if ("-1".equals(memberId)) { if ("-1".equals(memberId)) {
memberId = null; memberId = null;
} }
...@@ -306,7 +335,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -306,7 +335,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 如果是社群链接 // 如果是社群链接
if (link.getLinkType() == HmLinkTypeEnum.CHAT_HM_LINK_TYPE.getLinkType()) { if (link.getLinkType() == HmLinkTypeEnum.CHAT_HM_LINK_TYPE.getLinkType()) {
log.info("群链接,linkId={}", link.getLinkId()); log.info("群链接,linkId={}", link.getLinkId());
return this.getLinkChatHmFromWxa(wxEnterpriseId, enterpriseId, mixPhone, unionid, memberId, link, retDTO); ServiceResponse<HmLinkWxaDTO> resp = this.getLinkChatHmFromWxa(wxEnterpriseId, enterpriseId, mixPhone, unionid, memberId, link, retDTO,qdto);
if(null != resp.getResult()) {
resp.getResult().setGroupChatHm(true);
}
return resp;
} }
// 判断导购是否有活码,如果没有返回错误 // 判断导购是否有活码,如果没有返回错误
......
...@@ -267,5 +267,6 @@ ...@@ -267,5 +267,6 @@
<dubbo:reference id="settingApiService" interface="com.gic.haoban.task.api.service.SettingApiService" timeout="10000" retries="0" /> <dubbo:reference id="settingApiService" interface="com.gic.haoban.task.api.service.SettingApiService" timeout="10000" retries="0" />
<dubbo:reference interface="com.gic.haoban.task.manage.api.service.IMarketClueTaskApiService" id="iMarketClueTaskApiService" timeout="10000" retries="0" check="false" /> <dubbo:reference interface="com.gic.haoban.task.manage.api.service.IMarketClueTaskApiService" id="iMarketClueTaskApiService" timeout="10000" retries="0" check="false" />
<dubbo:reference id="canvasApiService" interface="com.gic.canvas.api.service.CanvasApiService" timeout="10000" retries="0" check="false"/> <dubbo:reference id="canvasApiService" interface="com.gic.canvas.api.service.CanvasApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="wechatStoreService" interface="com.gic.enterprise.api.service.WechatStoreService" timeout="10000" retries="0" check="false"/>
</beans> </beans>
\ 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