Commit c6b99676 by 王祖波

校验服务

parent 77b933c9
...@@ -9,6 +9,11 @@ import java.util.Date; ...@@ -9,6 +9,11 @@ import java.util.Date;
public class DealQwSendDTO implements Serializable { public class DealQwSendDTO implements Serializable {
/** /**
* 企业id
*/
private String enterpriseId;
/**
* 处理类型 1 获取msgId 2 刷新发送结果 * 处理类型 1 获取msgId 2 刷新发送结果
*/ */
private Integer refreshType; private Integer refreshType;
...@@ -216,6 +221,13 @@ public class DealQwSendDTO implements Serializable { ...@@ -216,6 +221,13 @@ public class DealQwSendDTO implements Serializable {
} }
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getRefreshType() { public Integer getRefreshType() {
return refreshType; return refreshType;
......
...@@ -6,6 +6,11 @@ import java.util.List; ...@@ -6,6 +6,11 @@ import java.util.List;
public class ContactFollowBatchQDTO implements Serializable { public class ContactFollowBatchQDTO implements Serializable {
private static final long serialVersionUID = 973688857967269974L; private static final long serialVersionUID = 973688857967269974L;
/**
* 企业id
*/
private String enterpriseId;
/** /**
* 会员id * 会员id
*/ */
...@@ -19,6 +24,14 @@ public class ContactFollowBatchQDTO implements Serializable { ...@@ -19,6 +24,14 @@ public class ContactFollowBatchQDTO implements Serializable {
*/ */
private String followRemark; private String followRemark;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public List<MemberFollow> getMemberList() { public List<MemberFollow> getMemberList() {
return memberList; return memberList;
} }
......
package com.gic.haoban.manage.service.service.content; package com.gic.haoban.manage.service.service.content;
import com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo; import com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -24,7 +24,7 @@ public interface GroupMessageService { ...@@ -24,7 +24,7 @@ public interface GroupMessageService {
/*** /***
* 查询有素材权限的企业 * 查询有素材权限的企业
* @see MaterialEnterpriseAdaptor.MaterialLevel * @see EnterpriseAdaptor.MaterialLevel
* @param level * @param level
* @return * @return
*/ */
......
package com.gic.haoban.manage.service.service.content.adaptor; package com.gic.haoban.manage.service.service.content.adaptor;
import cn.hutool.core.lang.Pair;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.api.constant.EnterpriseServiceEnum; import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
...@@ -27,7 +26,7 @@ import java.util.stream.Collectors; ...@@ -27,7 +26,7 @@ import java.util.stream.Collectors;
**/ **/
@Slf4j @Slf4j
@Component @Component
public class MaterialEnterpriseAdaptor { public class EnterpriseAdaptor {
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
...@@ -79,7 +78,7 @@ public class MaterialEnterpriseAdaptor { ...@@ -79,7 +78,7 @@ public class MaterialEnterpriseAdaptor {
// 处理内容相关企业ID // 处理内容相关企业ID
Optional.ofNullable(serviceResponse1.getResult()).orElse(Collections.emptyList()) Optional.ofNullable(serviceResponse1.getResult()).orElse(Collections.emptyList())
.stream() .stream()
.filter(item -> item.getVersion() != null && item.getVersion() >= MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode()) .filter(item -> item.getVersion() != null && item.getVersion() >= EnterpriseAdaptor.MaterialLevel.LOW.getCode())
.filter(item -> Boolean.TRUE.equals(item.getVaild())) .filter(item -> Boolean.TRUE.equals(item.getVaild()))
.map(EnterpriseUsingStatusDTO::getEnterpriseId) .map(EnterpriseUsingStatusDTO::getEnterpriseId)
.forEach(eid -> map.computeIfAbsent(eid, k -> new ArrayList<>()) .forEach(eid -> map.computeIfAbsent(eid, k -> new ArrayList<>())
...@@ -123,4 +122,27 @@ public class MaterialEnterpriseAdaptor { ...@@ -123,4 +122,27 @@ public class MaterialEnterpriseAdaptor {
} }
return StringUtils.equals(cache, "1"); return StringUtils.equals(cache, "1");
} }
public boolean checkEnterpriseHasRight(String enterpriseId,String rightMenuCode) {
String key = "haoban_enterprise_menuCode:" + enterpriseId;
String cache = RedisUtil.getCache(key, String.class);
if (StringUtils.isBlank(cache)) {
cache = "0";
ServiceResponse<List<EnterpriseUsingStatusDTO>> tempServiceResponse = enterpriseUseForbidService.getUseEnterpriseByCode(rightMenuCode, enterpriseId);
if (!tempServiceResponse.isSuccess() || CollectionUtils.isEmpty(tempServiceResponse.getResult())) {
log.info("企业 {} 没有{}权限", enterpriseId, rightMenuCode);
RedisUtil.setCache(key, cache, cache_hour_sec, TimeUnit.SECONDS);
return false;
}
EnterpriseUsingStatusDTO enterpriseUsingStatusDTO = tempServiceResponse.getResult().get(0);
if (!Boolean.TRUE.equals(enterpriseUsingStatusDTO.getVaild())) {
log.info("企业 {} {}权限已失效", enterpriseId, rightMenuCode);
RedisUtil.setCache(key, cache, cache_hour_sec, TimeUnit.SECONDS);
return false;
}
cache = "1";
RedisUtil.setCache(key, cache, cache_hour_sec, TimeUnit.SECONDS);
}
return StringUtils.equals(cache, "1");
}
} }
...@@ -39,7 +39,7 @@ import com.gic.haoban.manage.service.service.chat.GroupChatUserService; ...@@ -39,7 +39,7 @@ import com.gic.haoban.manage.service.service.chat.GroupChatUserService;
import com.gic.haoban.manage.service.service.content.ClerkShareLogService; import com.gic.haoban.manage.service.service.content.ClerkShareLogService;
import com.gic.haoban.manage.service.service.content.GroupMessageService; import com.gic.haoban.manage.service.service.content.GroupMessageService;
import com.gic.haoban.manage.service.service.content.TriggerCustomerDetailService; import com.gic.haoban.manage.service.service.content.TriggerCustomerDetailService;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.wechat.api.dto.qdto.group.QywxGroupMessageQDTO; import com.gic.wechat.api.dto.qdto.group.QywxGroupMessageQDTO;
import com.gic.wechat.api.dto.qdto.group.QywxGroupMsgSendResultQDTO; import com.gic.wechat.api.dto.qdto.group.QywxGroupMsgSendResultQDTO;
import com.gic.wechat.api.dto.qdto.group.QywxMomentInfoQDTO; import com.gic.wechat.api.dto.qdto.group.QywxMomentInfoQDTO;
...@@ -103,7 +103,7 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -103,7 +103,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService; private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired @Autowired
private MaterialEnterpriseAdaptor materialEnterpriseAdaptor; private EnterpriseAdaptor enterpriseAdaptor;
@Override @Override
public void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo) { public void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo) {
...@@ -613,13 +613,13 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -613,13 +613,13 @@ public class GroupMessageServiceImpl implements GroupMessageService {
@Override @Override
public List<String> hasMaterialRightEnterprise(Integer level) { public List<String> hasMaterialRightEnterprise(Integer level) {
List<String> enterpriseIds = materialEnterpriseAdaptor.queryHasRightEnterpriseIds(level); List<String> enterpriseIds = enterpriseAdaptor.queryHasRightEnterpriseIds(level);
log.info("有权限的企业信息 level:{}, enterpriseIds:{}", level, JSON.toJSONString(enterpriseIds)); log.info("有权限的企业信息 level:{}, enterpriseIds:{}", level, JSON.toJSONString(enterpriseIds));
return enterpriseIds; return enterpriseIds;
} }
@Override @Override
public Map<String, List<String>> weekMonthEnterprise() { public Map<String, List<String>> weekMonthEnterprise() {
return materialEnterpriseAdaptor.getWeekMonthEid(); return enterpriseAdaptor.getWeekMonthEid();
} }
} }
...@@ -6,20 +6,19 @@ import com.gic.api.base.commons.Page; ...@@ -6,20 +6,19 @@ import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
import com.gic.haoban.manage.api.dto.contact.ContactFollowDTO; import com.gic.haoban.manage.api.dto.contact.ContactFollowDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowBatchQDTO; import com.gic.haoban.manage.api.qdto.contact.ContactFollowBatchQDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowQDTO; import com.gic.haoban.manage.api.qdto.contact.ContactFollowQDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowSearchQDTO; import com.gic.haoban.manage.api.qdto.contact.ContactFollowSearchQDTO;
import com.gic.haoban.manage.api.service.contact.ContactFollowApiService; import com.gic.haoban.manage.api.service.contact.ContactFollowApiService;
import com.gic.haoban.manage.service.service.contact.ContactFollowService; import com.gic.haoban.manage.service.service.contact.ContactFollowService;
import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -34,15 +33,28 @@ public class ContactFollowApiServiceImpl implements ContactFollowApiService { ...@@ -34,15 +33,28 @@ public class ContactFollowApiServiceImpl implements ContactFollowApiService {
private ContactFollowService contactFollowService; private ContactFollowService contactFollowService;
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired
private EnterpriseAdaptor enterpriseAdaptor;
@Override @Override
public ServiceResponse<Void> saveFollow(ContactFollowQDTO qdto) { public ServiceResponse<Void> saveFollow(ContactFollowQDTO qdto) {
boolean hasRight = enterpriseAdaptor.checkEnterpriseHasRight(qdto.getEnterpriseId(), EnterpriseServiceEnum.POTENTIAL.getRightMenuCode());
if (!hasRight) {
return ServiceResponse.success();
}
contactFollowService.saveFollow(qdto); contactFollowService.saveFollow(qdto);
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override @Override
public ServiceResponse<Void> saveBatchFollow(List<ContactFollowQDTO> list) { public ServiceResponse<Void> saveBatchFollow(List<ContactFollowQDTO> list) {
if (CollectionUtils.isEmpty(list)) {
return ServiceResponse.success();
}
boolean hasRight = enterpriseAdaptor.checkEnterpriseHasRight(list.get(0).getEnterpriseId(), EnterpriseServiceEnum.POTENTIAL.getRightMenuCode());
if (!hasRight) {
return ServiceResponse.success();
}
contactFollowService.saveBatchFollow(list); contactFollowService.saveBatchFollow(list);
return ServiceResponse.success(); return ServiceResponse.success();
} }
...@@ -53,6 +65,10 @@ public class ContactFollowApiServiceImpl implements ContactFollowApiService { ...@@ -53,6 +65,10 @@ public class ContactFollowApiServiceImpl implements ContactFollowApiService {
return ServiceResponse.success(); return ServiceResponse.success();
} }
ContactFollowBatchQDTO qdto = JSONObject.parseObject(message, ContactFollowBatchQDTO.class); ContactFollowBatchQDTO qdto = JSONObject.parseObject(message, ContactFollowBatchQDTO.class);
boolean hasRight = enterpriseAdaptor.checkEnterpriseHasRight(qdto.getEnterpriseId(), EnterpriseServiceEnum.POTENTIAL.getRightMenuCode());
if (!hasRight) {
return ServiceResponse.success();
}
List<ContactFollowBatchQDTO.MemberFollow> memberList = qdto.getMemberList(); List<ContactFollowBatchQDTO.MemberFollow> memberList = qdto.getMemberList();
if (CollectionUtils.isEmpty(memberList)) { if (CollectionUtils.isEmpty(memberList)) {
return ServiceResponse.success(); return ServiceResponse.success();
......
...@@ -18,14 +18,13 @@ import com.gic.haoban.manage.service.pojo.bo.potential.MemberLastInteractBO; ...@@ -18,14 +18,13 @@ import com.gic.haoban.manage.service.pojo.bo.potential.MemberLastInteractBO;
import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO; import com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO;
import com.gic.haoban.manage.service.service.content.InteractRecordService; import com.gic.haoban.manage.service.service.content.InteractRecordService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService; import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.haoban.manage.service.task.KafkaMessageServiceImpl; import com.gic.haoban.manage.service.task.KafkaMessageServiceImpl;
import com.gic.haoban.manage.service.util.OrderCheckUtil; import com.gic.haoban.manage.service.util.OrderCheckUtil;
import com.gic.member.api.dto.event.lifecycle.CreateMemberEventParam; import com.gic.member.api.dto.event.lifecycle.CreateMemberEventParam;
import com.gic.member.api.dto.info.MemberSummaryInfoDTO; import com.gic.member.api.dto.info.MemberSummaryInfoDTO;
import com.gic.member.api.dto.info.qo.QueryMemberInfoDTO; import com.gic.member.api.dto.info.qo.QueryMemberInfoDTO;
import com.gic.member.api.service.MemberOutApiService; import com.gic.member.api.service.MemberOutApiService;
import com.gic.order.api.constant.OrderChannelEnum;
import com.gic.order.api.dto.OrderSaveNotifyDTO; import com.gic.order.api.dto.OrderSaveNotifyDTO;
import com.gic.order.api.dto.resp.OrderInfoResp; import com.gic.order.api.dto.resp.OrderInfoResp;
import com.gic.order.api.service.member.MemberOrderReadApiService; import com.gic.order.api.service.member.MemberOrderReadApiService;
...@@ -55,7 +54,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService { ...@@ -55,7 +54,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
@Autowired @Autowired
PotentialCustomerService potentialCustomerService; PotentialCustomerService potentialCustomerService;
@Autowired @Autowired
private MaterialEnterpriseAdaptor materialEnterpriseAdaptor; private EnterpriseAdaptor enterpriseAdaptor;
@Autowired @Autowired
MemberOutApiService memberOutApiService; MemberOutApiService memberOutApiService;
@Autowired @Autowired
...@@ -270,7 +269,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService { ...@@ -270,7 +269,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
String enterpriseId = createMemberEventParam.getEnterpriseId(); String enterpriseId = createMemberEventParam.getEnterpriseId();
String memberId = createMemberEventParam.getMemberId(); String memberId = createMemberEventParam.getMemberId();
if (!materialEnterpriseAdaptor.checkEnterpriseHasContentRight(enterpriseId)) { if (!enterpriseAdaptor.checkEnterpriseHasContentRight(enterpriseId)) {
log.info("企业 {} 没有内容权限", enterpriseId); log.info("企业 {} 没有内容权限", enterpriseId);
return ServiceResponse.success(); return ServiceResponse.success();
} }
......
...@@ -37,7 +37,7 @@ import com.gic.haoban.manage.service.service.content.GroupMessageService; ...@@ -37,7 +37,7 @@ import com.gic.haoban.manage.service.service.content.GroupMessageService;
import com.gic.haoban.manage.service.service.content.MaterialReportService; import com.gic.haoban.manage.service.service.content.MaterialReportService;
import com.gic.haoban.manage.service.service.content.PotentialCustomerService; import com.gic.haoban.manage.service.service.content.PotentialCustomerService;
import com.gic.haoban.manage.service.service.content.adaptor.WeekMonthDataAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.WeekMonthDataAdaptor;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.haoban.manage.service.task.KafkaMessageServiceImpl; import com.gic.haoban.manage.service.task.KafkaMessageServiceImpl;
import com.gic.haoban.manage.service.task.RouterConstant; import com.gic.haoban.manage.service.task.RouterConstant;
import com.gic.order.api.dto.OrderDTO; import com.gic.order.api.dto.OrderDTO;
...@@ -107,7 +107,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -107,7 +107,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
public ServiceResponse<Void> groupMsgTaskJob(String params) { public ServiceResponse<Void> groupMsgTaskJob(String params) {
log.info("执行触达客户定时任务 {}", DateUtil.datetimeToString(new Date())); log.info("执行触达客户定时任务 {}", DateUtil.datetimeToString(new Date()));
// 获取开启【内容】权限的企业id // 获取开启【内容】权限的企业id
List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode()); List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(EnterpriseAdaptor.MaterialLevel.LOW.getCode());
if (CollectionUtils.isEmpty(enterpriseIds)) { if (CollectionUtils.isEmpty(enterpriseIds)) {
return ServiceResponse.success(); return ServiceResponse.success();
} }
...@@ -281,7 +281,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -281,7 +281,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
log.info("当前时间处于消息禁发时间, 忽略{}", cn.hutool.core.date.DateUtil.format(now, "yyyy-MM-dd HH:mm:ss")); log.info("当前时间处于消息禁发时间, 忽略{}", cn.hutool.core.date.DateUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
return ServiceResponse.success(); return ServiceResponse.success();
} }
List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode()); List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(EnterpriseAdaptor.MaterialLevel.LOW.getCode());
if (CollectionUtils.isEmpty(enterpriseIds)) { if (CollectionUtils.isEmpty(enterpriseIds)) {
log.info("开通内容权限的企业为空"); log.info("开通内容权限的企业为空");
return ServiceResponse.success(); return ServiceResponse.success();
......
...@@ -2,16 +2,11 @@ package com.gic.haoban.manage.service.service.out.impl.role; ...@@ -2,16 +2,11 @@ package com.gic.haoban.manage.service.service.out.impl.role;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.right.EnterpriseSuperAdminRightMenuQDTO;
import com.gic.clerk.api.dto.right.RightMenuDTO;
import com.gic.clerk.api.service.RightService; import com.gic.clerk.api.service.RightService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.app.customer.service.api.service.ManageSettingApiService; import com.gic.haoban.app.customer.service.api.service.ManageSettingApiService;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO; import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.RolesListUtils;
import com.gic.haoban.manage.api.dto.ClerkEditInfoDTO;
import com.gic.haoban.manage.api.dto.TemplateEnterpriseRelatedDTO;
import com.gic.haoban.manage.api.dto.qdto.role.ContentMaterialROleInitQDTO; import com.gic.haoban.manage.api.dto.qdto.role.ContentMaterialROleInitQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
...@@ -22,18 +17,16 @@ import com.gic.haoban.manage.api.service.ApplicationSettingApiService; ...@@ -22,18 +17,16 @@ import com.gic.haoban.manage.api.service.ApplicationSettingApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService; import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanTemplateApplicationRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanTemplateApplicationRelatedMapper;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole; import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu; import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO; import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO; import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO;
import com.gic.haoban.manage.service.service.TemplateEnterpriseRelatedService; import com.gic.haoban.manage.service.service.TemplateEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService; import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor; import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.haoban.manage.service.service.role.HaobanMenuService; import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService; import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService; import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
...@@ -44,10 +37,8 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -44,10 +37,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -74,7 +65,7 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -74,7 +65,7 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
@Autowired @Autowired
private TemplateEnterpriseRelatedService templateEnterpriseRelatedService; private TemplateEnterpriseRelatedService templateEnterpriseRelatedService;
@Autowired @Autowired
private MaterialEnterpriseAdaptor materialEnterpriseAdaptor; private EnterpriseAdaptor enterpriseAdaptor;
@Autowired @Autowired
private RightService rightService ; private RightService rightService ;
...@@ -426,8 +417,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -426,8 +417,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
return; return;
} }
if (contentMaterialROleInitQDTO.getOldVersion() != null if (contentMaterialROleInitQDTO.getOldVersion() != null
&& MaterialEnterpriseAdaptor.MaterialLevel.HIGH.getCode().equals(contentMaterialROleInitQDTO.getOldVersion()) && EnterpriseAdaptor.MaterialLevel.HIGH.getCode().equals(contentMaterialROleInitQDTO.getOldVersion())
&& MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode().equals(contentMaterialROleInitQDTO.getVersion()) ) { && EnterpriseAdaptor.MaterialLevel.LOW.getCode().equals(contentMaterialROleInitQDTO.getVersion()) ) {
logger.info("从高级版到低级版, 菜单不做调整 {}", JSON.toJSONString(contentMaterialROleInitQDTO)); logger.info("从高级版到低级版, 菜单不做调整 {}", JSON.toJSONString(contentMaterialROleInitQDTO));
return; return;
} }
...@@ -439,8 +430,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -439,8 +430,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
} }
// 处理当前版本 如果是低到高 只处理版本差异的 // 处理当前版本 如果是低到高 只处理版本差异的
if (contentMaterialROleInitQDTO.getOldVersion() != null if (contentMaterialROleInitQDTO.getOldVersion() != null
&& MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode().equals(contentMaterialROleInitQDTO.getOldVersion()) && EnterpriseAdaptor.MaterialLevel.LOW.getCode().equals(contentMaterialROleInitQDTO.getOldVersion())
&& MaterialEnterpriseAdaptor.MaterialLevel.HIGH.getCode().equals(contentMaterialROleInitQDTO.getVersion())) { && EnterpriseAdaptor.MaterialLevel.HIGH.getCode().equals(contentMaterialROleInitQDTO.getVersion())) {
// 从低版本 升级到 高版本, 此时菜单code只取 版本 差异的菜单 // 从低版本 升级到 高版本, 此时菜单code只取 版本 差异的菜单
List<String> lowMenuCodes = menuCodeMap.get(haobanRoleBO.getClerkType() + "" + contentMaterialROleInitQDTO.getOldVersion()); List<String> lowMenuCodes = menuCodeMap.get(haobanRoleBO.getClerkType() + "" + contentMaterialROleInitQDTO.getOldVersion());
List<String> highMenuCodes = menuCodeMap.get(haobanRoleBO.getClerkType() + "" + contentMaterialROleInitQDTO.getVersion()); List<String> highMenuCodes = menuCodeMap.get(haobanRoleBO.getClerkType() + "" + contentMaterialROleInitQDTO.getVersion());
...@@ -544,7 +535,7 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -544,7 +535,7 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
logger.info("flushRightOneTime 刷新企业内容权限:{}", params); logger.info("flushRightOneTime 刷新企业内容权限:{}", params);
List<String> enterpriseIds = materialEnterpriseAdaptor.queryHasRightEnterpriseIds(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode()); List<String> enterpriseIds = enterpriseAdaptor.queryHasRightEnterpriseIds(EnterpriseAdaptor.MaterialLevel.LOW.getCode());
// 执行刷新权限 // 执行刷新权限
String enterpriseId = ""; String enterpriseId = "";
if (StringUtils.isNotBlank(params) && !StringUtils.equals("-1", params)) { if (StringUtils.isNotBlank(params) && !StringUtils.equals("-1", params)) {
......
...@@ -2,8 +2,10 @@ package com.gic.haoban.manage.service.service.out.impl.send; ...@@ -2,8 +2,10 @@ package com.gic.haoban.manage.service.service.out.impl.send;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
import com.gic.haoban.manage.api.dto.send.DealQwSendDTO; import com.gic.haoban.manage.api.dto.send.DealQwSendDTO;
import com.gic.haoban.manage.api.service.send.QwSendApiService; import com.gic.haoban.manage.api.service.send.QwSendApiService;
import com.gic.haoban.manage.service.service.content.adaptor.EnterpriseAdaptor;
import com.gic.haoban.manage.service.service.send.QwSendMsgService; import com.gic.haoban.manage.service.service.send.QwSendMsgService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -21,15 +23,22 @@ public class QwSendApiServiceImpl implements QwSendApiService { ...@@ -21,15 +23,22 @@ public class QwSendApiServiceImpl implements QwSendApiService {
@Autowired @Autowired
private QwSendMsgService qwSendMsgService; private QwSendMsgService qwSendMsgService;
@Autowired
private EnterpriseAdaptor enterpriseAdaptor;
@Override @Override
public ServiceResponse<Void> qwSendRefreshByMQ(String message) { public ServiceResponse<Void> qwSendRefreshByMQ(String message) {
if (StringUtils.isBlank(message)) { if (StringUtils.isBlank(message)) {
return ServiceResponse.success(); return ServiceResponse.success();
} }
log.info("刷新企微发送记录:{}", message);
DealQwSendDTO dealQwSendDTO = JSONObject.parseObject(message, DealQwSendDTO.class); DealQwSendDTO dealQwSendDTO = JSONObject.parseObject(message, DealQwSendDTO.class);
boolean hasRight = enterpriseAdaptor.checkEnterpriseHasRight(dealQwSendDTO.getEnterpriseId(), EnterpriseServiceEnum.POTENTIAL.getRightMenuCode());
if (!hasRight) {
return ServiceResponse.success();
}
Integer refreshType = dealQwSendDTO.getRefreshType(); Integer refreshType = dealQwSendDTO.getRefreshType();
log.info("刷新企微发送记录:{}", message);
if (Objects.equals(refreshType,1)) { if (Objects.equals(refreshType,1)) {
qwSendMsgService.finishQwSend(dealQwSendDTO.getFinishQwSend(),dealQwSendDTO.getTryCount()); qwSendMsgService.finishQwSend(dealQwSendDTO.getFinishQwSend(),dealQwSendDTO.getTryCount());
} else if (Objects.equals(refreshType, 2)) { } else if (Objects.equals(refreshType, 2)) {
......
...@@ -78,6 +78,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService { ...@@ -78,6 +78,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
qwSendMsg.setEnterpriseId(finishQwSendBO.getEnterpriseId()); qwSendMsg.setEnterpriseId(finishQwSendBO.getEnterpriseId());
qwSendMsgMapper.insert(qwSendMsg); qwSendMsgMapper.insert(qwSendMsg);
DealQwSendDTO dealQwSendDTO = new DealQwSendDTO(); DealQwSendDTO dealQwSendDTO = new DealQwSendDTO();
dealQwSendDTO.setEnterpriseId(finishQwSendBO.getEnterpriseId());
dealQwSendDTO.setRefreshType(2); dealQwSendDTO.setRefreshType(2);
DealQwSendDTO.QwSendMsgBO qwSendMsgBO = EntityUtil.changeEntityByJSON(DealQwSendDTO.QwSendMsgBO.class, qwSendMsg); DealQwSendDTO.QwSendMsgBO qwSendMsgBO = EntityUtil.changeEntityByJSON(DealQwSendDTO.QwSendMsgBO.class, qwSendMsg);
dealQwSendDTO.setQwSendMsg(qwSendMsgBO); dealQwSendDTO.setQwSendMsg(qwSendMsgBO);
...@@ -91,6 +92,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService { ...@@ -91,6 +92,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
} }
// 重新刷新 // 重新刷新
DealQwSendDTO dealQwSendDTO = new DealQwSendDTO(); DealQwSendDTO dealQwSendDTO = new DealQwSendDTO();
dealQwSendDTO.setEnterpriseId(finishQwSendBO.getEnterpriseId());
dealQwSendDTO.setRefreshType(1); dealQwSendDTO.setRefreshType(1);
dealQwSendDTO.setFinishQwSend(finishQwSendBO); dealQwSendDTO.setFinishQwSend(finishQwSendBO);
dealQwSendDTO.setTryCount(++tryCount); dealQwSendDTO.setTryCount(++tryCount);
...@@ -146,7 +148,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService { ...@@ -146,7 +148,7 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
} }
memberList.add(new ContactFollowBatchQDTO.MemberFollow(log.getMemberId(), log.getSendTime())); memberList.add(new ContactFollowBatchQDTO.MemberFollow(log.getMemberId(), log.getSendTime()));
}); });
saveFollowMQ(qwSendMsg.getClerkId(), memberList); saveFollowMQ(qwSendMsg.getEnterpriseId(),qwSendMsg.getClerkId(), memberList);
} }
entities.clear(); entities.clear();
} }
...@@ -226,11 +228,12 @@ public class QwSendMsgServiceImpl implements QwSendMsgService { ...@@ -226,11 +228,12 @@ public class QwSendMsgServiceImpl implements QwSendMsgService {
return EntityUtil.changeEntityListByJSON(GroupSendResultBO.class, list); return EntityUtil.changeEntityListByJSON(GroupSendResultBO.class, list);
} }
private void saveFollowMQ(String clerkId,List<ContactFollowBatchQDTO.MemberFollow> memberList) { private void saveFollowMQ(String enterpriseId,String clerkId,List<ContactFollowBatchQDTO.MemberFollow> memberList) {
if (org.apache.commons.collections.CollectionUtils.isEmpty(memberList)) { if (org.apache.commons.collections.CollectionUtils.isEmpty(memberList)) {
return; return;
} }
ContactFollowBatchQDTO batchQDTO = new ContactFollowBatchQDTO(); ContactFollowBatchQDTO batchQDTO = new ContactFollowBatchQDTO();
batchQDTO.setEnterpriseId(enterpriseId);
batchQDTO.setMemberList(memberList); batchQDTO.setMemberList(memberList);
batchQDTO.setClerkId(clerkId); batchQDTO.setClerkId(clerkId);
batchQDTO.setFollowRemark("通过企微群发向客户发送了消息"); batchQDTO.setFollowRemark("通过企微群发向客户发送了消息");
......
...@@ -180,6 +180,7 @@ public class ClerkMaterialShareController { ...@@ -180,6 +180,7 @@ public class ClerkMaterialShareController {
private void dealQwSendMsg(DealQwSendDTO.FinishQwSendBO finishQwSend) { private void dealQwSendMsg(DealQwSendDTO.FinishQwSendBO finishQwSend) {
DealQwSendDTO dealQwSendDTO = new DealQwSendDTO(); DealQwSendDTO dealQwSendDTO = new DealQwSendDTO();
dealQwSendDTO.setEnterpriseId(finishQwSend.getEnterpriseId());
dealQwSendDTO.setRefreshType(1); dealQwSendDTO.setRefreshType(1);
dealQwSendDTO.setFinishQwSend(finishQwSend); dealQwSendDTO.setFinishQwSend(finishQwSend);
MqUtils.sendMessageToMQ("qwSendRefreshByMQ", JSON.toJSONString(dealQwSendDTO)); MqUtils.sendMessageToMQ("qwSendRefreshByMQ", JSON.toJSONString(dealQwSendDTO));
......
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