Commit 5167d595 by 墨竹

feat:会员关联修改

parent 7b13895a
...@@ -230,4 +230,18 @@ public interface ExternalClerkRelatedApiService { ...@@ -230,4 +230,18 @@ public interface ExternalClerkRelatedApiService {
* @date 2022-01-19 16:52:12 * @date 2022-01-19 16:52:12
*/ */
List<ExternalClerkRelatedShortInfoDTO> listByMemberIdAndEnterpriseId(String memberId,String enterpriseId); List<ExternalClerkRelatedShortInfoDTO> listByMemberIdAndEnterpriseId(String memberId,String enterpriseId);
/**
* 根据wxuserid和会员unionid进行查询数据
*
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
* @param unionid unionid
* @return {@link ExternalClerkRelatedDTO }
* @author mozhu
* @date 2022-03-11 15:23:13
*/
ExternalClerkRelatedDTO getByWxEnterpriseIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid);
} }
...@@ -270,4 +270,18 @@ public interface MemberUnionidRelatedApiService { ...@@ -270,4 +270,18 @@ public interface MemberUnionidRelatedApiService {
*/ */
void addMemberUnionidWechatAccountByClerk(String res); void addMemberUnionidWechatAccountByClerk(String res);
/**
* 根据unionid查询导购好友
*
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
* @param unionid unionid
* @param selfExternalUserid 自外部用户标识
* @return {@link MemberUnionidRelatedDTO }
* @author mozhu
* @date 2022-03-11 15:41:09
*/
MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid,String selfExternalUserid);
} }
...@@ -114,9 +114,10 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -114,9 +114,10 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @param externalUserId * @param externalUserId
* @return * @return
*/ */
TabHaobanExternalClerkRelated getExternalClerkByWxUserIdAncExternalUserId( TabHaobanExternalClerkRelated getExternalClerkByWxUserIdAncExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId, @Param("wxUserId") String wxUserId,
@Param("enterpriseId") String enterpriseId, @Param("externalUserId") String externalUserId); @Param("enterpriseId") String enterpriseId,
@Param("externalUserId") String externalUserId);
/** /**
* 查询会员在企业下的好友关系 * 查询会员在企业下的好友关系
...@@ -306,4 +307,19 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -306,4 +307,19 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @return {@link List}<{@link TabHaobanExternalClerkRelated}> * @return {@link List}<{@link TabHaobanExternalClerkRelated}>
*/ */
List<TabHaobanExternalClerkRelated> getByWxUserIdAndWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId); List<TabHaobanExternalClerkRelated> getByWxUserIdAndWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId);
/**
* 根据wxuserid和会员unionid进行查询数据
*
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
* @param unionid unionid
* @return {@link TabHaobanExternalClerkRelated }
* @author mozhu
* @date 2022-03-11 15:21:15
*/
TabHaobanExternalClerkRelated getByWxEnterpriseIdAndUnionId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("wxUserId") String wxUserId,
@Param("unionid") String unionid);
} }
\ No newline at end of file
...@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory; ...@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.*; import java.util.Objects;
/** /**
* desc:添加微信好友关系消息消费处理器 * desc:添加微信好友关系消息消费处理器
...@@ -115,7 +115,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce ...@@ -115,7 +115,7 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
String serviceExternalUserid = qywxUserApiService.toServiceExternalUserid(bo.getCorpid(), bo.getSecret(), externalUserid); String serviceExternalUserid = qywxUserApiService.toServiceExternalUserid(bo.getCorpid(), bo.getSecret(), externalUserid);
logger.info("自建转换第三方返回:{}", serviceExternalUserid); logger.info("自建转换第三方返回:{}", serviceExternalUserid);
// 幂等 // 幂等
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByUnionId(wxEnterpriseId, wxUserId, dto.getUnionid()); MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByWxUserIdAndUnionId(wxEnterpriseId, wxUserId, dto.getUnionid());
String memberUnionIdRelatedId; String memberUnionIdRelatedId;
if (Objects.isNull(exsitDTO)) { if (Objects.isNull(exsitDTO)) {
dto.setMemberId(member.getMemberId()); dto.setMemberId(member.getMemberId());
......
package com.gic.haoban.manage.service.service; package com.gic.haoban.manage.service.service;
import java.util.List;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO; import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated; import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import java.util.List;
public interface MemberUnionRelatedService { public interface MemberUnionRelatedService {
MemberUnionidRelatedDTO getByUnionId(String wxEnterpriseId, String wxUserId, String unionid); MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid);
MemberUnionidRelatedDTO getByMemberId(String wxUserId, String memberId); MemberUnionidRelatedDTO getByMemberId(String wxUserId, String memberId);
......
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO; import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
...@@ -14,6 +7,11 @@ import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper; ...@@ -14,6 +7,11 @@ import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated; import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.service.MemberUnionRelatedService; import com.gic.haoban.manage.service.service.MemberUnionRelatedService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service @Service
public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService { public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService {
...@@ -22,7 +20,7 @@ public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService ...@@ -22,7 +20,7 @@ public class MemberUnionRelatedServiceImpl implements MemberUnionRelatedService
private MemberUnionidRelatedMapper mapper; private MemberUnionidRelatedMapper mapper;
@Override @Override
public MemberUnionidRelatedDTO getByUnionId(String wxEnterpriseId, String wxUserId, String unionid) { public MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid) {
return EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class, mapper.getByUnionId(wxEnterpriseId, wxUserId, unionid)); return EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class, mapper.getByUnionId(wxEnterpriseId, wxUserId, unionid));
} }
@Override @Override
......
...@@ -449,6 +449,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -449,6 +449,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
return EntityUtil.changeEntityListNew(ExternalClerkRelatedShortInfoDTO.class, list); return EntityUtil.changeEntityListNew(ExternalClerkRelatedShortInfoDTO.class, list);
} }
@Override
public ExternalClerkRelatedDTO getByWxEnterpriseIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid) {
TabHaobanExternalClerkRelated related = tabHaobanExternalClerkRelatedMapper.getByWxEnterpriseIdAndUnionId(wxEnterpriseId, wxUserId, unionid);
return EntityUtil.changeEntityNew(ExternalClerkRelatedDTO.class,related);
}
/** /**
* 更新状态 * 更新状态
* *
......
...@@ -249,7 +249,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -249,7 +249,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return null; return null;
} }
log.info("【查询会员】wxUserId={},unionid={}", staff.getWxUserId(), unionid); log.info("【查询会员】wxUserId={},unionid={}", staff.getWxUserId(), unionid);
return memberUnionRelatedService.getByUnionId(staff.getWxEnterpriseId(), staff.getWxUserId(), unionid); return memberUnionRelatedService.getByWxUserIdAndUnionId(staff.getWxEnterpriseId(), staff.getWxUserId(), unionid);
} }
@Override @Override
...@@ -1491,7 +1491,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1491,7 +1491,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
+ "", wxUserId, wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId); + "", wxUserId, wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId);
return "参数不对"; return "参数不对";
} }
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByUnionId(wxEnterpriseId, wxUserId, unionId); MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByWxUserIdAndUnionId(wxEnterpriseId, wxUserId, unionId);
String uuid = ""; String uuid = "";
if (exsitDTO == null) { if (exsitDTO == null) {
exsitDTO = new MemberUnionidRelatedDTO(); exsitDTO = new MemberUnionidRelatedDTO();
...@@ -1864,6 +1864,21 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1864,6 +1864,21 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
externalClerkRelatedApiService.bindMemberIdExternalById(externalClerkRelated.getExternalClerkRelatedId(), enterpriseId, memberId, unionid); externalClerkRelatedApiService.bindMemberIdExternalById(externalClerkRelated.getExternalClerkRelatedId(), enterpriseId, memberId, unionid);
} }
@Override
public MemberUnionidRelatedDTO getByWxUserIdAndUnionId(String wxEnterpriseId, String wxUserId, String unionid, String selfExternalUserid) {
MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionRelatedService.getByWxUserIdAndUnionId(wxEnterpriseId, wxUserId, unionid);
//做一个修复逻辑,如果在我们表中有好友关联,但是自建好友外部联系人为空,更新数据
if (memberUnionidRelatedDTO != null &&
StringUtils.isBlank(memberUnionidRelatedDTO.getSelfExternalUserid())
&& StringUtils.isNotBlank(selfExternalUserid)) {
MemberUnionidRelatedDTO relatedDTO = new MemberUnionidRelatedDTO();
relatedDTO.setMemberUnionidRelatedId(memberUnionidRelatedDTO.getMemberUnionidRelatedId());
relatedDTO.setSelfExternalUserid(selfExternalUserid);
memberUnionRelatedService.update(relatedDTO);
}
return memberUnionidRelatedDTO;
}
/** /**
* 获取客户详情列表 * 获取客户详情列表
* *
......
...@@ -643,4 +643,16 @@ ...@@ -643,4 +643,16 @@
and wx_enterprise_id = #{wxEnterpriseId} and status_flag in(1,3,4) and wx_enterprise_id = #{wxEnterpriseId} and status_flag in(1,3,4)
</select> </select>
<select id="getByWxEnterpriseIdAndUnionId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
and wx_enterprise_id = #{wxEnterpriseId}
and unionid = #{unionid}
and status_flag in(1,3,4)
order by update_time desc limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -401,7 +401,7 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -401,7 +401,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
} }
/** /**
* 会员小程序-获取绑定信息 * 会员小程序-获取绑定信息(会员工具)
* *
* @param externalUserid * @param externalUserid
* @param wxUserId * @param wxUserId
...@@ -411,25 +411,31 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -411,25 +411,31 @@ public class WxEnterpriseInfoController extends WebBaseController {
@IgnoreLogin @IgnoreLogin
@RequestMapping("get-send-message-info") @RequestMapping("get-send-message-info")
public HaobanResponse getMessageMember(String externalUserid, String wxUserId, String wxEnterpriseId, String gicEnterpriseId) { public HaobanResponse getMessageMember(String externalUserid, String wxUserId, String wxEnterpriseId, String gicEnterpriseId) {
logger.info("会员工具传入参数:externalUserid:{},wxUserId:{},wxEnterpriseId:{},gicEnterpriseId:{}", externalUserid, wxUserId, wxEnterpriseId, gicEnterpriseId);
if (StringUtils.isAnyBlank(externalUserid, wxUserId, wxEnterpriseId)) { if (StringUtils.isAnyBlank(externalUserid, wxUserId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2); return resultResponse(HaoBanErrCode.ERR_2);
} }
WxEnterpriseRelationDetailDTO enterpriseBindInfo = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, gicEnterpriseId); WxEnterpriseRelationDetailDTO enterpriseBindInfo = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, gicEnterpriseId);
if (null == enterpriseBindInfo) { if (null == enterpriseBindInfo) {
logger.info("企业不存在没有绑定,wxEnterpriseId:{}", wxEnterpriseId); logger.info("企业不存在没有绑定,wxEnterpriseId:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_400002); return resultResponse(HaoBanErrCode.ERR_400002);
} }
MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionidRelatedApiService.getBySelfExternalUserId(wxEnterpriseId, externalUserid); ExternalUserDTO externalUserDTO = memberUnionidRelatedApiService.getCorpSelfExternalUseridInfo(wxEnterpriseId, wxUserId, externalUserid);
if (null == memberUnionidRelatedDTO) { if (externalUserDTO == null) {
logger.info("请刷新好友,wxEnterpriseId:{},externalUserid:{},wxUserId:{}", wxEnterpriseId, externalUserid, wxUserId); logger.info("请先添加好友,企业微信未查询到该好友,externalUserid:{}", externalUserid);
return resultResponse(HaoBanErrCode.ERR_11123); return resultResponse(HaoBanErrCode.ERR_11126);
} }
ExternalClerkRelatedDTO clerkRelatedDTO = externalClerkRelatedApiService.getExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, gicEnterpriseId, memberUnionidRelatedDTO.getExternalUserid()); String unionId = externalUserDTO.getUnionId();
ExternalClerkRelatedDTO clerkRelatedDTO = externalClerkRelatedApiService.getByWxEnterpriseIdAndUnionId(wxEnterpriseId, wxUserId, unionId);
if (clerkRelatedDTO == null) { if (clerkRelatedDTO == null) {
logger.info("该企业没有对应需要发送好友关系的信息,wxEnterpriseId:{},externalUserid:{},wxUserId:{}", wxEnterpriseId, externalUserid, wxUserId); logger.info("该企业没有对应需要发送好友关系的信息,wxEnterpriseId:{},externalUserid:{},wxUserId:{}", wxEnterpriseId, externalUserid, wxUserId);
return resultResponse(HaoBanErrCode.ERR_11123); return resultResponse(HaoBanErrCode.ERR_11123);
} }
MemberUnionidRelatedDTO memberUnionidRelatedDTO = memberUnionidRelatedApiService.getByWxUserIdAndUnionId(wxEnterpriseId, wxUserId, unionId, externalUserid);
if (memberUnionidRelatedDTO == null) {
logger.info("该企业没有对应需要发送好友关系的信息,wxEnterpriseId:{},unionId:{},wxUserId:{}", wxEnterpriseId, unionId, wxUserId);
return resultResponse(HaoBanErrCode.ERR_11123);
}
MiniprogramSettingDTO settingDTO = wxEnterpriseApiService.getMiniprogramSettingByEid(wxEnterpriseId, gicEnterpriseId); MiniprogramSettingDTO settingDTO = wxEnterpriseApiService.getMiniprogramSettingByEid(wxEnterpriseId, gicEnterpriseId);
if (null == settingDTO) { if (null == settingDTO) {
logger.info("该企业没有对应需要发送的小程序信息,wxEnterpriseId:{}", wxEnterpriseId); logger.info("该企业没有对应需要发送的小程序信息,wxEnterpriseId:{}", wxEnterpriseId);
......
...@@ -231,7 +231,10 @@ public enum HaoBanErrCode { ...@@ -231,7 +231,10 @@ public enum HaoBanErrCode {
ERR_11125(11125, "该企业与gic在同一开平,无需手动关联好友会员"), ERR_11125(11125, "该企业与gic在同一开平,无需手动关联好友会员"),
ERR_11126(11126, "请先添加好友,企业微信未查询到该好友"),
ERR_999(999, "操作失败"), ERR_999(999, "操作失败"),
ERR_DEFINE(-888, "自定义错误"), ERR_DEFINE(-888, "自定义错误"),
ERR_OTHER(-999, "未知错误code"); ERR_OTHER(-999, "未知错误code");
......
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