Commit aac3e478 by 徐高华

群链接数量

parent 9b5506c7
......@@ -18,6 +18,15 @@ public class ChatHmSearchQDTO implements Serializable {
private Long linkId;
private List<Long> chatHmIdList;
private List<String> creatorIdList ;
private Integer linkCount ;
public Integer getLinkCount() {
return linkCount;
}
public void setLinkCount(Integer linkCount) {
this.linkCount = linkCount;
}
public List<String> getCreatorIdList() {
return creatorIdList;
......
......@@ -29,6 +29,8 @@ public interface GroupChatHmMapper {
public TabGroupChatHm selectById(Long chatHmId);
public void updateLinkCount(@Param("chatHmId") Long chatHmId, @Param("linkCount") int linkCount);
public List<TabGroupChatHm> list(ChatHmSearchQDTO qdto);
}
\ No newline at end of file
......@@ -35,4 +35,6 @@ public interface GroupChatHmService {
public void discard(Long chatHmId, String wxEnterpriseId, String clerkId, String clerkName);
public void updateLinkCount(String wxEnterpriseId, Long chatHmId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.chat.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
......@@ -43,6 +44,7 @@ import com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmRelationBO;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
import com.gic.haoban.manage.service.service.hm.HmLinkChatService;
import com.gic.wechat.api.dto.qywx.chat.AddJoinWayDTO;
import com.gic.wechat.api.service.qywx.QywxChatApiService;
import com.github.pagehelper.PageHelper;
......@@ -69,6 +71,8 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
private HmLinkChatMapper hmLinkChatMapper;
@Autowired
private ChatNoticeMapper chatNoticeMapper;
@Autowired
private HmLinkChatService hmLinkChatService;
@Override
public Page<GroupChatHmBO> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) {
......@@ -106,6 +110,7 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
@Override
public GroupChatHmBO getById(Long hmId) {
TabGroupChatHm hm = this.groupChatHmMapper.selectById(hmId);
this.updateLinkCount(hm.getWxEnterpriseId(), hmId);
GroupChatHmBO bo = EntityUtil.changeEntityByJSON(GroupChatHmBO.class, hm);
return bo;
}
......@@ -360,4 +365,16 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
this.chatNoticeMapper.insert(entity);
}
@Override
public void updateLinkCount(String wxEnterpriseId, Long chatHmId) {
List<HmLinkChatDTO> linkCount = this.hmLinkChatService.getLinkCountForHm(wxEnterpriseId,
Arrays.asList(chatHmId));
if (CollectionUtils.isNotEmpty(linkCount)) {
Integer count = linkCount.get(0).getLinkCount();
if (null != count && count != 0) {
this.groupChatHmMapper.updateLinkCount(chatHmId, count);
}
}
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.hm.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
......@@ -18,6 +20,7 @@ import com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmLinkChatQDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkChatMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLinkChat;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
import com.gic.haoban.manage.service.service.hm.HmLinkChatService;
import com.github.pagehelper.PageHelper;
......@@ -27,6 +30,8 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
private static org.apache.logging.log4j.Logger log = LogManager.getLogger(HmLinkChatService.class);
@Autowired
private HmLinkChatMapper hmLinkChatMapper;
@Autowired
private GroupChatHmService groupChatHmService;
@Override
public List<HmLinkChatDTO> listByLinkId(String wxEnterpriseId, String enterpriseId, Long linkId) {
......@@ -35,11 +40,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
@Override
public int save(Long linkId, List<HmLinkChatDTO> list) {
log.info("保存群链接={}",JSON.toJSONString(list));
log.info("保存群链接={}", JSON.toJSONString(list));
List<HmLinkChatDTO> updateList = list.stream().filter(dto -> null != dto.getLinkChatId())
.collect(Collectors.toList());
List<Long> notDelIdList = updateList.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toList());
log.info("不删除={},{}",linkId,notDelIdList);
log.info("不删除={},{}", linkId, notDelIdList);
this.hmLinkChatMapper.delete(linkId, notDelIdList);
if (CollectionUtils.isNotEmpty(updateList)) {
for (HmLinkChatDTO item : updateList) {
......@@ -58,6 +63,11 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
this.hmLinkChatMapper.insert(entity);
}
}
Set<Long> set = list.stream().map(dto -> dto.getChatHmId()).collect(Collectors.toSet());
List<Long> idList = new ArrayList<>(set);
for (Long id : idList) {
this.groupChatHmService.updateLinkCount(list.get(0).getWxEnterpriseId(), id);
}
return 0;
}
......
......@@ -25,6 +25,7 @@ import com.gic.haoban.manage.service.dao.mapper.hm.HmLinkMapper;
import com.gic.haoban.manage.service.entity.hm.TabHmLink;
import com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.service.chat.GroupChatHmService;
import com.gic.haoban.manage.service.service.hm.HmLinkChatService;
import com.gic.haoban.manage.service.service.hm.HmLinkService;
import com.gic.haoban.manage.service.service.hm.HmLinkStoreService;
......@@ -50,6 +51,8 @@ public class HmLinkServiceImpl implements HmLinkService {
private WelcomeRelationService welcomeRelationService;
@Autowired
private HmLinkChatService hmLinkChatService ;
@Autowired
private GroupChatHmService groupChatHmService ;
@Override
public HmLinkBO getByLinkId(String wxEnterpriseId, String enterprieId, Long linkId) {
......@@ -158,6 +161,7 @@ public class HmLinkServiceImpl implements HmLinkService {
item.setSortNum(index++);
}
this.hmLinkChatService.save(linkId, dto.getLinkChatList()) ;
this.groupChatHmService.updateLinkCount(dto.getWxEnterpriseId(), dto.getOtherChatHmId());
}
return dto.getLinkCode();
}
......
......@@ -2,8 +2,6 @@ package com.gic.haoban.manage.service.service.out.impl.chat;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -44,22 +42,6 @@ public class GroupChatHmApiServiceImpl implements GroupChatHmApiService {
public ServiceResponse<Page<GroupChatHmDTO>> listPage(ChatHmSearchQDTO qdto, BasePageInfo basePageInfo) {
Page<GroupChatHmBO> page = this.groupChatHmService.listPage(qdto, basePageInfo);
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.setLinkCount(map.get(dto.getChatHmId()));
} else {
dto.setLinkCount(0);
}
});
}
return ServiceResponse.success(resultPage);
}
......
......@@ -23,6 +23,7 @@
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="chat_count" property="chatCount" />
<result column="link_count" property="linkCount"/>
<result column="status_flag" property="statusFlag"/>
</resultMap>
<sql id="Base_Column_List">
......@@ -44,7 +45,7 @@
delete_flag,
create_time,
update_time,
chat_count,
chat_count, link_count ,
status_flag
</sql>
<!-- ===================== 新增 ======================== -->
......@@ -136,8 +137,11 @@
FROM tab_haoban_group_chat_hm WHERE chat_hm_id = #{chatHmId} and
delete_flag = 0
</select>
<update id="updateLinkCount">
update tab_haoban_group_chat_hm set link_count = #{linkCount} where chat_hm_id = #{chatHmId}
</update>
<select id="list" resultMap="result-map-tabHaobanGroupChatHm" parameterType="com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO">
SELECT
<include refid="Base_Column_List" />
......@@ -158,6 +162,9 @@
#{id}
</foreach>
</if>
<if test="null != linkCount and linkCount == 0">
and link_count = 0
</if>
<if test="null != creatorIdList and creatorIdList.size > 0">
and creator_id in
<foreach collection="creatorIdList" close=")" index="index" item="id" open="(" separator=",">
......
......@@ -257,6 +257,9 @@ public class GroupChatHmController {
String logContent = "废弃群活码【" + respDTO.getResult().getChatHmCode() + "-" + respDTO.getResult().getName()
+ "】";
GicLogRecordEvaluationContext.putAttribute("logValue", logContent);
if(page==1) {
GicLogRecordEvaluationContext.setOptPage("群活码-详情") ;
}
GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId());
return RestResponse.successResult();
}
......
......@@ -112,6 +112,9 @@ public class HmLinkController {
dto.setEnterpriseId(loginUser.getEnterpriseId());
ServiceResponse<String> saveResp = this.hmLinkApiService.save(dto);
if (saveResp.isSuccess()) {
if(dto.getLinkType()==HmLinkTypeEnum.CHAT_HM_LINK_TYPE.getLinkType()) {
GicLogRecordEvaluationContext.setOptPage("引流入群-新建链接") ;
}
String logContent = "新增引流链接【" + saveResp.getResult() + "-" + dto.getName() + "】";
logger.info(logContent);
GicLogRecordEvaluationContext.putAttribute("logValue", logContent);
......@@ -148,6 +151,7 @@ public class HmLinkController {
GicLogRecordEvaluationContext.noWriteLog();
}
logger.info(logContent);
GicLogRecordEvaluationContext.setOptPage("引流入群-编辑链接") ;
GicLogRecordEvaluationContext.putAttribute("logValue", logContent);
GicLogRecordEvaluationContext.putOptTargetId(AuthWebRequestUtil.getLoginUser().getClerkId());
return RestResponse.successResult();
......
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