Commit d34e898b by 王祖波

增加活码判断是否已经入群的逻辑

parent f0bce7f4
package com.gic.haoban.manage.api.dto.chat;
import java.io.Serializable;
public class GroupChatActivityHmDTO extends GroupChatHmDTO implements Serializable {
/**
* 是否已经入群 1是0否
*/
private Integer joinGroup;
public Integer getJoinGroup() {
return joinGroup;
}
public void setJoinGroup(Integer joinGroup) {
this.joinGroup = joinGroup;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.service.chat; package com.gic.haoban.manage.api.service.chat;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO;
...@@ -24,7 +25,7 @@ public interface GroupChatActivityShareApiService { ...@@ -24,7 +25,7 @@ public interface GroupChatActivityShareApiService {
* @param activityHmQDTO * @param activityHmQDTO
* @return * @return
*/ */
ServiceResponse<List<GroupChatHmDTO>> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO); ServiceResponse<List<GroupChatActivityHmDTO>> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO);
/** /**
* 社群入群MQ * 社群入群MQ
......
...@@ -82,4 +82,6 @@ public interface GroupChatUserMapper { ...@@ -82,4 +82,6 @@ public interface GroupChatUserMapper {
List<TabGroupChatUser> getByMember(@Param("enterpriseId")String enterpriseId, @Param("memberId")String memberId); List<TabGroupChatUser> getByMember(@Param("enterpriseId")String enterpriseId, @Param("memberId")String memberId);
List<TabGroupChatUser> getByUnionId(@Param("enterpriseId")String enterpriseId, @Param("unionid")String unionid); List<TabGroupChatUser> getByUnionId(@Param("enterpriseId")String enterpriseId, @Param("unionid")String unionid);
List<Long> listByUnionIdAndChatHmId(@Param("enterpriseId")String enterpriseId, @Param("unionid")String unionid,@Param("chatHmIdList")List<Long> chatHmIdList);
} }
\ No newline at end of file
package com.gic.haoban.manage.service.pojo.bo.chat;
public class GroupChatActivityHmBO extends GroupChatHmBO{
private static final long serialVersionUID = 21518878229500L;
/**
* 是否已经入群 1是0否
*/
private Integer joinGroup;
public Integer getJoinGroup() {
return joinGroup;
}
public void setJoinGroup(Integer joinGroup) {
this.joinGroup = joinGroup;
}
}
\ No newline at end of file
...@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO; ...@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity; import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import java.util.List; import java.util.List;
...@@ -112,5 +113,5 @@ public interface GroupChatActivityService { ...@@ -112,5 +113,5 @@ public interface GroupChatActivityService {
* @param activityHmQDTO * @param activityHmQDTO
* @return * @return
*/ */
List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException; List<GroupChatActivityHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException;
} }
...@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil; ...@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
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.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
...@@ -25,9 +26,11 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO; ...@@ -25,9 +26,11 @@ import com.gic.haoban.manage.api.qdto.chat.GroupChatActivitySearchQDTO;
import com.gic.haoban.manage.service.context.chat.BusinessManager; import com.gic.haoban.manage.service.context.chat.BusinessManager;
import com.gic.haoban.manage.service.context.chat.JoinRuleManager; import com.gic.haoban.manage.service.context.chat.JoinRuleManager;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper; import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatActivityMapper;
import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity; import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivity;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin; import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityJoin;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward; import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityReward;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService; import com.gic.haoban.manage.service.service.chat.GroupChatActivityJoinService;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService; import com.gic.haoban.manage.service.service.chat.GroupChatActivityRewardService;
...@@ -43,6 +46,7 @@ import org.springframework.stereotype.Service; ...@@ -43,6 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.swing.text.html.parser.Entity;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -60,9 +64,11 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService { ...@@ -60,9 +64,11 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
private static final String ACTIVITY_KEY = "haoban-manage3:group_chat:activity:"; private static final String ACTIVITY_KEY = "haoban-manage3:group_chat:activity:";
@Resource @Autowired
private GroupChatActivityMapper groupChatActivityMapper; private GroupChatActivityMapper groupChatActivityMapper;
@Autowired @Autowired
private GroupChatUserMapper groupChatUserMapper;
@Autowired
private GroupChatActivityRewardService groupChatActivityRewardService; private GroupChatActivityRewardService groupChatActivityRewardService;
@Autowired @Autowired
private GroupChatActivityJoinService groupChatActivityJoinService; private GroupChatActivityJoinService groupChatActivityJoinService;
...@@ -375,7 +381,7 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService { ...@@ -375,7 +381,7 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
} }
@Override @Override
public List<GroupChatHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException{ public List<GroupChatActivityHmBO> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) throws BusinessException{
Long chatActivityId = activityHmQDTO.getChatActivityId(); Long chatActivityId = activityHmQDTO.getChatActivityId();
String enterpriseId = activityHmQDTO.getEnterpriseId(); String enterpriseId = activityHmQDTO.getEnterpriseId();
GroupChatActivityDTO chatActivity = getActivityDetailCache(enterpriseId,chatActivityId); GroupChatActivityDTO chatActivity = getActivityDetailCache(enterpriseId,chatActivityId);
...@@ -383,6 +389,17 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService { ...@@ -383,6 +389,17 @@ public class GroupChatActivityServiceImpl implements GroupChatActivityService {
return Collections.emptyList(); return Collections.emptyList();
} }
activityHmQDTO.setChatActivity(chatActivity); activityHmQDTO.setChatActivity(chatActivity);
return joinRuleManager.listGroupHm(activityHmQDTO); List<GroupChatHmBO> hmBOList = joinRuleManager.listGroupHm(activityHmQDTO);
if (CollectionUtils.isEmpty(hmBOList)) {
return Collections.emptyList();
}
List<Long> chatHmIdList = hmBOList.stream().map(GroupChatHmBO::getChatHmId).collect(Collectors.toList());
List<Long> existChatHmIdList = groupChatUserMapper.listByUnionIdAndChatHmId(enterpriseId, activityHmQDTO.getInviteeUnionId(), chatHmIdList);
List<GroupChatActivityHmBO> activityHmBOList = EntityUtil.changeEntityListByJSON(GroupChatActivityHmBO.class, hmBOList);
for (GroupChatActivityHmBO activityHmBO : activityHmBOList) {
Long chatHmId = activityHmBO.getChatHmId();
activityHmBO.setJoinGroup(existChatHmIdList.contains(chatHmId) ? Constant.FLAG_TRUE : Constant.FLAG_FALSE);
}
return activityHmBOList;
} }
} }
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BusinessException; import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO; import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityShareBindQDTO;
...@@ -11,6 +12,7 @@ import com.gic.haoban.manage.api.service.chat.GroupChatActivityShareApiService; ...@@ -11,6 +12,7 @@ import com.gic.haoban.manage.api.service.chat.GroupChatActivityShareApiService;
import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind; import com.gic.haoban.manage.service.entity.chat.TabGroupChatActivityShareBind;
//import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext; //import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityBaseContext;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatActivityHmBO;
import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO; import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService; import com.gic.haoban.manage.service.service.chat.GroupChatActivityInviteLogService;
import com.gic.haoban.manage.service.service.chat.GroupChatActivityService; import com.gic.haoban.manage.service.service.chat.GroupChatActivityService;
...@@ -51,14 +53,14 @@ public class GroupChatActivityShareApiServiceImpl implements GroupChatActivitySh ...@@ -51,14 +53,14 @@ public class GroupChatActivityShareApiServiceImpl implements GroupChatActivitySh
} }
@Override @Override
public ServiceResponse<List<GroupChatHmDTO>> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) { public ServiceResponse<List<GroupChatActivityHmDTO>> listGroupChatHm(GroupChatActivityHmQDTO activityHmQDTO) {
if (StringUtils.isAnyBlank(activityHmQDTO.getEnterpriseId(), if (StringUtils.isAnyBlank(activityHmQDTO.getEnterpriseId(),
activityHmQDTO.getInviterMemberId()) || activityHmQDTO.getChatActivityId() == null) { activityHmQDTO.getInviterMemberId()) || activityHmQDTO.getChatActivityId() == null) {
return ServiceResponse.failure("500", "参数异常"); return ServiceResponse.failure("500", "参数异常");
} }
try { try {
List<GroupChatHmBO> hmBOList = groupChatActivityService.listGroupChatHm(activityHmQDTO); List<GroupChatActivityHmBO> hmBOList = groupChatActivityService.listGroupChatHm(activityHmQDTO);
return ServiceResponse.success(EntityUtil.changeEntityListNew(GroupChatHmDTO.class,hmBOList)); return ServiceResponse.success(EntityUtil.changeEntityListNew(GroupChatActivityHmDTO.class,hmBOList));
} catch (BusinessException e) { } catch (BusinessException e) {
return ServiceResponse.failure(e.getCode(), e.getMessage()); return ServiceResponse.failure(e.getCode(), e.getMessage());
} }
......
...@@ -336,4 +336,17 @@ ...@@ -336,4 +336,17 @@
and unionid = #{unionid} and status_flag = 1 and delete_flag = 0 order by create_time desc and unionid = #{unionid} and status_flag = 1 and delete_flag = 0 order by create_time desc
</select> </select>
<select id="listByUnionIdAndChatHmId" resultType="java.lang.Long">
select distinct chr.chat_hm_id
from tab_haoban_group_chat_hm_relation chr left join
tab_haoban_group_chat_user cu on chr.group_chat_id = cu.group_chat_id
where chr.enterprise_id = #{enterpriseId} and chr.delete_flag = 0 and chr.status_flag = 1
and chr.chat_hm_id in
<foreach collection="chatHmIdList" close=")" open="(" index="index" item="item" separator=",">
#{item}
</foreach>
and cu.unionid = #{unionid} and cu.status_flag = 1 and cu.delete_flag = 0
</select>
</mapper> </mapper>
\ No newline at end of file
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.content.api.qdto.activity.ContentActivityQDTO; import com.gic.content.api.qdto.activity.ContentActivityQDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityHmDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDetailDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatActivityRewardDetailDTO;
import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO; import com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO;
...@@ -135,7 +136,7 @@ public class GroupChatTest { ...@@ -135,7 +136,7 @@ public class GroupChatTest {
groupChatActivityHmQDTO.setLatitude("30.247100"); groupChatActivityHmQDTO.setLatitude("30.247100");
groupChatActivityHmQDTO.setLongitude("120.209000"); groupChatActivityHmQDTO.setLongitude("120.209000");
groupChatActivityHmQDTO.setSkipArea(false); groupChatActivityHmQDTO.setSkipArea(false);
ServiceResponse<List<GroupChatHmDTO>> listServiceResponse = groupChatActivityShareApiService.listGroupChatHm(groupChatActivityHmQDTO); ServiceResponse<List<GroupChatActivityHmDTO>> listServiceResponse = groupChatActivityShareApiService.listGroupChatHm(groupChatActivityHmQDTO);
System.out.println(JSONObject.toJSONString(listServiceResponse)); System.out.println(JSONObject.toJSONString(listServiceResponse));
} }
......
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