Commit cfcce7c1 by 徐高华

会员换绑

parent faf3676f
...@@ -178,6 +178,8 @@ public interface ExternalClerkRelatedApiService { ...@@ -178,6 +178,8 @@ public interface ExternalClerkRelatedApiService {
* @date 2021-09-13 16:52:31 * @date 2021-09-13 16:52:31
*/ */
void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId); void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId);
// 0 删除会员 1合并会员 2会员换绑
void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type);
/** /**
* 导购和会员是否好友关系,true是好友 * 导购和会员是否好友关系,true是好友
......
...@@ -353,8 +353,11 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -353,8 +353,11 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @author mozhu * @author mozhu
* @date 2022-04-21 10:06:21 * @date 2022-04-21 10:06:21
*/ */
int countByMemberId(@Param("memberId") String memberId, int countByMemberId(@Param("memberId") String memberId, @Param("enterpriseId") String enterpriseId);
@Param("enterpriseId") String enterpriseId);
List<String> getIdList(@Param("memberId") String memberId, @Param("enterpriseId") String enterpriseId) ;
void updateMemberByIdList(@Param("memberId") String memberId, @Param("list") List<String> idList) ;
List<TabHaobanExternalClerkRelated> listPageByWxenterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, List<TabHaobanExternalClerkRelated> listPageByWxenterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("startItem") int startItem, @Param("pageSize") int pageSize ,@Param("type") int type); @Param("startItem") int startItem, @Param("pageSize") int pageSize ,@Param("type") int type);
......
...@@ -387,24 +387,54 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -387,24 +387,54 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
return tabHaobanExternalClerkRelatedMapper.listStoreIdByMemberId(memberId); return tabHaobanExternalClerkRelatedMapper.listStoreIdByMemberId(memberId);
} }
@Override
public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId, int type) {
// 0 删除会员 1合并会员 2会员换绑
if(type==0) {
log.info("删除会员,memberId:{}", memberId);
this.tabHaobanExternalClerkRelatedMapper.updateStatusByMemberId(memberId, enterpriseId);
}else if(type==1) {
//合并会员
log.info("合并会员,memberId:{},新memberId={}", memberId , mergeMemberId);
int i = this.tabHaobanExternalClerkRelatedMapper.countByMemberId(memberId, enterpriseId);
if (i > 0) {
this.tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(mergeMemberId, memberId, enterpriseId);
log.info("会员合并 ,更新为企微好友,新memberId:{}", mergeMemberId);
this.memberApiService.updateMemberQywxFlag(enterpriseId, mergeMemberId, 1);
}
}else if(type==2) {
int m1 = this.tabHaobanExternalClerkRelatedMapper.countByMemberId(memberId, enterpriseId) ;
int m2 = this.tabHaobanExternalClerkRelatedMapper.countByMemberId(mergeMemberId, enterpriseId) ;
log.info("合并换绑,m1={},好友数={}, m2={},好友数={}", memberId,m1,mergeMemberId,m2);
if(m1==0 && m2==0) {
log.info("都是非企微好友");
}else if(m1==0 && m2>0) {
this.tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(memberId, mergeMemberId, enterpriseId);
log.info("会员换绑 ,更新为企微好友,新memberId:{}", memberId);
this.memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
}else if(m1>0 && m2==0) {
this.tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(mergeMemberId, memberId, enterpriseId);
log.info("会员换绑 ,更新为企微好友,新memberId:{}", mergeMemberId);
this.memberApiService.updateMemberQywxFlag(enterpriseId, mergeMemberId, 1);
}else if(m1>0 && m2>0) {
List<String> m1IdList = this.tabHaobanExternalClerkRelatedMapper.getIdList(memberId, enterpriseId) ;
List<String> m2IdList = this.tabHaobanExternalClerkRelatedMapper.getIdList(mergeMemberId, enterpriseId) ;
this.tabHaobanExternalClerkRelatedMapper.updateMemberByIdList(mergeMemberId, m1IdList);
this.tabHaobanExternalClerkRelatedMapper.updateMemberByIdList(memberId, m2IdList);
this.memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
this.memberApiService.updateMemberQywxFlag(enterpriseId, mergeMemberId, 1);
}
}
}
@Override @Override
public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) { public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) {
log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId); log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId);
if (StringUtils.isBlank(mergeMemberId)) { if (StringUtils.isBlank(mergeMemberId)) {
log.info("删除会员,memberId:{}", memberId); this.delByMemberIdAndEnterpriseId(memberId, enterpriseId, mergeMemberId, 0);
//删除会员
tabHaobanExternalClerkRelatedMapper.updateStatusByMemberId(memberId, enterpriseId);
} else { } else {
//合并会员 this.delByMemberIdAndEnterpriseId(memberId, enterpriseId, mergeMemberId, 1);
log.info("合并会员,memberId:{}", memberId);
tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(mergeMemberId, memberId, enterpriseId);
int i = tabHaobanExternalClerkRelatedMapper.countByMemberId(mergeMemberId, enterpriseId);
if (i > 0) {
//回调给会员,更新是否为企微好友
log.info("会员合并,有企微好友,通知会员,合并会员后更新为企微好友,memberId:{},mergeMemberId:{}", memberId, mergeMemberId);
memberApiService.updateMemberQywxFlag(enterpriseId, mergeMemberId, 1);
}
} }
} }
......
...@@ -668,6 +668,22 @@ ...@@ -668,6 +668,22 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="getIdList" resultType="string">
select external_clerk_related_id from tab_haoban_external_clerk_related
where enterprise_id = #{enterpriseId} and member_id = #{memberId} and status_flag = 1
</select>
<update id="updateMemberByIdList">
UPDATE
tab_haoban_external_clerk_related
SET member_id=#{memberId},
update_time = now()
where external_clerk_related_id in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
and enterprise_id = #{enterpriseId} and status_flag = 1
</update>
<select id="listPageByWxenterpriseId" resultMap="BaseResultMap"> <select id="listPageByWxenterpriseId" resultMap="BaseResultMap">
select DISTINCT(external_user_id) external_user_id , create_time from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId} and select DISTINCT(external_user_id) external_user_id , create_time from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId} and
......
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