Commit 9437255c by guojx

Merge remote-tracking branch 'origin/developer' into developer

parents 04d635a2 894fb9f8
......@@ -21,7 +21,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId") String clerkId,
@Param("externalUserId") String externalUserId);
void delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record);
int delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record);
void delByUserIdAndExternalUserIdBatch(@Param("wxUserId") String wxUserId,
@Param("wxEnterpriseId") String wxEnterpriseId,
......
......@@ -11,6 +11,10 @@ public interface ExternalClerkRelatedService {
void insert(TabHaobanExternalClerkRelated related);
/**
* 删除好友
* @param dto
*/
void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto);
/**
......
package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.StringUtil;
......@@ -69,7 +70,11 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Override
public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto) {
mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto));
int count = mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto));
if (count <= 0) {
logger.error("无需删除的好友数据:{}", JSON.toJSONString(dto));
return;
}
String wxUserId = dto.getWxUserId();
String externalUserid = dto.getExternalUserid();
List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, wxUserId, 2);
......
......@@ -69,6 +69,7 @@ import com.gic.member.tag.api.service.MemberTagOpenApiService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.*;
import com.gic.wechat.api.dto.qywx.response.QywxResponseDTO;
import com.gic.wechat.api.dto.qywx.welcome.*;
import com.gic.wechat.api.enums.QywxMediaTypeEnum;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
......@@ -326,6 +327,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,15 +395,14 @@ 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;
}
}
if (staffClerkRelationDTO == null) {
log.info("【新增外部联系人】导购和clerk关联为空");
return;
}
String enterpriseId = staffClerkRelationDTO.getEnterpriseId();
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
......@@ -406,12 +411,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 +418,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 +483,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 +547,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 +568,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 +612,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();
......@@ -644,6 +647,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("特殊欢迎语 state:{}", state);
WelcomeReferBO welcomeReferBo = getWelcomeReferBo(state);
welcomeDetailBO = welcomeService.getMatchWelcomeWithReferId(staffId, wxEnterpriseId, welcomeReferBo);
//结束临时会话模式
log.info("结束临时会话模式:userid:{},externalUserid:{}",dto.getWxUserId(),dto.getExternalUserid());
QywxResponseDTO qywxResponseDTO = qywxUserApiService.closeTempChat(corpid, config.getWxSuiteid(), dto.getWxUserId(), dto.getExternalUserid());
log.info("结束临时会话返回结果:{}",JSON.toJSONString(qywxResponseDTO));
} else {
welcomeDetailBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId);
}
......@@ -652,11 +659,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();
......
......@@ -105,6 +105,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
HmGroupInfoQO groupInfoQo = new HmGroupInfoQO();
BeanUtils.copyProperties(groupQueryDTO, groupInfoQo);
groupInfoQo.setWxEnterpriseId(null);
groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode());
Page<HmGroupSettingBO> groupSettingPage = groupService.queryGroupSettingList(groupInfoQo);
......
......@@ -230,8 +230,7 @@
and status_flag = 1
</select>
<update id="delByUserIdAndExternalUserId"
parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated">
<update id="delByUserIdAndExternalUserId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
update tab_haoban_external_clerk_related
set status_flag = 2,
update_time = now()
......
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