Commit 3e83fa26 by 徐高华

社群群发-失效处理

parent 6b257705
......@@ -145,4 +145,10 @@ public interface HaobanTimerApiService {
* @param params
*/
void groupChatMsgidTimer(String params) ;
/**
* 取消企微群群发
* @param params
*/
void cancelSendTimer(String params) ;
}
......@@ -29,6 +29,12 @@ public interface GroupChatPlanOwnerLogMapper {
public TabGroupChatPlanOwnerLog selectById(Long ownerLogId);
/**
* 放弃
* @param id
*/
void giveUp(@Param("id")Long id) ;
public void updateSendCount(@Param("id") Long id, @Param("sendCount") int sendCount,
@Param("failCount") int failCount, @Param("sendTime") Date sendTime);
......@@ -58,5 +64,7 @@ public interface GroupChatPlanOwnerLogMapper {
List<GroupChatPlanOwnerLogDTO> listForMsgid() ;
List<GroupChatPlanOwnerLogDTO> listForCancelSend() ;
void updateMsgid(@Param("planId")Long id , @Param("msgid")String msgid) ;
}
\ No newline at end of file
......@@ -30,4 +30,6 @@ public interface GroupChatPlanService {
public void updateRemark(GroupChatPlanDTO dto);
void groupChatMsgidTimer(String params);
void cancelSendTimer(String params);
}
\ No newline at end of file
......@@ -689,6 +689,27 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
this.groupChatPlanMapper.updateRemark(dto);
}
@Override
public void cancelSendTimer(String params) {
List<GroupChatPlanOwnerLogDTO> list = this.groupChatPlanOwnerLogMapper.listForCancelSend();
if(CollectionUtils.isNotEmpty(list)) {
for(GroupChatPlanOwnerLogDTO dto : list) {
String wxEnterpriseId = dto.getWxEnterpriseId() ;
String msgid = dto.getMsgid() ;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
String secret = config.getWxSuiteid() ;
if(qwDTO.isSelf()) {
secret = qwDTO.getSelfSecret() ;
}
ServiceResponse<Void> resp = this.qywxSuiteApiService.cancelGroupmsgSend(qwDTO.getThirdCorpid(),secret,msgid,qwDTO.isSelf(),qwDTO.getUrlHost()) ;
if(resp.isSuccess()) {
this.groupChatPlanOwnerLogMapper.giveUp(dto.getOwnerLogId()) ;
}
}
}
}
@Override
public void groupChatMsgidTimer(String params) {
logger.info("社群群发获取msgid");
......
......@@ -199,4 +199,9 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
public void groupChatMsgidTimer(String params) {
this.groupChatPlanService.groupChatMsgidTimer(params) ;
}
@Override
public void cancelSendTimer(String params) {
this.groupChatPlanService.cancelSendTimer(params) ;
}
}
......@@ -104,6 +104,10 @@
update tab_haoban_group_chat_plan_owner_log set msg_id=#{msgid} where owner_log_id = #{id}
</update>
<update id="giveUp" parameterType="java.lang.Long">
update tab_haoban_group_chat_plan_owner_log set status_flag = 3 where owner_log_id = #{id}
</update>
<!-- ============ 查询=============-->
<select id="selectById" parameterType="long" resultMap="result-map-tabHaobanGroupChatPlanOwnerLog">
SELECT <include refid="Base_Column_List"/> FROM tab_haoban_group_chat_plan_owner_log WHERE owner_log_id = #{ownerLogId} and delete_flag = 0
......@@ -275,4 +279,17 @@
</select>
<select id="listForCancelSend" resultType="com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO">
SELECT
a.wx_enterprise_id wxEnterpriseId ,
a.owner_log_id ownerLogId ,
b.plan_id planId ,
a.staff_id staffId ,
a.send_time sendTime,
a.msgid msgid
FROM tab_haoban_group_chat_plan_owner_log a LEFT JOIN tab_haoban_group_chat_plan b ON a.plan_id = b.plan_id
WHERE b.exec_type = 0 AND a.send_status = 1 AND a.msgid IS not NULL and b.end_time <![CDATA[<=]]> now()
</select>
</mapper>
\ No newline at end of file
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