Commit ede972c4 by fudahua

企业微信标签同步

parent 1a4a14aa
......@@ -50,11 +50,23 @@ public class QywxTagInfoDTO implements Serializable {
*
*/
private Date updateTime;
/**
* 标签id
*/
private String memberTagId;
/**
*/
private static final long serialVersionUID = 1L;
public String getMemberTagId() {
return memberTagId;
}
public void setMemberTagId(String memberTagId) {
this.memberTagId = memberTagId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag.qywx_tag_id
*
......
......@@ -61,10 +61,20 @@ public class QywxTagItemDTO implements Serializable {
*/
private Date updateTime;
private String memberTagItemId;
/**
*/
private static final long serialVersionUID = 1L;
public String getMemberTagItemId() {
return memberTagItemId;
}
public void setMemberTagItemId(String memberTagItemId) {
this.memberTagItemId = memberTagItemId;
}
/**
* This method returns the value of the database column tab_haoban_qywx_tag_item.qywx_tag_item_id
*
......
......@@ -4,15 +4,25 @@ package com.gic.haoban.manage.api.enums;
* Created by hua on 2021/6/21.
*/
public enum QywxTagRelationTypeEnum {
TAG_GROUP(0, "标签组"),
TAG_ITEM(1, "标签项");
TAG_GROUP(0, "标签组", "tag_group"),
TAG_ITEM(1, "标签项", "tag");
private int type;
private String name;
private String tagType;
QywxTagRelationTypeEnum(int type, String name) {
QywxTagRelationTypeEnum(int type, String name, String tagType) {
this.type = type;
this.name = name;
this.tagType = tagType;
}
public String getTagType() {
return tagType;
}
public void setTagType(String tagType) {
this.tagType = tagType;
}
public int getType() {
......@@ -30,4 +40,14 @@ public enum QywxTagRelationTypeEnum {
public void setName(String name) {
this.name = name;
}
public static QywxTagRelationTypeEnum getByTagType(String type) {
QywxTagRelationTypeEnum[] values = QywxTagRelationTypeEnum.values();
for (QywxTagRelationTypeEnum value : values) {
if (value.getTagType().equals(type)) {
return value;
}
}
return null;
}
}
......@@ -58,4 +58,13 @@ public interface QywxTagItemMapper {
* @return
*/
int delByQywxTagGroupKey(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagGroupKey") String qywxTagGroupKey);
/**
* 根据id 获取标签项信息
*
* @param wxEnterpriseId
* @param qywxTagKey
* @return
*/
TabQywxTagItem getByQywxTagKey(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagKey") String qywxTagKey);
}
\ No newline at end of file
......@@ -47,7 +47,7 @@ public interface QywxTagRelationMapper {
* @param memberTagId
* @return
*/
List<TabQywxTagRelation> listByTagId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("memberTagId") String memberTagId);
List<TabQywxTagRelation> listByMemberTagId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("memberTagId") String memberTagId);
/**
* 删除同步信息
......@@ -57,4 +57,13 @@ public interface QywxTagRelationMapper {
* @return
*/
int delByMemberTagId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("memberTagId") String memberTagId);
/**
* 查询企业下所有同步的
*
* @param wxEnterpriseId
* @param qywxTagId
* @return
*/
List<TabQywxTagRelation> listByQywxTagId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("qywxTagId") String qywxTagId);
}
\ No newline at end of file
......@@ -27,6 +27,15 @@ public interface QywxTagService {
public TabQywxTag getQywxTagByQywxGroupKey(String wxEnterpriseId, String groupKey);
/**
* 根据标签组key 查询详情
*
* @param wxEnterpriseId
* @param id
* @return
*/
public TabQywxTag getQywxTagByQywxTagId(String wxEnterpriseId, String id);
/**
* 根据id 查询列表
*
* @param wxEnterpriseId
......@@ -100,7 +109,15 @@ public interface QywxTagService {
* @param memberTagId
* @return
*/
public TabQywxTagRelation getQywxTagRelationByMemberTagId(String memberTagId);
public List<TabQywxTagRelation> listQywxTagRelationByMemberTagId(String wxEnterpriseId, String memberTagId);
/**
* 根据qywxTagId查询
*
* @param qywxTagId
* @return
*/
public List<TabQywxTagRelation> listQywxTagRelationByQywxTagId(String wxEnterpriseId, String qywxTagId);
/**
* 删除企业微信的标签
......@@ -110,4 +127,25 @@ public interface QywxTagService {
* @return
*/
public boolean delQywxTag(String groupKey, String wxEnterpriseId);
/**
* 根据企业微信的标签项获取 标签项
*
* @param wxEnterpriseId
* @param qywxTagKey
* @return
*/
public TabQywxTagItem getQywxTagItemByQywxItemKey(String wxEnterpriseId, String qywxTagKey);
/**
* 删除标签项
*
* @param wxEnterpriseId
* @param id
* @return
*/
public boolean delQywxTagItemById(String wxEnterpriseId, String id);
}
......@@ -43,6 +43,11 @@ public class QywxTagServiceImpl implements QywxTagService {
}
@Override
public TabQywxTag getQywxTagByQywxTagId(String wxEnterpriseId, String id) {
return qywxTagMapper.selectByPrimaryKey(id);
}
@Override
public List<TabQywxTagItem> listByQywxTagId(String wxEnterpriseId, String qywxTagId) {
return qywxTagItemMapper.listByQywxTagId(wxEnterpriseId, qywxTagId);
}
......@@ -158,7 +163,28 @@ public class QywxTagServiceImpl implements QywxTagService {
}
@Override
public TabQywxTagRelation getQywxTagRelationByMemberTagId(String memberTagId) {
return null;
public List<TabQywxTagRelation> listQywxTagRelationByMemberTagId(String wxEnterpriseId, String memberTagId) {
return qywxTagRelationMapper.listByMemberTagId(wxEnterpriseId, memberTagId);
}
@Override
public List<TabQywxTagRelation> listQywxTagRelationByQywxTagId(String wxEnterpriseId, String qywxTagId) {
List<TabQywxTagRelation> ret = qywxTagRelationMapper.listByQywxTagId(wxEnterpriseId, qywxTagId);
return ret;
}
@Override
public TabQywxTagItem getQywxTagItemByQywxItemKey(String wxEnterpriseId, String qywxTagKey) {
return qywxTagItemMapper.getByQywxTagKey(wxEnterpriseId, qywxTagKey);
}
@Override
public boolean delQywxTagItemById(String wxEnterpriseId, String id) {
TabQywxTagItem item = new TabQywxTagItem();
item.setQywxTagItemId(id);
item.setUpdateTime(new Date());
item.setStatusFlag(0);
qywxTagItemMapper.updateByPrimaryKey(item);
return true;
}
}
......@@ -7,6 +7,7 @@ import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.QywxTagRelationTypeEnum;
import com.gic.haoban.manage.api.service.QywxTagApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabQywxTag;
import com.gic.haoban.manage.service.entity.TabQywxTagItem;
import com.gic.haoban.manage.service.entity.TabQywxTagRelation;
......@@ -18,6 +19,7 @@ import com.gic.wechat.api.dto.qywx.response.QywxGetCorpTagListDTO;
import com.gic.wechat.api.dto.qywx.response.QywxResponseDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -99,7 +101,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
//保存关联关系
saveRelation(wxEnterpriseId, enterpriseId, infoDTO, items, savePair);
//todo 后续处理 比如同步会员标签等
//todo 后续处理 比如同步会员标签等 操作标签项的会员同步过来
}
......@@ -117,16 +119,19 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
List<TabQywxTagItem> tabQywxTagItems = localQywxTagPair.getRight();
List<TabQywxTagRelation> saveRelationList = new ArrayList<>();
TabQywxTagRelation groupRelation = new TabQywxTagRelation();
groupRelation.setEnterpriseId(enterpriseId);
groupRelation.setMemberTagId(infoDTO.getQywxGroupKey());
groupRelation.setQywxTagId(groupKey.getQywxTagId());
groupRelation.setRelationType(QywxTagRelationTypeEnum.TAG_GROUP.getType());
groupRelation.setStatusFlag(1);
groupRelation.setSyncFlag(1);
groupRelation.setQywxTagRelationId(ToolUtil.randomUUID());
groupRelation.setWxEnterpriseId(wxEnterpriseId);
saveRelationList.add(groupRelation);
//如果存在qywxGroupKey 说明已经创建过了
if (StringUtils.isBlank(infoDTO.getQywxGroupKey())) {
TabQywxTagRelation groupRelation = new TabQywxTagRelation();
groupRelation.setEnterpriseId(enterpriseId);
groupRelation.setMemberTagId(infoDTO.getMemberTagId());
groupRelation.setQywxTagId(groupKey.getQywxTagId());
groupRelation.setRelationType(QywxTagRelationTypeEnum.TAG_GROUP.getType());
groupRelation.setStatusFlag(1);
groupRelation.setSyncFlag(1);
groupRelation.setQywxTagRelationId(ToolUtil.randomUUID());
groupRelation.setWxEnterpriseId(wxEnterpriseId);
saveRelationList.add(groupRelation);
}
List<TabQywxTagRelation> itemList = tabQywxTagItems.stream().map(tab -> {
QywxTagItemDTO orgItem = orgMap.get(tab.getQywxTagName());
TabQywxTagRelation itemRelation = new TabQywxTagRelation();
......@@ -136,7 +141,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
itemRelation.setStatusFlag(1);
itemRelation.setRelationType(QywxTagRelationTypeEnum.TAG_ITEM.getType());
itemRelation.setQywxTagId(groupKey.getQywxTagId());
itemRelation.setMemberTagId(infoDTO.getQywxGroupKey());
itemRelation.setMemberTagId(infoDTO.getMemberTagId());
itemRelation.setEnterpriseId(enterpriseId);
itemRelation.setQywxTagItemId(tab.getQywxTagItemId());
itemRelation.setTagItemId(orgItem.getQywxTagKey());
......@@ -158,11 +163,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
QywxTagGroupDTO qywxTagGroupDTO = new QywxTagGroupDTO();
qywxTagGroupDTO.setGroupName("GIC" + infoDTO.getQywxGroupName());
qywxTagGroupDTO.setOrder(infoDTO.getOrder());
qywxTagGroupDTO.setGroupId(infoDTO.getQywxGroupKey());
List<QywxTagDTO> tagItems = items.stream().map(item -> {
QywxTagDTO qywxTagDTO = new QywxTagDTO();
qywxTagDTO.setName(item.getQywxTagName());
qywxTagDTO.setOrder(item.getOrder());
qywxTagDTO.setId(item.getQywxTagKey());
return qywxTagDTO;
}).collect(Collectors.toList());
qywxTagGroupDTO.setTag(tagItems);
......@@ -173,13 +180,18 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
@Override
public void closeSync(String wxEnterpriseId, String memberTagId) {
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
List<TabQywxTagRelation> tagRelations = qywxTagService.listQywxTagRelationByMemberTagId(wxEnterpriseId, memberTagId);
if (CollectionUtils.isEmpty(tagRelations)) {
return;
}
TabQywxTag tabQywxTag = qywxTagService.getQywxTagByQywxTagId(wxEnterpriseId, tagRelations.get(0).getQywxTagId());
//关闭同步
qywxTagService.closeSync(wxEnterpriseId, memberTagId);
List<String> delIds = new ArrayList<>();
delIds.add(memberTagId);
QywxResponseDTO responseDTO = qywxSuiteApiService.delCorpTag(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), delIds, 0);
if (responseDTO.getErrcode() == 0) {
qywxTagService.delQywxTag(memberTagId, wxEnterpriseId);
qywxTagService.delQywxTag(tabQywxTag.getQywxGroupKey(), wxEnterpriseId);
}
}
......@@ -193,15 +205,232 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
@Override
public void addQywxTag(QywxTagCallbackDTO callbackDTO) {
logger.info("企业微信新增标签回调:{}", JSONObject.toJSONString(callbackDTO));
if (!config.getSuiteId().equals(callbackDTO.getSuiteId())) {
logger.info("非第三方回调");
return;
}
TabHaobanWxEnterprise wxEnterpriseDto = wxEnterpriseService.getEnterpriseBycorpId(callbackDTO.getAuthCorpId());
if (null == wxEnterpriseDto) {
logger.info("企业不存在:{}", callbackDTO.getAuthCorpId());
return;
}
QywxTagRelationTypeEnum relationTypeEnum = QywxTagRelationTypeEnum.getByTagType(callbackDTO.getTagType());
//标签组
if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_GROUP.getTagType()) {
TabQywxTag qywxGroupKey = qywxTagService.getQywxTagByQywxGroupKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxGroupKey) {
logger.info("原型不存在,不需要处理");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByQywxTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxGroupKey.getQywxTagId());
//没有同步的关系 删除保存企业微信标签
if (CollectionUtils.isEmpty(relations)) {
logger.info("删除保存的企业微信标签");
qywxTagService.delQywxTag(callbackDTO.getTagId(), wxEnterpriseDto.getWxEnterpriseId());
return;
}
List<String> groupIds = new ArrayList<>();
groupIds.add(callbackDTO.getTagId());
qywxSuiteApiService.delCorpTag(wxEnterpriseDto.getCorpid(), config.getWxSuiteid(), groupIds, QywxTagRelationTypeEnum.TAG_GROUP.getType());
//标签项
} else if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_ITEM.getTagType()) {
TabQywxTagItem qywxTagItem = qywxTagService.getQywxTagItemByQywxItemKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxTagItem) {
logger.info("没有关联,无需操作");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByMemberTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagId());
if (CollectionUtils.isEmpty(relations)) {
logger.info("直接删除标签项");
qywxTagService.delQywxTagItemById(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagItemId());
return;
}
List<String> items = new ArrayList<>();
items.add(callbackDTO.getTagId());
qywxSuiteApiService.delCorpTag(wxEnterpriseDto.getCorpid(), config.getWxSuiteid(), items, QywxTagRelationTypeEnum.TAG_ITEM.getType());
}
}
@Override
public void delQywxTag(QywxTagCallbackDTO callbackDTO) {
logger.info("企业微信删除标签回调:{}", JSONObject.toJSONString(callbackDTO));
if (!config.getSuiteId().equals(callbackDTO.getSuiteId())) {
logger.info("非第三方回调");
return;
}
TabHaobanWxEnterprise wxEnterpriseDto = wxEnterpriseService.getEnterpriseBycorpId(callbackDTO.getAuthCorpId());
if (null == wxEnterpriseDto) {
logger.info("企业不存在:{}", callbackDTO.getAuthCorpId());
return;
}
QywxTagRelationTypeEnum relationTypeEnum = QywxTagRelationTypeEnum.getByTagType(callbackDTO.getTagType());
//标签组
if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_GROUP.getTagType()) {
TabQywxTag qywxGroupKey = qywxTagService.getQywxTagByQywxGroupKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxGroupKey) {
logger.info("原型不存在,不需要处理");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByQywxTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxGroupKey.getQywxTagId());
//没有同步的关系 删除保存企业微信标签
if (CollectionUtils.isEmpty(relations)) {
logger.info("删除保存的企业微信标签");
qywxTagService.delQywxTag(callbackDTO.getTagId(), wxEnterpriseDto.getWxEnterpriseId());
return;
}
//存在同步关系 需要回写回去
List<TabQywxTagItem> tabQywxTagItems = qywxTagService.listByQywxTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxGroupKey.getQywxTagId());
this.reSyncTagGroupBack(wxEnterpriseDto.getWxEnterpriseId(), relations, qywxGroupKey, tabQywxTagItems);
//标签项
} else if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_ITEM.getTagType()) {
TabQywxTagItem qywxTagItem = qywxTagService.getQywxTagItemByQywxItemKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxTagItem) {
logger.info("没有关联,无需操作");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByMemberTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagId());
if (CollectionUtils.isEmpty(relations)) {
logger.info("直接删除标签项");
qywxTagService.delQywxTagItemById(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagItemId());
return;
}
//同步
reSyncQywxTagItem(wxEnterpriseDto.getWxEnterpriseId(), relations, qywxTagItem);
}
}
/**
* 重新同步
*
* @param wxEnterpriseId
* @param relations
* @param qywxGroupKey
* @param tabQywxTagItems
*/
private void reSyncTagGroupBack(String wxEnterpriseId, List<TabQywxTagRelation> relations, TabQywxTag qywxGroupKey, List<TabQywxTagItem> tabQywxTagItems) {
TabQywxTagRelation tagRelation = relations.get(0);
String enterpriseId = tagRelation.getEnterpriseId();
String memberTagId = tagRelation.getMemberTagId();
//关闭同步
qywxTagService.closeSync(wxEnterpriseId, memberTagId);
qywxTagService.delQywxTag(qywxGroupKey.getQywxGroupKey(), wxEnterpriseId);
//重新同步
Map<String, TabQywxTagRelation> relationMap = relations.stream().collect(Collectors.toMap(dto -> {
if (dto.getRelationType() == QywxTagRelationTypeEnum.TAG_GROUP.getType()) {
return dto.getQywxTagId();
} else {
return dto.getQywxTagItemId();
}
}, dto -> dto));
QywxTagInfoDTO qywxTagInfoDTO = new QywxTagInfoDTO();
qywxTagInfoDTO.setQywxGroupKey(memberTagId);
qywxTagInfoDTO.setQywxGroupName(qywxGroupKey.getQywxGroupName());
qywxTagInfoDTO.setWxEnterpriseId(qywxGroupKey.getWxEnterpriseId());
List<QywxTagItemDTO> items = tabQywxTagItems.stream().map(item -> {
TabQywxTagRelation relation = relationMap.get(item.getQywxTagItemId());
QywxTagItemDTO mid = new QywxTagItemDTO();
mid.setQywxTagKey(relation.getTagItemId());
mid.setQywxTagName(item.getQywxTagName());
return mid;
}).collect(Collectors.toList());
//同步回去
this.syncTagToQywx(wxEnterpriseId, enterpriseId, qywxTagInfoDTO, items);
}
/**
* 同步标签项
*
* @param wxEnterpriseId
* @param qywxTagItem
*/
private void reSyncQywxTagItem(String wxEnterpriseId, List<TabQywxTagRelation> relations, TabQywxTagItem qywxTagItem) {
//删除标签
qywxTagService.delQywxTagItemById(wxEnterpriseId, qywxTagItem.getQywxTagItemId());
//同步标签项
TabQywxTag qywxGroupKey = qywxTagService.getQywxTagByQywxGroupKey(wxEnterpriseId, qywxTagItem.getQywxGroupKey());
//各自关联关系
TabQywxTagRelation groupRelation = relations.stream().filter(dto -> dto.getRelationType() == QywxTagRelationTypeEnum.TAG_GROUP.getType()).findFirst().get();
TabQywxTagRelation itemRelation = relations.stream().filter(dto -> (dto.getRelationType() == QywxTagRelationTypeEnum.TAG_ITEM.getType() && qywxTagItem.getQywxTagItemId().equals(dto.getQywxTagItemId()))).findFirst().orElse(null);
QywxTagInfoDTO qywxTagInfoDTO = new QywxTagInfoDTO();
qywxTagInfoDTO.setWxEnterpriseId(wxEnterpriseId);
qywxTagInfoDTO.setMemberTagId(groupRelation.getMemberTagId());
qywxTagInfoDTO.setQywxGroupKey(qywxGroupKey.getQywxGroupKey());
qywxTagInfoDTO.setOrder(qywxGroupKey.getOrder());
List<QywxTagItemDTO> itemList = new ArrayList<>();
QywxTagItemDTO qywxTagItemDTO = new QywxTagItemDTO();
qywxTagItemDTO.setMemberTagItemId(itemRelation.getTagItemId());
qywxTagItemDTO.setQywxTagName(qywxTagItem.getQywxTagName());
qywxTagItemDTO.setWxEnterpriseId(wxEnterpriseId);
qywxTagItemDTO.setOrder(qywxTagItem.getOrder());
itemList.add(qywxTagItemDTO);
//同步
this.syncTagToQywx(wxEnterpriseId, groupRelation.getEnterpriseId(), qywxTagInfoDTO, itemList);
}
@Override
public void editQywxTag(QywxTagCallbackDTO callbackDTO) {
logger.info("企业微信修改标签回调:{}", JSONObject.toJSONString(callbackDTO));
if (!config.getSuiteId().equals(callbackDTO.getSuiteId())) {
logger.info("非第三方回调");
return;
}
TabHaobanWxEnterprise wxEnterpriseDto = wxEnterpriseService.getEnterpriseBycorpId(callbackDTO.getAuthCorpId());
if (null == wxEnterpriseDto) {
logger.info("企业不存在:{}", callbackDTO.getAuthCorpId());
return;
}
QywxTagRelationTypeEnum relationTypeEnum = QywxTagRelationTypeEnum.getByTagType(callbackDTO.getTagType());
//标签组
if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_GROUP.getTagType()) {
TabQywxTag qywxGroupKey = qywxTagService.getQywxTagByQywxGroupKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxGroupKey) {
logger.info("原型不存在,不需要处理");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByQywxTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxGroupKey.getQywxTagId());
//没有同步的关系 删除保存企业微信标签
if (CollectionUtils.isEmpty(relations)) {
logger.info("删除保存的企业微信标签");
qywxTagService.delQywxTag(callbackDTO.getTagId(), wxEnterpriseDto.getWxEnterpriseId());
return;
}
//名称同步回去
QywxTagDTO qywxTagDTO = new QywxTagDTO();
qywxTagDTO.setId(callbackDTO.getTagId());
qywxTagDTO.setName(qywxGroupKey.getQywxGroupName());
qywxTagDTO.setOrder(qywxGroupKey.getOrder());
qywxSuiteApiService.editCorpTagNameOrOrder(wxEnterpriseDto.getCorpid(), config.getWxSuiteid(), qywxTagDTO);
//标签项
} else if (relationTypeEnum.getTagType() == QywxTagRelationTypeEnum.TAG_ITEM.getTagType()) {
TabQywxTagItem qywxTagItem = qywxTagService.getQywxTagItemByQywxItemKey(wxEnterpriseDto.getWxEnterpriseId(), callbackDTO.getTagId());
if (null == qywxTagItem) {
logger.info("没有关联,无需操作");
return;
}
List<TabQywxTagRelation> relations = qywxTagService.listQywxTagRelationByMemberTagId(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagId());
if (CollectionUtils.isEmpty(relations)) {
logger.info("直接删除标签项");
qywxTagService.delQywxTagItemById(wxEnterpriseDto.getWxEnterpriseId(), qywxTagItem.getQywxTagItemId());
return;
}
//名称同步回去
QywxTagDTO qywxTagDTO = new QywxTagDTO();
qywxTagDTO.setId(callbackDTO.getTagId());
qywxTagDTO.setName(qywxTagItem.getQywxTagName());
qywxTagDTO.setOrder(qywxTagItem.getOrder());
qywxSuiteApiService.editCorpTagNameOrOrder(wxEnterpriseDto.getCorpid(), config.getWxSuiteid(), qywxTagDTO);
}
}
}
......@@ -178,4 +178,13 @@
and wx_enterprise_id=#{wxEnterpriseId}
</update>
<select id="getByQywxTagKey" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag_item
where qywx_tag_key = #{qywxTagKey}
and status_flag=1
and wx_enterprise_id=#{wxEnterpriseId}
</select>
</mapper>
\ No newline at end of file
......@@ -196,13 +196,14 @@
and status_flag=1
</select>
<select id="listByTagId" parameterType="java.lang.String" resultMap="BaseResultMap">
<select id="listByMemberTagId" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag_relation
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and member_tag_id = #{memberTagId,jdbcType=VARCHAR}
and status_flag=1
and sync_flag=1
</select>
<update id="delByMemberTagId">
update tab_haoban_qywx_tag_relation
......@@ -213,4 +214,14 @@
and member_tag_id = #{memberTagId,jdbcType=VARCHAR}
and status_flag=1
</update>
<select id="listByQywxTagId" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_qywx_tag_relation
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and qywx_tag_id = #{qywxTagId,jdbcType=VARCHAR}
and status_flag=1
and sync_flag=1
</select>
</mapper>
\ No newline at end of file
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