Commit bc067851 by 徐高华

导购话务也要查询好友

parent 59c91bec
...@@ -351,5 +351,13 @@ public interface ExternalClerkRelatedApiService { ...@@ -351,5 +351,13 @@ public interface ExternalClerkRelatedApiService {
*/ */
public com.gic.api.base.commons.ServiceResponse<MemberGroupFriendDTO> memberIsAddClerk(String enterpriseId, String memberId) ; public com.gic.api.base.commons.ServiceResponse<MemberGroupFriendDTO> memberIsAddClerk(String enterpriseId, String memberId) ;
/**
* 获取好友数据
* @param memberId
* @param storeId
* @param clerkId
* @return
*/
int getFriendNum(String memberId , String storeId , String clerkId) ;
} }
...@@ -446,4 +446,5 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -446,4 +446,5 @@ public interface TabHaobanExternalClerkRelatedMapper {
TabHaobanExternalClerkRelated getDelFriend(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("enterpriseId") String enterpriseId , @Param("staffId")String staffId) ; TabHaobanExternalClerkRelated getDelFriend(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("enterpriseId") String enterpriseId , @Param("staffId")String staffId) ;
void updateHalfTime(@Param("id") String id , @Param("delTime") Date delTime) ; void updateHalfTime(@Param("id") String id , @Param("delTime") Date delTime) ;
int getFriendNum(@Param("memberId")String memberId, @Param("storeId")String storeId, @Param("clerkId")String clerkId);
} }
\ No newline at end of file
...@@ -123,4 +123,14 @@ public interface ExternalClerkRelatedService { ...@@ -123,4 +123,14 @@ public interface ExternalClerkRelatedService {
*/ */
String getMemberIdByExternalId(String wxEnterpriseId,String externalUserId); String getMemberIdByExternalId(String wxEnterpriseId,String externalUserId);
/**
* 获取好友数据
* @param memberId
* @param storeId
* @param clerkId
* @return
*/
int getFriendNum(String memberId , String storeId , String clerkId) ;
} }
...@@ -578,4 +578,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -578,4 +578,9 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
public String getMemberIdByExternalId(String wxEnterpriseId, String externalUserId) { public String getMemberIdByExternalId(String wxEnterpriseId, String externalUserId) {
return this.mapper.getMemberIdByExternalId(wxEnterpriseId,externalUserId); return this.mapper.getMemberIdByExternalId(wxEnterpriseId,externalUserId);
} }
@Override
public int getFriendNum(String memberId, String storeId, String clerkId) {
return this.mapper.getFriendNum(memberId,storeId,clerkId);
}
} }
...@@ -900,4 +900,9 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -900,4 +900,9 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
return com.gic.api.base.commons.ServiceResponse.success(null) ; return com.gic.api.base.commons.ServiceResponse.success(null) ;
} }
@Override
public int getFriendNum(String memberId, String storeId, String clerkId) {
return this.externalClerkRelatedService.getFriendNum(memberId,storeId,clerkId);
}
} }
...@@ -916,6 +916,16 @@ ...@@ -916,6 +916,16 @@
and external_status = 3 and external_status = 3
</select> </select>
<select id="getFriendNum" resultType="java.lang.Integer">
select count(*) from tab_haoban_external_clerk_related where
member_id = #{memberId} and store_id = #{storeId}
<if test="null != clerkId">
and clerk_id=#{clerkId}
</if>
and status_flag = 1
</select>
<select id="halfFriendPage" resultMap="BaseResultMap"> <select id="halfFriendPage" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/> from tab_haoban_external_clerk_related select <include refid="Base_Column_List"/> from tab_haoban_external_clerk_related
where wx_enterprise_id = #{wxEnterpriseId} and status_flag in (1,3,4) where wx_enterprise_id = #{wxEnterpriseId} and status_flag in (1,3,4)
......
import com.alibaba.fastjson.JSON;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO;
import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.out.impl.MemberUnionidRelatedApiServiceImpl;
import com.gic.member.api.service.MemberApiService;
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.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* 删除无效外部联系人
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"})
public class DelInvalidExternalUserTest {
private static final Logger log = LogManager.getLogger(DelInvalidExternalUserTest.class);
@Autowired
private MemberUnionidRelatedApiService memberUnionidRelatedApiService ;
@Autowired
private TabHaobanExternalClerkRelatedMapper tabHaobanExternalClerkRelatedMapper ;
@Autowired
private MemberApiService memberApiService;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService ;
@Test
public void test() {
String wxEnterpriseId = "8477c149d8774f06ab841f042645832b" ;
String wxUserId = "51301";
String staffId = "4eaf610dde494b4bb05ea4529b86a328" ;
this.doSelf(wxEnterpriseId,wxUserId,staffId);
}
public void doSelf(String wxEnterpriseId,String wxUserId , String staffId) {
List<String> list = memberUnionidRelatedApiService.listSelfExterialList(wxEnterpriseId,wxUserId) ;
log.info("企微={}",list);
/* List<TabHaobanExternalClerkRelated> gicList = this.tabHaobanExternalClerkRelatedMapper.listByWxEnterpriseIdAndWxUserId(staffId,wxEnterpriseId) ;
if(CollectionUtils.isNotEmpty(gicList)) {
for(TabHaobanExternalClerkRelated item : gicList) {
String extid = item.getExternalUserId() ;
if(!list.contains(extid)) {
log.info("不存在好友关系={}",extid);
this.delByUserIdAndExternalUserId(item) ;
}
}
}*/
}
public void delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated dto) {
String staffId = dto.getStaffId();
String externalUserid = dto.getExternalUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
int count = tabHaobanExternalClerkRelatedMapper.delByUserIdAndExternalUserId(externalUserid,staffId);
if (count <= 0) {
log.error("无需删除的好友数据:{}", JSON.toJSONString(dto));
return;
}
List<TabHaobanExternalClerkRelated> deleteRelatedList = tabHaobanExternalClerkRelatedMapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 2);
if (CollectionUtils.isEmpty(deleteRelatedList)) {
log.info("无解除的好友关系:externalUserid:{},staffId:{}", externalUserid,staffId);
return;
}
TabHaobanExternalClerkRelated related = deleteRelatedList.get(0);
String enterpriseId = related.getEnterpriseId() ;
//该企微该会员所有关联关系解除后通知会员
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listByExternalUseridAndWxEnterpriseId(externalUserid, wxEnterpriseId, Arrays.asList("1", "3", "4"));
if (CollectionUtils.isEmpty(list)) {
//删除的好友关系
List<TabHaobanExternalClerkRelated> haobanExternalClerkRelatedList = tabHaobanExternalClerkRelatedMapper.listByExternalUseridAndWxEnterpriseId(externalUserid, wxEnterpriseId, Collections.singletonList("2"));
for (TabHaobanExternalClerkRelated externalClerkRelated : haobanExternalClerkRelatedList) {
String memberId = externalClerkRelated.getMemberId();
log.info("通知会员 删除会员后更新为非企微好友 memberId:{}", memberId);
List<TabHaobanExternalClerkRelated> memberList = this.externalClerkRelatedService.getAddTimeByMemberId(memberId, enterpriseId,null);
Date date = new Date();
Date opTime = new Date(0);
if (CollectionUtils.isNotEmpty(memberList)){
for (TabHaobanExternalClerkRelated a : memberList){
if ((a.getStatusFlag() == 0 || a.getStatusFlag() == 2) && a.getUpdateTime().after(opTime)){
opTime= a.getUpdateTime();
date = opTime;
}
}
}
memberApiService.updateMemberQywxEveryOccasion(enterpriseId, memberId, 0, date,null);
}
}
}
}
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
public class FileUtils { public class FileUtils {
...@@ -13,7 +16,7 @@ public class FileUtils { ...@@ -13,7 +16,7 @@ public class FileUtils {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println(JSONArray.parseArray(getText().toString())); cleanNoExsitFriendNew(null,null,null);
} }
public static StringBuilder getText(){ public static StringBuilder getText(){
...@@ -21,4 +24,20 @@ public class FileUtils { ...@@ -21,4 +24,20 @@ public class FileUtils {
return list ; return list ;
} }
public static void cleanNoExsitFriendNew(String wxEnterpriseId, String staffId, List<String> externalUserIds) {
externalUserIds = Arrays.asList("wm0JLXDgAATwCdjIMGe-fwl7ZOMoJ2hw","wm0JLXDgAAa2Cqg0fa2F5BGgwfJo2dJw","wm0JLXDgAAzUoijz9olOmRV7PEBrQhNw","wm0JLXDgAAXI_2kotwsZHLdETKmJenYA","wm0JLXDgAA11ODZutAcho6-5BFC1zy4A") ;
Set<String> externalUserIdList = new HashSet<>() ;
externalUserIdList.add("wm0JLXDgAA5A396Jqh-mQQjbTa39m1yw") ;
Sets.SetView<String> delExternalUserIds = Sets.difference(externalUserIdList,new HashSet<>(externalUserIds));
System.out.println(delExternalUserIds);
}
} }
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