Commit 99353184 by jinxin

Merge remote-tracking branch 'origin/developer' into developer

parents 1b205353 e037a0e7
......@@ -18,7 +18,7 @@ public class WxEnterpriseQwDTO implements Serializable {
private String agentId;
// 好办小程序名称
private String agentName;
private String selfSecret ;
// 自建请求地址
private String urlHost ;
......@@ -39,6 +39,7 @@ public class WxEnterpriseQwDTO implements Serializable {
this.selfSecret = selfSecret;
}
// 第三方使用的加密的userid
public boolean needOpenUserId3th() {
return this.wxSecurityType == 2 || this.wxSecurityType == 3;
......
......@@ -57,7 +57,7 @@ public enum NoticeMessageTypeEnum {
CUSTOMER_GET_COUPON(4004, "客户领券通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_get_coupon", "/pages/route/index?pageType=", "hbapp_customer_detail"),
CUSTOMER_APPLY_ORDER_REFUND(4005, "客户申请退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_apply_order_refund", "/pages/route/index?pageType=", "hbapp_customer_order_detail"),
CUSTOMER_SUCCESS_ORDER_REFUND(4006, "客户成功退单通知", NoticeMessageCategoryTypeEnum.CUSTOMER.getType(), "customer_success_order_refund", "/pages/route/index?pageType=", "hbapp_user_bill_detail"),
// 订单- 待发货订单提醒
ORDER_TAKE(5000, "待自提订单提醒", NoticeMessageCategoryTypeEnum.ORDER.getType(), "order_take", "/pages/route/index?pageType=", "hbapp_order_verfication"),
ORDER_PAY(5001, "待发货订单提醒", NoticeMessageCategoryTypeEnum.ORDER.getType(), "order_pay", "/pages/route/index?pageType=", "hbapp_order_center"),
......@@ -65,14 +65,13 @@ public enum NoticeMessageTypeEnum {
REFUND_MEMBER_CANCEL(5011, "买家取消售后提醒", NoticeMessageCategoryTypeEnum.REFUND.getType(), "refund_member_cancel", "/pages/route/index?pageType=", "hbapp_order_center"),
REFUND_DELIVER(5013, "买家寄出退换货提醒", NoticeMessageCategoryTypeEnum.REFUND.getType(), "refund_deliver", "/pages/route/index?pageType=", "hbapp_order_center"),
MATERIAL_NEW_NOTIFY(6001, "素材上新通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_new_notify", "/pages/route/index?pageType=", "hbapp_material_center"),
MATERIAL_REPORT_NOTIFY(6002, "素材周报/月报通知", NoticeMessageCategoryTypeEnum.MATERIAL.getType(), "material_week_notify", "/pages/route/index?pageType=", "hbapp_mate_report"),
POTENTIAL_CUSTOMER_NOTIFY(6003, "销售线索通知", NoticeMessageCategoryTypeEnum.POTENTIAL_CUSTOMER.getType(), "potential_customer_notify", "/pages/route/index?pageType=", "hbapp_sales_clue_center");
;
/**
* 消息类型
*/
......
......@@ -196,6 +196,9 @@ public interface ExternalClerkRelatedApiService {
com.gic.api.base.commons.ServiceResponse<Boolean> isQwFriend(String enterpriseId, String staffId, String memberId) ;
List<String> listMemberAndStaff(List<String> memberIdList , String StaffId , String enterpriseId) ;
/**
*
* @param enterpriseId
......@@ -205,9 +208,6 @@ public interface ExternalClerkRelatedApiService {
*/
com.gic.api.base.commons.ServiceResponse<Boolean> isQwFriendWithUnionId(String enterpriseId, String clerkId, String unionId) ;
List<String> listMemberAndStaff(List<String> memberIdList , String StaffId , String enterpriseId) ;
/**
* 批量查询会员与导购好友关系
*
......
......@@ -177,12 +177,6 @@
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-sharding-sdk</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-store-goods-api</artifactId>
<version>${gic-store-goods-api}</version>
</dependency>
......
......@@ -13,9 +13,9 @@ public interface ClerkMainStoreRelatedService {
void reflushExternal(String wxEnterpriseId ,String staffId) ;
TabHaobanClerkMainStoreRelated selectStaffMainStore(String staffId, String wxEnterpriseId);
TabHaobanClerkMainStoreRelated selectByWxEnterpriseIdAndStoreId(String staffId, String wxEnterpriseId);
TabHaobanClerkMainStoreRelated selectByWxEnterpriseIdAndStoreId(String staffId, String wxEnterpriseId);
/**
* 获取主门店 如果没有主门店设置主门店
*
......
......@@ -16,6 +16,7 @@ import com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.notify.NoticeMessageService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
......@@ -191,7 +192,7 @@ public class PotentialCustomerNotifyBuilder {
}
QywxXcxSendMessageDTO messageDTO = this.buildApplicationMessage(staffClerkRelation, wxEnterpriseQwDTO,
customerStaticsBOMap.get(staffClerkRelation.getClerkId()).getNum(), context.buildExtendParams(staffClerkRelation.getStoreId(), staffClerkRelation.getClerkId()));
boolean sendMessage = qywxSuiteApiService.sendMessage(wxEnterpriseQwDTO.getThirdCorpid(), config.getWxSuiteid(), messageDTO);
boolean sendMessage = qywxSuiteApiService.sendMessage(wxEnterpriseQwDTO.getThirdCorpid(), QwUtils.getSecret(wxEnterpriseQwDTO, config.getWxSuiteid()), messageDTO,wxEnterpriseQwDTO.isSelf(),wxEnterpriseQwDTO.getUrlHost());
log.info("发送销售线索应用消息结果 {}", sendMessage);
}
}
......
......@@ -34,6 +34,7 @@ import com.gic.wechat.api.dto.qywx.group.QywxGroupMsgSendResultDTO;
import com.gic.wechat.api.dto.qywx.group.QywxMomentRespDTO;
import com.gic.wechat.api.dto.qywx.group.QywxMomentSendResultRespDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -344,10 +345,13 @@ public class GroupMessageServiceImpl implements GroupMessageService {
log.info("处理导购群发朋友圈触达客户日志, 成员无好友. staffId:{}", clerkShareLogBo.getStaffId());
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = externalUserIds.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBo, item))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
List<List<String>> partition = Lists.partition(externalUserIds, 1000);
for (List<String> userIds : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = userIds.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBo, item))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
}
......@@ -551,11 +555,14 @@ public class GroupMessageServiceImpl implements GroupMessageService {
if (CollectionUtils.isEmpty(groupMsgSendResultInfos)) {
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = groupMsgSendResultInfos
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getExternalUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
List<List<QywxGroupMsgSendResultDTO.GroupMsgSendResultInfo>> partition = Lists.partition(groupMsgSendResultInfos, 1000);
for (List<QywxGroupMsgSendResultDTO.GroupMsgSendResultInfo> msgSendResultInfos : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = msgSendResultInfos
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getExternalUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
/**
......@@ -569,11 +576,14 @@ public class GroupMessageServiceImpl implements GroupMessageService {
if (CollectionUtils.isEmpty(groupChatUserBos)) {
return;
}
List<TriggerCustomerDetailBO> customerDetailBos = groupChatUserBos
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
List<List<GroupChatUserBO>> partition = Lists.partition(groupChatUserBos, 1000);
for (List<GroupChatUserBO> groupChatUserBOS : partition) {
List<TriggerCustomerDetailBO> customerDetailBos = groupChatUserBOS
.stream()
.map(item -> this.convertCustomerDetailLog(clerkShareLogBO, item.getUserId()))
.collect(Collectors.toList());
triggerCustomerDetailService.batchSave(customerDetailBos);
}
}
private TriggerCustomerDetailBO convertCustomerDetailLog(ClerkShareLogBO clerkShareLogBO, String externalUserId) {
......
......@@ -13,6 +13,7 @@ import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.content.MaterialReportService;
import com.gic.haoban.manage.service.service.content.adaptor.MaterialReportBuilder;
import com.gic.haoban.manage.service.service.notify.NoticeMessageService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.wechat.api.dto.qywx.QywxNewsSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import lombok.extern.slf4j.Slf4j;
......@@ -76,6 +77,10 @@ public class MaterialReportServiceImpl implements MaterialReportService {
.build();
// 获取成员关联的导购
materialReportBuilder.buildStaffRelationClerk(context);
if (CollectionUtils.isEmpty(context.getStaffClerkRelations())) {
log.info("处理成员周报月报数据, 成员{}未绑定导购", staffId);
return;
}
// 判断是区经还是 店长/导购 填充主门店
materialReportBuilder.fillMainStore(context);
// 获取素材数据
......@@ -93,7 +98,7 @@ public class MaterialReportServiceImpl implements MaterialReportService {
return;
}
log.info("发送企业图文消息参数{}", JSON.toJSONString(newsSendMessageDTO));
boolean result = qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), config.getWxSuiteid(), newsSendMessageDTO);
boolean result = qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), QwUtils.getSecret(qwDTO, config.getWxSuiteid()), newsSendMessageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
log.info("成员{}发送素材企微使用报告结果 {}", staffId, result);
}
}
......@@ -26,6 +26,7 @@ import com.gic.haoban.manage.service.service.MaterialService;
import com.gic.haoban.manage.service.service.QywxSendService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.wechat.api.dto.qywx.QywxExternalMessageDTO;
import com.gic.wechat.api.dto.qywx.QywxImageMaterialDTO;
import com.gic.wechat.api.dto.qywx.QywxLinkMaterialDTO;
......@@ -160,7 +161,7 @@ public class QywxSendServiceImpl implements QywxSendService {
range.setSender_list(senderList);
moment.setVisible_range(range);
ServiceResponse<String> resp = this.qywxExternalUserService.addMomentTask(qwDTO.getThirdCorpid(),
config.getWxSuiteid(), moment);
QwUtils.getSecret(qwDTO, config.getWxSuiteid()), moment,qwDTO.isSelf(),qwDTO.getUrlHost());
log.info("朋友圈消息={},返回={}", JSON.toJSONString(moment), JSON.toJSONString(resp));
return resp;
}
......
......@@ -9,7 +9,31 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.RightService;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
import com.gic.haoban.manage.api.enums.BindTypeEnum;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.service.hm.HmClerkRelationApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanMemberClerkChatConfigMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.service.*;
import com.gic.member.api.service.MemberApiService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -18,10 +42,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.RightService;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
......
......@@ -19,6 +19,7 @@ import com.gic.haoban.manage.api.dto.notify.qdto.NotifyMessageBatchQDTO;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.wechat.api.dto.qywx.QywxTemplateCardSendMessageDTO;
import org.apache.commons.collections.CollectionUtils;
......@@ -50,6 +51,7 @@ import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.notify.NoticeMessageService;
import com.gic.haoban.manage.service.service.notify.NoticeMessageTemplateService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
......@@ -169,6 +171,8 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
logger.info("商户未关联好办或都已停用enterpriseId={}", enterpriseId);
return ServiceResponse.success();
}
List<TabHaobanWxEnterprise> wxEnterpriseList = wxEnterpriseRelatedService.listByEnterpriseId(enterpriseId);
List<String> wxEnterpriseIdList = wxEnterpriseList.stream().map(TabHaobanWxEnterprise::getWxEnterpriseId).collect(Collectors.toList());
List<String> clerkIdList = clerkService.getclerkListByStoreIds(storeIdList);
if (CollectionUtils.isEmpty(clerkIdList)) {
logger.info("门店导购列表为空");
......@@ -185,7 +189,7 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
return ServiceResponse.success();
}
notifyMessageBatchQDTO.setTemplateCode(messageTypeEnum.getTemplateCode());
Map<String, List<StaffClerkRelationDTO>> map = relationList.stream().collect(Collectors.groupingBy(StaffClerkRelationDTO::getWxEnterpriseId));
Map<String, List<StaffClerkRelationDTO>> map = relationList.stream().filter(x->wxEnterpriseIdList.contains(x.getWxEnterpriseId())).collect(Collectors.groupingBy(StaffClerkRelationDTO::getWxEnterpriseId));
map.forEach((wxEnterpriseId,v)->{
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (qwDTO == null) {
......@@ -269,7 +273,7 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
messageDTO.setPage(appUrl);
messageDTO.setTitle(StringUtils.isNotBlank(title)?title: messageTypeEnum.getName());
messageDTO.setContent(contentList.get(0).getVal());
boolean sendMessage = qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), config.getWxSuiteid(), messageDTO);
boolean sendMessage = qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
NotifyMessageMQDTO mqdto = new NotifyMessageMQDTO();
List<String> clerkIdList = list.stream().map(StaffClerkRelationDTO::getClerkId).collect(Collectors.toList());
mqdto.setClerkIdList(clerkIdList);
......@@ -420,6 +424,6 @@ public class NoticeMessageApiServiceImpl implements NoticeMessageApiService {
messageDTO.setPage(appUrl);
messageDTO.setTitle(StringUtils.isNotBlank(title)?title:messageTypeEnum.getName());
messageDTO.setItems(items);
qywxSuiteApiService.sendMessage(corpid, config.getWxSuiteid(), messageDTO);
qywxSuiteApiService.sendMessage(corpid, QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
}
}
......@@ -27,7 +27,6 @@ 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.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO;
import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo;
......
......@@ -74,6 +74,7 @@ import com.gic.haoban.manage.service.service.WxApplicationService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.member.api.dto.es.MemberDataDTO;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
......@@ -615,7 +616,7 @@ public class MessageApiServiceImpl implements MessageApiService {
map.put("事件", message);
List<ItemDTO> items = getItemsList(map);
messageDTO.setItems(items);
qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), config.getWxSuiteid(), messageDTO);
qywxSuiteApiService.sendMessage(qwDTO.getThirdCorpid(), QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
return com.gic.api.base.commons.ServiceResponse.success();
}
......
......@@ -34,8 +34,10 @@ import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.util.QwUtils;
import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
......@@ -255,8 +257,9 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO.setItems(items);
logger.info("发送参数为corpId============:{},suitId============:{},messageDTO============:{},", corpId, config.getWxSuiteid(), JSONObject.toJSONString(messageDTO));
boolean b = qywxSuiteApiService.sendMessage(corpId, config.getWxSuiteid(), messageDTO);
TabHaobanWxEnterprise wxEnterprise = this.wxEnterpriseService.getEnterpriseBycorpId(corpId);
WxEnterpriseQwDTO qwDTO =this.wxEnterpriseService.getQwInfo(wxEnterprise.getWxEnterpriseId()) ;
boolean b = qywxSuiteApiService.sendMessage(corpId, QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
logger.info("发送===============》{}", b);
return b;
}
......@@ -309,7 +312,9 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO.setItems(contentList);
messageDTO.setPage(pageUrl);
logger.info("消息发送, corpId : {}, suitId : {}, messageDTO : {}", corpId, config.getWxSuiteid(), JSONObject.toJSONString(messageDTO));
boolean sendResult = qywxSuiteApiService.sendMessage(corpId, config.getWxSuiteid(), messageDTO);
TabHaobanWxEnterprise wxEnterprise = this.wxEnterpriseService.getEnterpriseBycorpId(corpId);
WxEnterpriseQwDTO qwDTO =this.wxEnterpriseService.getQwInfo(wxEnterprise.getWxEnterpriseId()) ;
boolean sendResult = qywxSuiteApiService.sendMessage(corpId, QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
logger.info("消息发送结果, sendResult : {}", sendResult);
return sendResult;
}
......@@ -361,7 +366,9 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO.setItems(items);
logger.info("发送消息参数为corpId={},messageDTO={},", corpId, JSONObject.toJSONString(messageDTO));
boolean b = qywxSuiteApiService.sendMessage(corpId, config.getWxSuiteid(), messageDTO);
TabHaobanWxEnterprise wxEnterprise = this.wxEnterpriseService.getEnterpriseBycorpId(corpId);
WxEnterpriseQwDTO qwDTO =this.wxEnterpriseService.getQwInfo(wxEnterprise.getWxEnterpriseId()) ;
boolean b = qywxSuiteApiService.sendMessage(corpId, QwUtils.getSecret(qwDTO, config.getWxSuiteid()), messageDTO,qwDTO.isSelf(),qwDTO.getUrlHost());
logger.info("发送消息返回={}", b);
return b;
}
......
......@@ -818,7 +818,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
//企微已经开启联系我
List<String> wxUserIdsList = null ;
if(qwDTO.isSelf()) {
wxUserIdsList = qywxUserApiService.listCorpExternalUserSelf(qwDTO.getDkCorpid(), qwDTO.getSelfSecret());
wxUserIdsList = qywxUserApiService.listCorpExternalUserSelf(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(),qwDTO.getUrlHost());
}else {
wxUserIdsList = qywxUserApiService.listCorpExternalUser(qwDTO.getThirdCorpid(), config.getWxSuiteid());
}
......
......@@ -9,7 +9,6 @@
<import resource="classpath:dubbo-haoban-manage-service.xml" />
<import resource="classpath:dubbo-setting-test.xml"/>
<import resource="classpath:jdbc-haoban-manage-service.xml" />
<!-- <import resource="classpath*:jdbc-haoban-manage-service-sharding.xml" />-->
<import resource="classpath*:log-record-init.xml" />
<import resource="classpath*:kafka-setting-data.xml" />
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:annotation-config />
<!-- <import resource="classpath*:applicationContext-db-only-with-emoji.xml"/>-->
<import resource="classpath*:applicationContext-sharding-db.xml" />
<bean class="com.gic.haoban.common.init.HaobanSqlSessionFactoryBean" id="sqlSessionFactory">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.gic.haoban.**.entity,com.gic.haoban.*.entity" />
<property name="mapperLocations" value="classpath*:mapper/**/*.xml" />
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
dialect=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.gic.haoban.**.dao.mapper,com.gic.haoban.*.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 事务管理器 -->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="txManager" />
</beans>
\ No newline at end of file
......@@ -39,7 +39,7 @@
<value>haoban_gic_clerk</value>
<value>haoban_gic_store</value>
<value>haoban_gic_store_group</value>
<value>tab_haoban_member_order_event</value>
<value>tab_haoban_member_order_event_prod</value>
<value>haoban_gic_order</value>
</list>
</constructor-arg>
......
......@@ -764,6 +764,19 @@
limit 1
</select>
<select id="listMemberAndStaff" resultType="java.lang.String">
select member_id
from tab_haoban_external_clerk_related
where member_id in
<foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and staff_id = #{staffId}
and enterprise_id = #{enterpriseId}
AND status_flag = 1
</select>
<select id="queryExternalUserIdWithStaffId" resultType="java.lang.String">
SELECT external_user_id from tab_haoban_external_clerk_related
......@@ -782,16 +795,4 @@
</foreach>
</select>
<select id="listMemberAndStaff" resultType="java.lang.String">
select member_id
from tab_haoban_external_clerk_related
where member_id in
<foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and staff_id = #{staffId}
and enterprise_id = #{enterpriseId}
AND status_flag = 1
</select>
</mapper>
\ No newline at end of file
......@@ -215,7 +215,7 @@
<artifactId>haoban-app-aggregation-api</artifactId>
<version>${haoban-app-aggregation-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-business-order-api</artifactId>
......
......@@ -156,7 +156,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
}
if(null != wxEnterpriseId) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ;
userDTOJson = qywxUserApiService.getUserByCode(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), code);
userDTOJson = qywxUserApiService.getUserByCode(qwDTO.getDkCorpid(), qwDTO.getSelfSecret(), code , qwDTO.getUrlHost());
}else {
userDTOJson = qywxCorpApiService.getCodeSession(config.getWxSuiteid(), code);
}
......@@ -394,7 +394,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId);
MemberLoginQo user = new MemberLoginQo();
if (StringUtils.isBlank(qo.getUserId())) {
user = getUserByCode(wxEnterpriseId, qwDTO.getMemberCorpid(), qo.getCode(), qo.getGicEnterpriseId());
user = getUserByCode(wxEnterpriseId, qwDTO.getMemberCorpid(), qo.getCode(), qo.getGicEnterpriseId(),qwDTO);
if (user == null) {
logger.info("登录失败,从微信获取用户信息失败");
return resultResponse(HaoBanErrCode.ERR_6);
......@@ -463,13 +463,13 @@ public class WxEnterpriseInfoController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1, user);
}
private MemberLoginQo getUserByCode(String wxEnterpriseId, String corpid, String code, String enterpriseId) {
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.MEMBER_WAPP.getVal(), enterpriseId);
private MemberLoginQo getUserByCode(String wxEnterpriseId, String corpid, String code, String enterpriseId,WxEnterpriseQwDTO qwDTO) {
SecretSettingDTO secretSetting = wxEnterpriseApiService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal(), enterpriseId);
if (null == secretSetting || StringUtils.isBlank(secretSetting.getSecretVal())) {
logger.info("MEMBER_WAPPsecret没有配置{},{}", wxEnterpriseId, enterpriseId);
return null;
}
String userDTOJson = qywxUserApiService.getUserByCode(corpid, secretSetting.getSecretVal(), code);
String userDTOJson = qywxUserApiService.getUserByCode(corpid, secretSetting.getSecretVal(), code ,qwDTO.getUrlHost());
logger.info("会员微信登录信息=============>{}", userDTOJson);
return JSON.parseObject(userDTOJson, MemberLoginQo.class);
}
......
package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
......@@ -76,8 +78,6 @@ import com.gic.haoban.manage.web.vo.notify.CustomerFriendMemberVO;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
@RestController
public class WxStaffController extends WebBaseController {
......
......@@ -124,9 +124,10 @@
<dubbo:reference id="settingApiService" interface="com.gic.haoban.app.aggregation.api.service.SettingApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="newDataTargetConfigApiService" interface="com.gic.enterprise.api.service.target.NewDataTargetConfigApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.store.goods.service.GoodsInfoOutApiService" id="goodsInfoOutApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="logisticsApiService" interface="com.gic.business.order.service.logistics.LogisticsApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.store.goods.service.GoodsInfoOutApiService" id="goodsInfoOutApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="orderVerificationRecordApiService" interface="com.gic.haoban.app.aggregation.api.service.evaluation.OrderVerificationRecordApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="orderRefundApiService" interface="com.gic.business.order.service.ordermanage.OrderRefundApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="mallSellerAddressApiService" interface="com.gic.business.order.service.ordermanage.MallSellerAddressApiService" timeout="100000" retries="0" check="false" />
......@@ -137,9 +138,9 @@
<dubbo:reference id="orderSettingApiService" interface="com.gic.business.order.service.setting.OrderSettingApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="evaluateDataApiService" interface="com.gic.evaluate.manage.api.service.EvaluateDataApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.content.MaterialShareLogApiService" id="materialShareLogApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.content.PotentialCustomerApiService" id="potentialCustomerApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.content.InteractRecordApiService" id="interactRecordApiService" timeout="100000" retries="0" check="false" />
</beans>
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