Commit 36103da9 by xugaojun

触发好友关联,代码优化

parent d82cc6ef
...@@ -71,6 +71,7 @@ public class EnterpriseController extends WebBaseController { ...@@ -71,6 +71,7 @@ public class EnterpriseController extends WebBaseController {
private static final String QYWX_TAG_OPRN_KEY = "qywx-tag-open"; private static final String QYWX_TAG_OPRN_KEY = "qywx-tag-open";
private static final String QYWX_TAG_OPRN_KEY_LOCK = "qywx-tag-open-lock"; private static final String QYWX_TAG_OPRN_KEY_LOCK = "qywx-tag-open-lock";
private static final String MEMBER_RELATE_ENT_OPE_KEY = "mbr:rel:ope:%s:string";
private static final int OPEN = 1; private static final int OPEN = 1;
private static final int CLOSE = 0; private static final int CLOSE = 0;
...@@ -133,6 +134,8 @@ public class EnterpriseController extends WebBaseController { ...@@ -133,6 +134,8 @@ public class EnterpriseController extends WebBaseController {
page = queryClose(pageInfo, keyword, gicContactHelper, version, wxEnterpriseIdInList, wxEnterpriseIdSetInCache, loginUserId); page = queryClose(pageInfo, keyword, gicContactHelper, version, wxEnterpriseIdInList, wxEnterpriseIdSetInCache, loginUserId);
} }
doProcessOpenSendMass(page.getResult());
pageResult.setList(page.getResult()); pageResult.setList(page.getResult());
pageResult.setPageNum(page.getCurrentPage()); pageResult.setPageNum(page.getCurrentPage());
pageResult.setPages(page.getPages()); pageResult.setPages(page.getPages());
...@@ -142,6 +145,20 @@ public class EnterpriseController extends WebBaseController { ...@@ -142,6 +145,20 @@ public class EnterpriseController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1, pageResult); return resultResponse(HaoBanErrCode.ERR_1, pageResult);
} }
private void doProcessOpenSendMass(List<YwWxEnterpriseDTO> list) {
if (CollectionUtil.isEmpty(list)) {
return;
}
list.forEach(one -> {
String wxEnterpriseId = one.getWxEnterpriseId();
String key = String.format(MEMBER_RELATE_ENT_OPE_KEY, wxEnterpriseId);
Object cache = RedisUtil.getCache(key);
if (Objects.nonNull(cache)) {
one.setOpenMassFlag(Boolean.FALSE);
}
});
}
private List<String> listWxEnterpriseIdByEnterpriseName(String gicEnterpriseName) { private List<String> listWxEnterpriseIdByEnterpriseName(String gicEnterpriseName) {
if (StringUtils.isEmpty(gicEnterpriseName)) { if (StringUtils.isEmpty(gicEnterpriseName)) {
return Collections.emptyList(); return Collections.emptyList();
...@@ -405,6 +422,16 @@ public class EnterpriseController extends WebBaseController { ...@@ -405,6 +422,16 @@ public class EnterpriseController extends WebBaseController {
*/ */
@RequestMapping("/send-stock-member-relation-message") @RequestMapping("/send-stock-member-relation-message")
public HaobanResponse sendMass(String wxEnterpriseId) { public HaobanResponse sendMass(String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
// 处理缓存
String key = String.format(MEMBER_RELATE_ENT_OPE_KEY, wxEnterpriseId);
String cacheString = RedisUtil.getCache(key, String.class);
if (StringUtils.isNotEmpty(cacheString)) {
return resultResponse(HaoBanErrCode.ERR_40001);
}
RedisUtil.setCache(key, "1", 60 * 60 * 24 * 7L);
// 异步调用 // 异步调用
groupSendOperateApiService.sendStockMemberRelationMessage(wxEnterpriseId); groupSendOperateApiService.sendStockMemberRelationMessage(wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
......
...@@ -80,6 +80,8 @@ public enum HaoBanErrCode { ...@@ -80,6 +80,8 @@ public enum HaoBanErrCode {
ERR_30001(30001,"已存在同步任务, 无法关闭"), ERR_30001(30001,"已存在同步任务, 无法关闭"),
ERR_40001(40001,"企业已操作会员关联, 请7天后重试"),
ERR_DEFINE(-888, "自定义错误"), ERR_DEFINE(-888, "自定义错误"),
ERR_OTHER(-999, "未知错误code"); ERR_OTHER(-999, "未知错误code");
private int code; private int code;
......
...@@ -34,9 +34,10 @@ import java.util.Objects; ...@@ -34,9 +34,10 @@ import java.util.Objects;
/** /**
* desc:添加微信好友关系消息消费处理器 * desc:添加微信好友关系消息消费处理器
* 逻辑来源: * 逻辑来源:
* @see MemberUnionidRelatedApiService#addMemberUnionidRelatedNew(com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO) *
* @author: YongEn * @author: YongEn
* @date: 2022/2/16 * @date: 2022/2/16
* @see MemberUnionidRelatedApiService#addMemberUnionidRelatedNew(com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO)
**/ **/
@Component @Component
public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProcessor<String, MemberUnionRelatedBO> { public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProcessor<String, MemberUnionRelatedBO> {
...@@ -58,10 +59,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce ...@@ -58,10 +59,6 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService; private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired @Autowired
private ClerkService clerkService;
@Autowired
private PowerService powerService;
@Autowired
private MemberService memberService; private MemberService memberService;
@Override @Override
...@@ -116,13 +113,13 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce ...@@ -116,13 +113,13 @@ public class AddMemberUnionRelateConsumerProcessor extends AbstractConsumerProce
} }
// 幂等 // 幂等
TabHaobanExternalClerkRelated haobanExternalClerkRelated = externalClerkRelatedService.getByParams(dto.getWxUserId(), wxEnterpriseId, dto.getExternalName(), dto.getAddCreateTime()); TabHaobanExternalClerkRelated haobanExternalClerkRelated = externalClerkRelatedService.getByParams(dto.getWxUserId(), wxEnterpriseId, dto.getExternalName(), dto.getAddCreateTime());
if (haobanExternalClerkRelated == null){ if (haobanExternalClerkRelated == null) {
logger.info("已经存在好友关系"); logger.info("已经存在好友关系");
return; return;
} }
MemberDTO member = memberService.getMemberByUnionid(dto.getUnionid(),enterpriseId); MemberDTO member = memberService.getMemberByUnionid(dto.getUnionid(), enterpriseId);
if (member == null) { if (member == null) {
logger.info("生产会员memnerid失败:{}", dto.getUnionid()); logger.info("会员信息不存在unionId:{}", dto.getUnionid());
return; return;
} }
String relationKey = SecureUtil.md5(staffId + externalUserid); String relationKey = SecureUtil.md5(staffId + 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