Commit bccff4bc by 墨竹

fix:活码发送欢迎语结束临时会话

parent 543a53bb
......@@ -326,6 +326,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("staff不存在:{},{}", dto.getUnionid(), dto.getWxUserId());
return;
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("未查询到企业:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
String staffId = staff.getStaffId();
String staffName = staff.getStaffName() ;
String staffWxUserId = staff.getWxUserId();
......@@ -389,16 +394,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if (mainStoreRelated == null) {
log.info("【新增外部联系人】主门店为空:{}", staffId);
// 无主门店仅发送欢迎语
sendWelcome(dto, wxEnterpriseId, null, staffId, null);
sendWelcome(dto, wxEnterpriseDTO, null, staffId, null);
return;
}
staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, mainStoreRelated.getStoreId());
}
if (staffClerkRelationDTO == null) {
log.info("【新增外部联系人】导购和clerk关联为空");
return;
}
}
String enterpriseId = staffClerkRelationDTO.getEnterpriseId();
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
if (wxEnterpriseRelated == null) {
......@@ -406,12 +410,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return;
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("未查询到企业:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
String memberId = "";
if (StringUtils.isNotBlank(unionid)) {
log.info("有unionid处理:wxEnterpriseId:{},unionid:{}", wxEnterpriseId, unionid);
......@@ -419,7 +417,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberId = addExternalClerkRelated(dto, staffId, staffClerkRelationDTO, wxEnterpriseRelated,isHmUnionid);
} else {
log.info("发送欢迎语逻辑:wxEnterpriseId:{}", wxEnterpriseId);
addFriendByWelcome(dto, staffClerkRelationDTO);
addFriendByWelcome(dto,staffClerkRelationDTO);
}
if (StringUtils.isNotBlank(memberId) && hmQrcodeDTO != null) {
......@@ -484,6 +482,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
addFriendByWelcome(dto, staffClerkRelationDTO);
return "";
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
//新增导购和外部联系人关系
String clerkId = staffClerkRelationDTO.getClerkId();
String clerkCode = staffClerkRelationDTO.getClerkCode();
......@@ -547,7 +546,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setStatusFlag(1);
externalClerkRelatedService.update(exsitDTO);
}
sendWelcome(dto, wxEnterpriseId, enterpriseId, staffId, clerkId);
sendWelcome(dto, wxEnterpriseDTO, enterpriseId, staffId, clerkId);
//同步好友标签
pushTagSync(memberId, wxEnterpriseId, enterpriseId);
//回调给会员,更新是否为企微好友
......@@ -568,8 +567,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String relationKey = SecureUtil.md5(staffId + dto.getExternalUserid());
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
String enterpriseId = staffClerkRelationDTO.getEnterpriseId();
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
//发送欢迎语
sendWelcome(dto, wxEnterpriseId, enterpriseId, staffId, clerkId);
sendWelcome(dto, wxEnterpriseDTO, enterpriseId, staffId, clerkId);
//保存好友关系
List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, dto.getExternalUserid(), dto.getWxUserId());
......@@ -611,14 +611,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* 发送欢迎语
*
* @param dto
* @param wxEnterpriseId
* @param wxEnterpriseDTO
* @param enterpriseId
* @param staffId
*/
private void sendWelcome(MemberUnionidRelatedDTO dto, String wxEnterpriseId, String enterpriseId, String staffId, String clerkId) {
log.info("发送欢迎语:dto:{},wxEnterpriseId:{},staffId:{}", JSONObject.toJSONString(dto), wxEnterpriseId, staffId);
private void sendWelcome(MemberUnionidRelatedDTO dto, WxEnterpriseDTO wxEnterpriseDTO, String enterpriseId, String staffId, String clerkId) {
log.info("发送欢迎语:dto:{},staffId:{}", JSONObject.toJSONString(dto), staffId);
String welcomeCode = dto.getWelcomeCode();
String state = dto.getState();
String wxEnterpriseId = wxEnterpriseDTO.getWxEnterpriseId();
String corpid = wxEnterpriseDTO.getCorpid();
if (StringUtils.isBlank(welcomeCode)) {
log.error("welcomeCode为空,请检查是否使用企微的欢迎语:{}", wxEnterpriseId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
......@@ -652,11 +654,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("欢迎语未配置:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("微信企业不存在:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
//内容
String content = welcomeDetailBO.getWelcomeContent().replaceAll("<微信昵称>", dto.getExternalName());
QywxWelcomeMsgDTO qywxWelcomeMsgDTO = new QywxWelcomeMsgDTO();
......@@ -703,6 +700,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} else {
qywxUserApiService.sendWelcomeMsgByExternal(dto.getCorpid(), config.getWxSuiteid(), qywxWelcomeMsgDTO);
}
if (StringUtils.isNotBlank(state)) {
//结束临时会话模式
log.info("结束临时会话模式:userid:{},externalUserid:{}",dto.getWxUserId(),dto.getExternalUserid());
qywxUserApiService.closeTempChat(corpid,config.getWxSuiteid(),dto.getWxUserId(),dto.getExternalUserid());
}
}
/**
......
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