Commit 4f3b32eb by xiongjiangtao

Merge remote-tracking branch 'origin/feature-chat-activity' into feature-chat-activity

parents e2ba18b3 aa9d1a27
......@@ -75,7 +75,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
*/
private Integer joinType;
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 [{"openFlag":0,"val":1},{"openFlag":0,"val":2},{"openFlag":0,"val":3},{"openFlag":0,"val":4}]
*/
private String joinRule;
/**
......
......@@ -68,7 +68,7 @@ public class GroupChatActivityQDTO implements Serializable {
*/
private Integer joinType;
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 [{"openFlag":0,"val":1},{"openFlag":0,"val":2},{"openFlag":0,"val":3},{"openFlag":0,"val":4}]
*/
private String joinRule;
/**
......
......@@ -2,9 +2,11 @@ package com.gic.haoban.manage.service.context.chat;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Constant;
import com.gic.api.base.commons.Page;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
......@@ -102,9 +104,15 @@ public class JoinRuleManager {
Integer joinType = chatActivity.getJoinType();
if (Objects.equals(ChatActivityJoinEnum.RULE.value, joinType)) {
String joinRule = chatActivity.getJoinRule();
for (String ruleStr : joinRule.split(",")) {
Integer rule = Integer.parseInt(ruleStr);
ChatActivityJoinRuleEnum ruleEnum = ChatActivityJoinRuleEnum.getByValue(rule);
List<JSONObject> joinRuleList = JSONArray.parseArray(joinRule, JSONObject.class);
for (JSONObject jsonObject : joinRuleList) {
//是否开启
Integer openFlag = jsonObject.getInteger("openFlag");
Integer val = jsonObject.getInteger("val");
if (!Objects.equals(openFlag, Constant.FLAG_TRUE)) {
continue;
}
ChatActivityJoinRuleEnum ruleEnum = ChatActivityJoinRuleEnum.getByValue(val);
List<GroupChatHmBO> hmBOList = applyJoinRule(ruleEnum, activityHmQDTO);
if (CollectionUtils.isNotEmpty(hmBOList)) {
return hmBOList;
......@@ -275,7 +283,7 @@ public class JoinRuleManager {
private List<GroupChatHmBO> getByStoreIdList(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) {
logger.info("门店id列表:{}",JSON.toJSONString(storeIdList));
// 获取导购列表
Page<ClerkDTO> page = clerkService.listClerkByNameOrCodePage(enterpriseId,"",storeIdList,2,1,1000);
Page<ClerkDTO> page = clerkService.pageClerkByNameOrCode(enterpriseId,"",storeIdList,1,1000);
List<ClerkDTO> clerkList = page.getResult();
if (CollectionUtils.isEmpty(clerkList)) {
logger.info("导购不存在");
......@@ -284,7 +292,7 @@ public class JoinRuleManager {
// 获取导购ID列表
List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList());
// 通过导购id查询staffId
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listBindCode(wxEnterpriseId, enterpriseId, new HashSet<>(clerkIdList));
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listByClerkIds(clerkIdList);
if (CollectionUtils.isEmpty(relationDTOList)) {
logger.info("导购staff关联不存在");
return new ArrayList<>();
......@@ -321,7 +329,7 @@ public class JoinRuleManager {
private Map<String, List<GroupChatHmBO>> getStoreIdToGroupChatHmBOMap(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) {
logger.info("门店id列表:{}",JSON.toJSONString(storeIdList));
Page<ClerkDTO> page = clerkService.listClerkByNameOrCodePage(enterpriseId,"",storeIdList,2,1,5000);
Page<ClerkDTO> page = clerkService.pageClerkByNameOrCode(enterpriseId,"",storeIdList,1,10000);
List<ClerkDTO> clerkList = page.getResult();
if (CollectionUtils.isEmpty(clerkList)) {
logger.info("导购不存在");
......@@ -329,7 +337,7 @@ public class JoinRuleManager {
}
List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList());
//通过导购id查询staffId
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listBindCode(wxEnterpriseId, enterpriseId, new HashSet<>(clerkIdList));
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listByClerkIds(clerkIdList);
if (CollectionUtils.isEmpty(relationDTOList)) {
logger.info("导购staff关联不存在");
return new HashMap<>();
......
......@@ -68,7 +68,7 @@ public class TabGroupChatActivity implements Serializable {
*/
private Integer joinType;
/**
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
* 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 [{"openFlag":0,"val":1},{"openFlag":0,"val":2},{"openFlag":0,"val":3},{"openFlag":0,"val":4}]
*/
private String joinRule;
/**
......
......@@ -96,8 +96,8 @@
<!--新增所有列-->
<!--新增所有列-->
<insert id="insert" keyProperty="chatActivityBindId" useGeneratedKeys="true">
insert into tab_haoban_group_chat_activity_bind(chat_activity_bind_id,chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id)
values (#{chatActivityBindId},#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId})
insert into tab_haoban_group_chat_activity_share_bind(chat_activity_bind_id, chat_activity_id, inviter_member_id, invitee_member_id, invitee_union_id, enterprise_id,wx_enterprise_id)
values (#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId})
</insert>
<!--通过主键修改数据-->
......
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