Commit 76cb0073 by 徐高华

链接数

parent 7b398a95
...@@ -33,6 +33,15 @@ public class HmLinkChatDTO implements Serializable { ...@@ -33,6 +33,15 @@ public class HmLinkChatDTO implements Serializable {
private String linkCode; private String linkCode;
private String shortCode; private String shortCode;
private String name; private String name;
private Integer linkCount ;
public Integer getLinkCount() {
return linkCount;
}
public void setLinkCount(Integer linkCount) {
this.linkCount = linkCount;
}
public String getName() { public String getName() {
return name; return name;
......
package com.gic.haoban.manage.service.dao.mapper.hm; package com.gic.haoban.manage.service.dao.mapper.hm;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -28,5 +29,8 @@ public interface HmLinkChatMapper { ...@@ -28,5 +29,8 @@ public interface HmLinkChatMapper {
public List<HmLinkChatDTO> listByLinkId(@Param("wxEnterpriseId") String wxEnterpriseId, public List<HmLinkChatDTO> listByLinkId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId, @Param("linkId") Long linkId); @Param("enterpriseId") String enterpriseId, @Param("linkId") Long linkId);
public List<HmLinkChatDTO> getLinkCountForHm(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("chatHmIdList") List<Long> chatHmIdList) ;
public List<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto) ; public List<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto) ;
} }
\ No newline at end of file
...@@ -38,8 +38,6 @@ public class TabGroupChatHm implements Serializable{ ...@@ -38,8 +38,6 @@ public class TabGroupChatHm implements Serializable{
private java.util.Date updateTime; private java.util.Date updateTime;
/**关联群数量*/ /**关联群数量*/
private Integer chatCount; private Integer chatCount;
/**已关联链接数*/
private Integer linkCount;
// 1有效 2作废 3待生效 // 1有效 2作废 3待生效
private Integer statusFlag ; private Integer statusFlag ;
...@@ -184,11 +182,4 @@ public class TabGroupChatHm implements Serializable{ ...@@ -184,11 +182,4 @@ public class TabGroupChatHm implements Serializable{
public Integer getChatCount(){ public Integer getChatCount(){
return chatCount; return chatCount;
} }
public void setLinkCount(Integer linkCount){
this.linkCount = linkCount;
}
public Integer getLinkCount(){
return linkCount;
}
} }
\ No newline at end of file
package com.gic.haoban.manage.service.service.hm; package com.gic.haoban.manage.service.service.hm;
import java.util.List; import java.util.List;
import java.util.Map;
import com.gic.api.base.commons.BasePageInfo; import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -22,5 +23,17 @@ public interface HmLinkChatService { ...@@ -22,5 +23,17 @@ public interface HmLinkChatService {
public int save(Long linkId, List<HmLinkChatDTO> list); public int save(Long linkId, List<HmLinkChatDTO> list);
public Page<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto, BasePageInfo basePageInfo); public Page<HmLinkChatDTO> listPage(HmLinkChatQDTO qdto, BasePageInfo basePageInfo);
/**
*
* @Title: getLinkCountForHm
* @Description: 查询活码关联链接数量
* @author xugh
* @param wxEnterpriseId
* @param chatHmIdList
* @return
* @throws
*/
public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList) ;
} }
...@@ -62,5 +62,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService { ...@@ -62,5 +62,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
Page<HmLinkChatDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, HmLinkChatDTO.class); Page<HmLinkChatDTO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, HmLinkChatDTO.class);
return retPage; return retPage;
} }
@Override
public List<HmLinkChatDTO> getLinkCountForHm(String wxEnterpriseId, List<Long> chatHmIdList) {
return this.hmLinkChatMapper.getLinkCountForHm(wxEnterpriseId, chatHmIdList) ;
}
} }
package com.gic.haoban.manage.service.service.out.impl.chat; package com.gic.haoban.manage.service.service.out.impl.chat;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -37,6 +42,22 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService { ...@@ -37,6 +42,22 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService {
public ServiceResponse<Page<GroupChatHmDTO>> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) { public ServiceResponse<Page<GroupChatHmDTO>> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) {
Page<GroupChatHmBO> page = this.groupChatHmService.listPage(qdto, basePageInfo); Page<GroupChatHmBO> page = this.groupChatHmService.listPage(qdto, basePageInfo);
Page<GroupChatHmDTO> resultPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatHmDTO.class); Page<GroupChatHmDTO> resultPage = PageHelperUtils.changePageToCurrentPage(page, GroupChatHmDTO.class);
if(CollectionUtils.isNotEmpty(resultPage.getResult())) {
List<Long> chatHmIdList = resultPage.getResult().stream().map(dto -> dto.getChatHmId())
.collect(Collectors.toList());
List<HmLinkChatDTO> linkCount = this.hmLinkChatService.getLinkCountForHm(qdto.getWxEnterpriseId(),
chatHmIdList);
Map<Long, Integer> map = linkCount.stream()
.collect(Collectors.toMap(HmLinkChatDTO::getChatHmId, HmLinkChatDTO::getLinkCount, (k1, k2) -> k1));
resultPage.getResult().forEach(dto -> {
if (null != map.get(dto.getChatHmId())) {
dto.setChatCount(map.get(dto.getChatHmId()));
} else {
dto.setChatCount(0);
}
});
}
return ServiceResponse.success(resultPage); return ServiceResponse.success(resultPage);
} }
...@@ -52,16 +73,15 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService { ...@@ -52,16 +73,15 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService {
this.groupChatHmService.saveHm(dto); this.groupChatHmService.saveHm(dto);
return ServiceResponse.success(dto); return ServiceResponse.success(dto);
} }
@Override @Override
public ServiceResponse<Void> discard(Long chatHmId, String wxEnterpriseId , String clerkId, String clerkName) { public ServiceResponse<Void> discard(Long chatHmId, String wxEnterpriseId, String clerkId, String clerkName) {
this.groupChatHmService.discard(chatHmId,wxEnterpriseId,clerkId,clerkName) ; this.groupChatHmService.discard(chatHmId, wxEnterpriseId, clerkId, clerkName);
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override @Override
public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(HmLinkChatQDTO qdto, public ServiceResponse<Page<HmLinkChatDTO>> listPageChatLink(HmLinkChatQDTO qdto, BasePageInfo basePageInfo) {
BasePageInfo basePageInfo) {
Page<HmLinkChatDTO> page = this.hmLinkChatService.listPage(qdto, basePageInfo); Page<HmLinkChatDTO> page = this.hmLinkChatService.listPage(qdto, basePageInfo);
return ServiceResponse.success(page); return ServiceResponse.success(page);
} }
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" /> <result column="update_time" property="updateTime" />
<result column="chat_count" property="chatCount" /> <result column="chat_count" property="chatCount" />
<result column="link_count" property="linkCount" />
<result column="status_flag" property="statusFlag"/> <result column="status_flag" property="statusFlag"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -46,7 +45,7 @@ ...@@ -46,7 +45,7 @@
create_time, create_time,
update_time, update_time,
chat_count, chat_count,
link_count , status_flag status_flag
</sql> </sql>
<!-- ===================== 新增 ======================== --> <!-- ===================== 新增 ======================== -->
<insert id="insert" <insert id="insert"
...@@ -72,7 +71,7 @@ ...@@ -72,7 +71,7 @@
create_time, create_time,
update_time, update_time,
chat_count, chat_count,
link_count , status_flag status_flag
)VALUES( )VALUES(
#{chatHmId}, #{chatHmId},
#{chatHmCode}, #{chatHmCode},
...@@ -93,7 +92,7 @@ ...@@ -93,7 +92,7 @@
now(), now(),
now(), now(),
#{chatCount}, #{chatCount},
0 , 1 1
) )
]]> ]]>
</insert> </insert>
......
...@@ -95,6 +95,16 @@ ...@@ -95,6 +95,16 @@
</select> </select>
<select id="getLinkCountForHm" resultType="com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO">
select chat_hm_id chatHmId, COUNT(DISTINCT(link_id)) linkCount from tab_haoban_hm_link_chat where wx_enterprise_id = #{wxEnterpriseId}
and chat_hm_id in
<foreach collection="chatHmIdList" item="item" separator="," index="index" close=")" open="(">
#{item}
</foreach>
and delete_flag = 0 group by chat_hm_id
</select>
<select id="listPage" parameterType="com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO" resultType="com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO"> <select id="listPage" parameterType="com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO" resultType="com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO">
SELECT a.link_id linkId , b.`name` name , b.`link_code` linkCode , b.`short_code` shortCode FROM tab_haoban_hm_link_chat a LEFT JOIN tab_haoban_hm_link b ON a.link_id = b.link_id SELECT a.link_id linkId , b.`name` name , b.`link_code` linkCode , b.`short_code` shortCode FROM tab_haoban_hm_link_chat a LEFT JOIN tab_haoban_hm_link b ON a.link_id = b.link_id
WHERE a.wx_enterprise_id=#{wxEnterpriseId} and a.enterprise_id=#{enterpriseId} and a.chat_hm_id = #{chatHmId} WHERE a.wx_enterprise_id=#{wxEnterpriseId} and a.enterprise_id=#{enterpriseId} and a.chat_hm_id = #{chatHmId}
......
...@@ -176,7 +176,7 @@ public class GroupChatHmController { ...@@ -176,7 +176,7 @@ public class GroupChatHmController {
} }
@RequestMapping("download") @RequestMapping("download")
public RestResponse<Object> download(String params) { public RestResponse<Object> download(ChatHmSearchQDTO qdto) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String qrCodeName = "群活码"; String qrCodeName = "群活码";
final String fileName = qrCodeName + "_" + sdf.format(new Date()) + ".zip"; final String fileName = qrCodeName + "_" + sdf.format(new Date()) + ".zip";
...@@ -200,7 +200,6 @@ public class GroupChatHmController { ...@@ -200,7 +200,6 @@ public class GroupChatHmController {
BasePageInfo basePageInfo = new BasePageInfo(); BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1); basePageInfo.setPageNum(1);
basePageInfo.setPageSize(1000); basePageInfo.setPageSize(1000);
ChatHmSearchQDTO qdto = new ChatHmSearchQDTO();
qdto.setEnterpriseId(enterpriseId); qdto.setEnterpriseId(enterpriseId);
qdto.setWxEnterpriseId(wxEnterpriseId); qdto.setWxEnterpriseId(wxEnterpriseId);
ServiceResponse<Page<GroupChatHmDTO>> resp = this.groupChatHmApiService.listPage(qdto, basePageInfo); ServiceResponse<Page<GroupChatHmDTO>> resp = this.groupChatHmApiService.listPage(qdto, basePageInfo);
......
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