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 { ...@@ -75,7 +75,7 @@ public class GroupChatActivityBaseDTO implements Serializable {
*/ */
private Integer joinType; 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; private String joinRule;
/** /**
......
...@@ -68,7 +68,7 @@ public class GroupChatActivityQDTO implements Serializable { ...@@ -68,7 +68,7 @@ public class GroupChatActivityQDTO implements Serializable {
*/ */
private Integer joinType; 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; private String joinRule;
/** /**
......
...@@ -2,9 +2,11 @@ package com.gic.haoban.manage.service.context.chat; ...@@ -2,9 +2,11 @@ package com.gic.haoban.manage.service.context.chat;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.BusinessException; import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Constant;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
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;
...@@ -102,9 +104,15 @@ public class JoinRuleManager { ...@@ -102,9 +104,15 @@ public class JoinRuleManager {
Integer joinType = chatActivity.getJoinType(); Integer joinType = chatActivity.getJoinType();
if (Objects.equals(ChatActivityJoinEnum.RULE.value, joinType)) { if (Objects.equals(ChatActivityJoinEnum.RULE.value, joinType)) {
String joinRule = chatActivity.getJoinRule(); String joinRule = chatActivity.getJoinRule();
for (String ruleStr : joinRule.split(",")) { List<JSONObject> joinRuleList = JSONArray.parseArray(joinRule, JSONObject.class);
Integer rule = Integer.parseInt(ruleStr); for (JSONObject jsonObject : joinRuleList) {
ChatActivityJoinRuleEnum ruleEnum = ChatActivityJoinRuleEnum.getByValue(rule); //是否开启
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); List<GroupChatHmBO> hmBOList = applyJoinRule(ruleEnum, activityHmQDTO);
if (CollectionUtils.isNotEmpty(hmBOList)) { if (CollectionUtils.isNotEmpty(hmBOList)) {
return hmBOList; return hmBOList;
...@@ -275,7 +283,7 @@ public class JoinRuleManager { ...@@ -275,7 +283,7 @@ public class JoinRuleManager {
private List<GroupChatHmBO> getByStoreIdList(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) { private List<GroupChatHmBO> getByStoreIdList(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) {
logger.info("门店id列表:{}",JSON.toJSONString(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(); List<ClerkDTO> clerkList = page.getResult();
if (CollectionUtils.isEmpty(clerkList)) { if (CollectionUtils.isEmpty(clerkList)) {
logger.info("导购不存在"); logger.info("导购不存在");
...@@ -284,7 +292,7 @@ public class JoinRuleManager { ...@@ -284,7 +292,7 @@ public class JoinRuleManager {
// 获取导购ID列表 // 获取导购ID列表
List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList()); List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList());
// 通过导购id查询staffId // 通过导购id查询staffId
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listBindCode(wxEnterpriseId, enterpriseId, new HashSet<>(clerkIdList)); List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listByClerkIds(clerkIdList);
if (CollectionUtils.isEmpty(relationDTOList)) { if (CollectionUtils.isEmpty(relationDTOList)) {
logger.info("导购staff关联不存在"); logger.info("导购staff关联不存在");
return new ArrayList<>(); return new ArrayList<>();
...@@ -321,7 +329,7 @@ public class JoinRuleManager { ...@@ -321,7 +329,7 @@ public class JoinRuleManager {
private Map<String, List<GroupChatHmBO>> getStoreIdToGroupChatHmBOMap(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) { private Map<String, List<GroupChatHmBO>> getStoreIdToGroupChatHmBOMap(String enterpriseId,String wxEnterpriseId,List<String> storeIdList) {
logger.info("门店id列表:{}",JSON.toJSONString(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(); List<ClerkDTO> clerkList = page.getResult();
if (CollectionUtils.isEmpty(clerkList)) { if (CollectionUtils.isEmpty(clerkList)) {
logger.info("导购不存在"); logger.info("导购不存在");
...@@ -329,7 +337,7 @@ public class JoinRuleManager { ...@@ -329,7 +337,7 @@ public class JoinRuleManager {
} }
List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList()); List<String> clerkIdList = clerkList.stream().map(ClerkDTO::getClerkId).collect(Collectors.toList());
//通过导购id查询staffId //通过导购id查询staffId
List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listBindCode(wxEnterpriseId, enterpriseId, new HashSet<>(clerkIdList)); List<StaffClerkRelationDTO> relationDTOList = staffClerkRelationService.listByClerkIds(clerkIdList);
if (CollectionUtils.isEmpty(relationDTOList)) { if (CollectionUtils.isEmpty(relationDTOList)) {
logger.info("导购staff关联不存在"); logger.info("导购staff关联不存在");
return new HashMap<>(); return new HashMap<>();
......
...@@ -68,7 +68,7 @@ public class TabGroupChatActivity implements Serializable { ...@@ -68,7 +68,7 @@ public class TabGroupChatActivity implements Serializable {
*/ */
private Integer joinType; 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; private String joinRule;
/** /**
......
...@@ -96,8 +96,8 @@ ...@@ -96,8 +96,8 @@
<!--新增所有列--> <!--新增所有列-->
<!--新增所有列--> <!--新增所有列-->
<insert id="insert" keyProperty="chatActivityBindId" useGeneratedKeys="true"> <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) 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},#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId}) values (#{chatActivityBindId}, #{chatActivityId}, #{inviterMemberId}, #{inviteeMemberId}, #{inviteeUnionId}, #{enterpriseId}, #{wxEnterpriseId})
</insert> </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