Commit 152e9adc by songyinghui

feat:有素材权限的企业id

parent ceff8cfe
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 java.util.List; import java.util.List;
...@@ -20,5 +21,11 @@ public interface GroupMessageService { ...@@ -20,5 +21,11 @@ public interface GroupMessageService {
void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo); void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo);
List<String> hasMaterialRightEnterprise(); /***
* 查询有素材权限的企业
* @see MaterialEnterpriseAdaptor.MaterialLevel
* @param level
* @return
*/
List<String> hasMaterialRightEnterprise(Integer level);
} }
package com.gic.haoban.manage.service.service.content.adaptor;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO;
import com.gic.enterprise.api.service.EnterpriseUseForbidService;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Author MUSI
* @Date 2023/4/2 10:05 PM
* @Description
* @Version
**/
@Slf4j
@Component
public class MaterialEnterpriseAdaptor {
@Getter
@AllArgsConstructor
public enum MaterialLevel {
LOW(1, "低版本"),
HIGH(2, "高版本");
private Integer code;
private String desc;
}
@Autowired
EnterpriseUseForbidService enterpriseUseForbidService;
/**
* @see MaterialLevel
* @param highLevel 1 低版本; 2高版本
* @return
*/
public List<String> queryHasRightEnterpriseIds(Integer highLevel) {
ServiceResponse<List<EnterpriseUsingStatusDTO>> serviceResponse = enterpriseUseForbidService.getUseEnterpriseByCode("", null);
if (!serviceResponse.isSuccess()) {
log.info("查询企业信息异常 {}", JSON.toJSONString(serviceResponse));
return Collections.emptyList();
}
return serviceResponse.getResult()
.stream()
.filter(item -> Objects.equals(item.getVersion(), highLevel))
.filter(item -> Boolean.TRUE.equals(item.getVaild()))
.map(EnterpriseUsingStatusDTO::getEnterpriseId)
.collect(Collectors.toList());
}
}
...@@ -22,6 +22,7 @@ import com.gic.haoban.manage.service.service.chat.GroupChatUserService; ...@@ -22,6 +22,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.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.qywx.group.QywxGroupMessageInfoDTO; import com.gic.wechat.api.dto.qywx.group.QywxGroupMessageInfoDTO;
...@@ -88,13 +89,14 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -88,13 +89,14 @@ public class GroupMessageServiceImpl implements GroupMessageService {
private GroupChatUserService groupChatUserService; private GroupChatUserService groupChatUserService;
@Autowired @Autowired
private GroupChatService groupChatService; private GroupChatService groupChatService;
@Autowired @Autowired
private Config config; private Config config;
@Autowired @Autowired
private StaffService staffService; private StaffService staffService;
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService; private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired
private MaterialEnterpriseAdaptor materialEnterpriseAdaptor;
@Override @Override
public void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo) { public void handlerGroupMessage(GroupMessageInfoBo groupMessageInfoBo) {
...@@ -500,9 +502,13 @@ public class GroupMessageServiceImpl implements GroupMessageService { ...@@ -500,9 +502,13 @@ public class GroupMessageServiceImpl implements GroupMessageService {
* @return * @return
*/ */
@Override @Override
public List<String> hasMaterialRightEnterprise() { public List<String> hasMaterialRightEnterprise(Integer level) {
return Collections.singletonList("ff8080815dacd3a2015dacd3ef5c0000"); List<String> enterpriseIds = materialEnterpriseAdaptor.queryHasRightEnterpriseIds(level);
// return Collections.emptyList(); log.info("有权限的企业信息 level:{}, enterpriseIds:{}", level, JSON.toJSONString(enterpriseIds));
if (CollectionUtils.isEmpty(enterpriseIds)) {
return Collections.singletonList("ff8080815dacd3a2015dacd3ef5c0000");
}
return enterpriseIds;
} }
} }
...@@ -17,6 +17,7 @@ import com.gic.haoban.manage.service.service.WxEnterpriseService; ...@@ -17,6 +17,7 @@ import com.gic.haoban.manage.service.service.WxEnterpriseService;
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.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.MaterialEnterpriseAdaptor;
import com.gic.haoban.manage.service.task.RouterConstant; import com.gic.haoban.manage.service.task.RouterConstant;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -55,7 +56,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -55,7 +56,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(); List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode());
// 获取企业 (当前时间 - 30分钟, 当前时间)范围内的 导购分享记录。按创建时间排序 // 获取企业 (当前时间 - 30分钟, 当前时间)范围内的 导购分享记录。按创建时间排序
Date currentTime = new Date(); Date currentTime = new Date();
for (String enterpriseId : enterpriseIds) { for (String enterpriseId : enterpriseIds) {
...@@ -65,7 +66,6 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -65,7 +66,6 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
groupMessageInfoBo.setEndTime(currentTime); groupMessageInfoBo.setEndTime(currentTime);
groupMessageService.handlerGroupMessage(groupMessageInfoBo); groupMessageService.handlerGroupMessage(groupMessageInfoBo);
} }
// 获取当前时间段内的数据
return ServiceResponse.success(); return ServiceResponse.success();
} }
...@@ -81,6 +81,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -81,6 +81,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
TriggerCustomerDetailLogDTO customerDetailLog = JSON.parseObject(params, TriggerCustomerDetailLogDTO.class); TriggerCustomerDetailLogDTO customerDetailLog = JSON.parseObject(params, TriggerCustomerDetailLogDTO.class);
if (customerDetailLog == null) { if (customerDetailLog == null) {
log.info("处理客户触达日志 参数异常 {}", params);
return ServiceResponse.success(); return ServiceResponse.success();
} }
...@@ -128,7 +129,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -128,7 +129,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
* @return * @return
*/ */
private ServiceResponse<Void> doHandlerReportInner(Integer reportType) { private ServiceResponse<Void> doHandlerReportInner(Integer reportType) {
List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(); List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode());
if (CollectionUtils.isEmpty(enterpriseIds)) { if (CollectionUtils.isEmpty(enterpriseIds)) {
return ServiceResponse.success(); return ServiceResponse.success();
} }
...@@ -213,7 +214,7 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic ...@@ -213,7 +214,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(); List<String> enterpriseIds = groupMessageService.hasMaterialRightEnterprise(MaterialEnterpriseAdaptor.MaterialLevel.HIGH.getCode());
if (CollectionUtils.isEmpty(enterpriseIds)) { if (CollectionUtils.isEmpty(enterpriseIds)) {
log.info("开通内容权限的企业为空"); log.info("开通内容权限的企业为空");
return ServiceResponse.success(); return ServiceResponse.success();
......
...@@ -215,5 +215,4 @@ ...@@ -215,5 +215,4 @@
<dubbo:reference interface="com.gic.store.goods.service.GoodsInfoOutApiService" id="goodsInfoOutApiService" timeout="10000" retries="0" check="false"/> <dubbo:reference interface="com.gic.store.goods.service.GoodsInfoOutApiService" id="goodsInfoOutApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.store.goods.service.GoodsCenterApiService" id="goodsCenterApiService" timeout="10000" retries="0" check="false"/> <dubbo:reference interface="com.gic.store.goods.service.GoodsCenterApiService" id="goodsCenterApiService" timeout="10000" retries="0" check="false"/>
</beans> </beans>
\ No newline at end of file
...@@ -25,8 +25,8 @@ import java.util.List; ...@@ -25,8 +25,8 @@ import java.util.List;
* @Version * @Version
**/ **/
//@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"}) @ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"})
public class MaterialReportServiceTest { public class MaterialReportServiceTest {
public MaterialReportServiceTest(){ public MaterialReportServiceTest(){
......
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