Commit 9437255c by guojx

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

parents 04d635a2 894fb9f8
...@@ -21,7 +21,7 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -21,7 +21,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId") String clerkId, TabHaobanExternalClerkRelated selectByClerkIdAndExternalUserId(@Param("clerkId") String clerkId,
@Param("externalUserId") String externalUserId); @Param("externalUserId") String externalUserId);
void delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record); int delByUserIdAndExternalUserId(TabHaobanExternalClerkRelated record);
void delByUserIdAndExternalUserIdBatch(@Param("wxUserId") String wxUserId, void delByUserIdAndExternalUserIdBatch(@Param("wxUserId") String wxUserId,
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxEnterpriseId") String wxEnterpriseId,
......
...@@ -11,6 +11,10 @@ public interface ExternalClerkRelatedService { ...@@ -11,6 +11,10 @@ public interface ExternalClerkRelatedService {
void insert(TabHaobanExternalClerkRelated related); void insert(TabHaobanExternalClerkRelated related);
/**
* 删除好友
* @param dto
*/
void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto); void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto);
/** /**
......
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
...@@ -69,7 +70,11 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -69,7 +70,11 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Override @Override
public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto) { 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 wxUserId = dto.getWxUserId();
String externalUserid = dto.getExternalUserid(); String externalUserid = dto.getExternalUserid();
List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, wxUserId, 2); List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, wxUserId, 2);
......
...@@ -69,6 +69,7 @@ import com.gic.member.tag.api.service.MemberTagOpenApiService; ...@@ -69,6 +69,7 @@ import com.gic.member.tag.api.service.MemberTagOpenApiService;
import com.gic.mq.sdk.GicMQClient; import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.*; 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.dto.qywx.welcome.*;
import com.gic.wechat.api.enums.QywxMediaTypeEnum; import com.gic.wechat.api.enums.QywxMediaTypeEnum;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService; import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
...@@ -326,6 +327,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -326,6 +327,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("staff不存在:{},{}", dto.getUnionid(), dto.getWxUserId()); log.info("staff不存在:{},{}", dto.getUnionid(), dto.getWxUserId());
return; return;
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("未查询到企业:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
String staffId = staff.getStaffId(); String staffId = staff.getStaffId();
String staffName = staff.getStaffName() ; String staffName = staff.getStaffName() ;
String staffWxUserId = staff.getWxUserId(); String staffWxUserId = staff.getWxUserId();
...@@ -389,16 +395,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -389,16 +395,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if (mainStoreRelated == null) { if (mainStoreRelated == null) {
log.info("【新增外部联系人】主门店为空:{}", staffId); log.info("【新增外部联系人】主门店为空:{}", staffId);
// 无主门店仅发送欢迎语 // 无主门店仅发送欢迎语
sendWelcome(dto, wxEnterpriseId, null, staffId, null); sendWelcome(dto, wxEnterpriseDTO, null, staffId, null);
return; return;
} }
staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, mainStoreRelated.getStoreId()); staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, mainStoreRelated.getStoreId());
}
if (staffClerkRelationDTO == null) { if (staffClerkRelationDTO == null) {
log.info("【新增外部联系人】导购和clerk关联为空"); log.info("【新增外部联系人】导购和clerk关联为空");
return; return;
} }
}
String enterpriseId = staffClerkRelationDTO.getEnterpriseId(); String enterpriseId = staffClerkRelationDTO.getEnterpriseId();
TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId); TabHaobanWxEnterpriseRelated wxEnterpriseRelated = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
if (wxEnterpriseRelated == null) { if (wxEnterpriseRelated == null) {
...@@ -406,12 +411,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -406,12 +411,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return; return;
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("未查询到企业:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
String memberId = ""; String memberId = "";
if (StringUtils.isNotBlank(unionid)) { if (StringUtils.isNotBlank(unionid)) {
log.info("有unionid处理:wxEnterpriseId:{},unionid:{}", wxEnterpriseId, unionid); log.info("有unionid处理:wxEnterpriseId:{},unionid:{}", wxEnterpriseId, unionid);
...@@ -419,7 +418,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -419,7 +418,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberId = addExternalClerkRelated(dto, staffId, staffClerkRelationDTO, wxEnterpriseRelated,isHmUnionid); memberId = addExternalClerkRelated(dto, staffId, staffClerkRelationDTO, wxEnterpriseRelated,isHmUnionid);
} else { } else {
log.info("发送欢迎语逻辑:wxEnterpriseId:{}", wxEnterpriseId); log.info("发送欢迎语逻辑:wxEnterpriseId:{}", wxEnterpriseId);
addFriendByWelcome(dto, staffClerkRelationDTO); addFriendByWelcome(dto,staffClerkRelationDTO);
} }
if (StringUtils.isNotBlank(memberId) && hmQrcodeDTO != null) { if (StringUtils.isNotBlank(memberId) && hmQrcodeDTO != null) {
...@@ -484,6 +483,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -484,6 +483,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
addFriendByWelcome(dto, staffClerkRelationDTO); addFriendByWelcome(dto, staffClerkRelationDTO);
return ""; return "";
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
//新增导购和外部联系人关系 //新增导购和外部联系人关系
String clerkId = staffClerkRelationDTO.getClerkId(); String clerkId = staffClerkRelationDTO.getClerkId();
String clerkCode = staffClerkRelationDTO.getClerkCode(); String clerkCode = staffClerkRelationDTO.getClerkCode();
...@@ -547,7 +547,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -547,7 +547,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setStatusFlag(1); exsitDTO.setStatusFlag(1);
externalClerkRelatedService.update(exsitDTO); externalClerkRelatedService.update(exsitDTO);
} }
sendWelcome(dto, wxEnterpriseId, enterpriseId, staffId, clerkId); sendWelcome(dto, wxEnterpriseDTO, enterpriseId, staffId, clerkId);
//同步好友标签 //同步好友标签
pushTagSync(memberId, wxEnterpriseId, enterpriseId); pushTagSync(memberId, wxEnterpriseId, enterpriseId);
//回调给会员,更新是否为企微好友 //回调给会员,更新是否为企微好友
...@@ -568,8 +568,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -568,8 +568,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String relationKey = SecureUtil.md5(staffId + dto.getExternalUserid()); String relationKey = SecureUtil.md5(staffId + dto.getExternalUserid());
String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId(); String wxEnterpriseId = staffClerkRelationDTO.getWxEnterpriseId();
String enterpriseId = staffClerkRelationDTO.getEnterpriseId(); 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()); List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, dto.getExternalUserid(), dto.getWxUserId());
...@@ -611,14 +612,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -611,14 +612,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* 发送欢迎语 * 发送欢迎语
* *
* @param dto * @param dto
* @param wxEnterpriseId * @param wxEnterpriseDTO
* @param enterpriseId * @param enterpriseId
* @param staffId * @param staffId
*/ */
private void sendWelcome(MemberUnionidRelatedDTO dto, String wxEnterpriseId, String enterpriseId, String staffId, String clerkId) { private void sendWelcome(MemberUnionidRelatedDTO dto, WxEnterpriseDTO wxEnterpriseDTO, String enterpriseId, String staffId, String clerkId) {
log.info("发送欢迎语:dto:{},wxEnterpriseId:{},staffId:{}", JSONObject.toJSONString(dto), wxEnterpriseId, staffId); log.info("发送欢迎语:dto:{},staffId:{}", JSONObject.toJSONString(dto), staffId);
String welcomeCode = dto.getWelcomeCode(); String welcomeCode = dto.getWelcomeCode();
String state = dto.getState(); String state = dto.getState();
String wxEnterpriseId = wxEnterpriseDTO.getWxEnterpriseId();
String corpid = wxEnterpriseDTO.getCorpid();
if (StringUtils.isBlank(welcomeCode)) { if (StringUtils.isBlank(welcomeCode)) {
log.error("welcomeCode为空,请检查是否使用企微的欢迎语:{}", wxEnterpriseId); log.error("welcomeCode为空,请检查是否使用企微的欢迎语:{}", wxEnterpriseId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance(); GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
...@@ -644,6 +647,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -644,6 +647,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("特殊欢迎语 state:{}", state); log.info("特殊欢迎语 state:{}", state);
WelcomeReferBO welcomeReferBo = getWelcomeReferBo(state); WelcomeReferBO welcomeReferBo = getWelcomeReferBo(state);
welcomeDetailBO = welcomeService.getMatchWelcomeWithReferId(staffId, wxEnterpriseId, welcomeReferBo); 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 { } else {
welcomeDetailBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId); welcomeDetailBO = welcomeService.getMatchWelcome(staffId, wxEnterpriseId);
} }
...@@ -652,11 +659,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -652,11 +659,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("欢迎语未配置:wxEnterpriseId:{}", wxEnterpriseId); log.info("欢迎语未配置:wxEnterpriseId:{}", wxEnterpriseId);
return; return;
} }
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
log.info("微信企业不存在:wxEnterpriseId:{}", wxEnterpriseId);
return;
}
//内容 //内容
String content = welcomeDetailBO.getWelcomeContent().replaceAll("<微信昵称>", dto.getExternalName()); String content = welcomeDetailBO.getWelcomeContent().replaceAll("<微信昵称>", dto.getExternalName());
QywxWelcomeMsgDTO qywxWelcomeMsgDTO = new QywxWelcomeMsgDTO(); QywxWelcomeMsgDTO qywxWelcomeMsgDTO = new QywxWelcomeMsgDTO();
......
...@@ -105,6 +105,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService { ...@@ -105,6 +105,7 @@ public class HmGroupApiServiceImpl implements HmGroupApiService {
HmGroupInfoQO groupInfoQo = new HmGroupInfoQO(); HmGroupInfoQO groupInfoQo = new HmGroupInfoQO();
BeanUtils.copyProperties(groupQueryDTO, groupInfoQo); BeanUtils.copyProperties(groupQueryDTO, groupInfoQo);
groupInfoQo.setWxEnterpriseId(null);
groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode()); groupInfoQo.setStatus(HmGroupStatus.ENABLE.getCode());
Page<HmGroupSettingBO> groupSettingPage = groupService.queryGroupSettingList(groupInfoQo); Page<HmGroupSettingBO> groupSettingPage = groupService.queryGroupSettingList(groupInfoQo);
......
...@@ -230,8 +230,7 @@ ...@@ -230,8 +230,7 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<update id="delByUserIdAndExternalUserId" <update id="delByUserIdAndExternalUserId" parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated" >
parameterType="com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated">
update tab_haoban_external_clerk_related update tab_haoban_external_clerk_related
set status_flag = 2, set status_flag = 2,
update_time = now() 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