Commit 76f36682 by 墨竹

Merge branch 'feature/2022-0104' into developer

parents 85e7d1db da9bb241
......@@ -89,7 +89,7 @@ public interface ExternalClerkRelatedApiService {
*
* @return
*/
List<ExternalClerkRelatedDTO> listExternalClerkByWxUserIdAncExternalUserId(String wxEnterpriseId, String wxUserId, String enterpriseId, String externalUserId);
ExternalClerkRelatedDTO getExternalClerkByWxUserIdAncExternalUserId(String wxEnterpriseId, String wxUserId, String enterpriseId, String externalUserId);
/**
* 根据id查询列表
......
......@@ -68,5 +68,7 @@ public interface MemberUnionidRelatedMapper {
* @author mozhu
* @date 2021-12-29 16:30:43
*/
int updateExternalUserIdByOldExternalUserId(String new_external_userid, String external_userid, String wxEnterpriseId);
int updateExternalUserIdByOldExternalUserId(@Param("newExternalUserId") String new_external_userid,
@Param("oldExternalUserId") String external_userid,
@Param("wxEnterpriseId") String wxEnterpriseId);
}
\ No newline at end of file
......@@ -100,7 +100,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @param externalUserId
* @return
*/
List<TabHaobanExternalClerkRelated> listExternalClerkByWxUserIdAncExternalUserId(
TabHaobanExternalClerkRelated getExternalClerkByWxUserIdAncExternalUserId(
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxUserId") String wxUserId,
@Param("enterpriseId") String enterpriseId, @Param("externalUserId") String externalUserId);
......
......@@ -12,10 +12,14 @@ import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.AlertMessageDTO;
import com.gic.haoban.manage.api.dto.ClerkStaffWxUserDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedShortInfoDTO;
import com.gic.haoban.manage.api.enums.AlertTypeEnum;
import com.gic.haoban.manage.api.service.CheckQywxSettingApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.*;
......@@ -63,6 +67,8 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
private ExternalUseridLogMapper externalUseridLogMapper;
@Autowired
private CheckQywxSettingApiService checkQywxSettingApiService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService;
/**
* 查询导购好友关联
......@@ -203,9 +209,9 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
@Override
public List<ExternalClerkRelatedDTO> listExternalClerkByWxUserIdAncExternalUserId(String wxEnterpriseId, String wxUserId, String enterpriseId, String externalUserId) {
List<TabHaobanExternalClerkRelated> list = tabHaobanExternalClerkRelatedMapper.listExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, enterpriseId, externalUserId);
return EntityUtil.changeEntityListNew(ExternalClerkRelatedDTO.class, list);
public ExternalClerkRelatedDTO getExternalClerkByWxUserIdAncExternalUserId(String wxEnterpriseId, String wxUserId, String enterpriseId, String externalUserId) {
TabHaobanExternalClerkRelated externalClerkRelated = tabHaobanExternalClerkRelatedMapper.getExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, enterpriseId, externalUserId);
return EntityUtil.changeEntityNew(ExternalClerkRelatedDTO.class, externalClerkRelated);
}
@Override
......@@ -320,10 +326,10 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
String lockKey = "updateNewExternalUserid_" + wxEnterpriseId;
if (RedisUtil.isLocked(lockKey)) {
log.info("redis锁,lockKey:{}",lockKey);
log.info("redis锁,lockKey:{}", lockKey);
return false;
}
RedisUtil.lock(lockKey,1L,TimeUnit.DAYS,0L);
RedisUtil.lock(lockKey, 1L, TimeUnit.DAYS, 0L);
try {
updateNewExUserId(tabHaobanWxEnterprise.getWxEnterpriseId(), tabHaobanWxEnterprise.getCorpid());
log.info("企业外部联系人id end,wxEnterpriseId:{}", wxEnterpriseId);
......@@ -339,6 +345,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Override
public void updateNewExternalUseridMq(String res) {
log.info("更新新的外部联系人id mq,start");
try {
JSONObject jsonObject = JSON.parseObject(res);
String corpid = jsonObject.getString("corpid");
String wxEnterpriseId = jsonObject.getString("wxEnterpriseId");
......@@ -378,7 +385,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
log.info("更新新的外部联系人id最后一页,设置迁移完成:flag:{}", flag);
if (flag) {
//成功
wxEnterriseMapper.updateExternalFlagById(1, wxEnterpriseId);
wxEnterpriseApiService.agreeExternalUseridFlag(wxEnterpriseId, 1);
} else {
//失败
wxEnterriseMapper.updateExternalFlagById(3, wxEnterpriseId);
......@@ -388,6 +395,10 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
}
}
log.info("更新新的外部联系人id mq,end");
} catch (Exception e) {
log.info("更新新的外部联系人id mq报错:{},res:{}", e.getMessage(), res, e);
}
}
/**
......@@ -400,7 +411,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
*/
private void updateNewExUserId(String wxEnterpriseId, String corpid) {
wxEnterriseMapper.updateExternalFlagById(2, wxEnterpriseId);
messageAlert(wxEnterpriseId,"更新新的外部联系人id");
messageAlert(wxEnterpriseId, "更新新的外部联系人id");
// 限流器
RRateLimiter rateLimiter = RedisUtil.getRedisClient().getRateLimiter("haoban:manage3:updateNewExUserId:limit");
// 每1秒产生5个令牌
......@@ -462,7 +473,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
* @param wxEnterpriseId wx企业标识
* @param titleSub 子标题
*/
private void messageAlert(String wxEnterpriseId,String titleSub) {
private void messageAlert(String wxEnterpriseId, String titleSub) {
ProviderLocalTag providerLocalTag = ProviderLocalTag.tag.get();
String traceId = providerLocalTag.traceId;
AlertMessageDTO messageDTO = new AlertMessageDTO();
......
......@@ -440,7 +440,7 @@
and status_flag in (3, 4)
</update>
<select id="listExternalClerkByWxUserIdAncExternalUserId" resultMap="BaseResultMap">
<select id="getExternalClerkByWxUserIdAncExternalUserId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_external_clerk_related
......@@ -449,7 +449,7 @@
and enterprise_id = #{enterpriseId}
and external_user_id = #{externalUserId}
and status_flag in(1,3,4)
order by update_time desc
order by update_time desc limit 1
</select>
<select id="listByMemberIdAndWxEnterpriseId" resultMap="BaseResultMap">
......
......@@ -413,21 +413,20 @@ public class WxEnterpriseInfoController extends WebBaseController {
logger.info("请刷新好友");
return resultResponse(HaoBanErrCode.ERR_11123);
}
List<ExternalClerkRelatedDTO> clerkRelatedDTOS = externalClerkRelatedApiService.listExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, gicEnterpriseId, memberUnionidRelatedDTO.getExternalUserid());
if (CollectionUtils.isEmpty(clerkRelatedDTOS)) {
logger.info("该企业没有对应需要发送的信息村子啊");
ExternalClerkRelatedDTO clerkRelatedDTO = externalClerkRelatedApiService.getExternalClerkByWxUserIdAncExternalUserId(wxEnterpriseId, wxUserId, gicEnterpriseId, memberUnionidRelatedDTO.getExternalUserid());
if (clerkRelatedDTO == null) {
logger.info("该企业没有对应需要发送好友关系的信息");
return resultResponse(HaoBanErrCode.ERR_11123);
}
MiniprogramSettingDTO settingDTO = wxEnterpriseApiService.getMiniprogramSettingByEid(wxEnterpriseId, gicEnterpriseId);
if (null == settingDTO) {
logger.info("该企业没有对应需要发送的信息村子啊");
logger.info("该企业没有对应需要发送的小程序信息");
return resultResponse(HaoBanErrCode.ERR_11124);
}
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(gicEnterpriseId);
ExternalClerkRelatedDTO clerkRelatedDTO = clerkRelatedDTOS.get(0);
MemberSendMessageVo memberSendMessageVo = new MemberSendMessageVo();
memberSendMessageVo.setRelationKey(clerkRelatedDTO.getRelationKey());
String relationKey = clerkRelatedDTO.getRelationKey();
memberSendMessageVo.setRelationKey(StringUtils.isNotBlank(relationKey) ? relationKey : "-1");
memberSendMessageVo.setImageUrl(settingDTO.getImageUrl());
memberSendMessageVo.setMediaId(settingDTO.getMediaId());
memberSendMessageVo.setSelfExteralUserId(externalUserid);
......
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