Commit d1066982 by zhuyajie

1002600qq群发

parent 7a441403
...@@ -25,9 +25,14 @@ public enum LargeTempletEnum { ...@@ -25,9 +25,14 @@ public enum LargeTempletEnum {
*/ */
SPECIAL_AGENT(5, "特殊出版社"), SPECIAL_AGENT(5, "特殊出版社"),
/** /**
* 小睿 * 小睿-微信
*/ */
XIAORUI(6,"小睿"); XIAORUI(6,"小睿(微信)"),
/**
* 小睿-QQ
*/
XIAORUI_QQ(7,"小睿(QQ)");
public final Integer code; public final Integer code;
......
...@@ -28,7 +28,6 @@ import com.pcloud.wechatgroup.monitor.service.MonitorService; ...@@ -28,7 +28,6 @@ import com.pcloud.wechatgroup.monitor.service.MonitorService;
import com.pcloud.wechatgroup.selfrobot.dto.*; import com.pcloud.wechatgroup.selfrobot.dto.*;
import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService; import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService;
import com.sdk.wxgroup.BaseVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -620,10 +619,10 @@ public class WechatGroupConsr { ...@@ -620,10 +619,10 @@ public class WechatGroupConsr {
} }
@ParamLog("获取小号所有好友") @ParamLog("获取小号所有好友")
public List<String> getFriendByRobotId(String altId) { public List<String> getFriendByRobotId(String altId, Integer altType) {
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
try { try {
ids = ResponseHandleUtil.parseList(selfRobotService.getFriendByRobotId(altId), String.class); ids = ResponseHandleUtil.parseList(selfRobotService.getFriendByRobotIdAndType(altId,altType), String.class);
}catch (Exception e){ }catch (Exception e){
log.error("[selfRobotService.getFriendByRobotId]调用失败" + e.getMessage(), e); log.error("[selfRobotService.getFriendByRobotId]调用失败" + e.getMessage(), e);
} }
...@@ -631,13 +630,14 @@ public class WechatGroupConsr { ...@@ -631,13 +630,14 @@ public class WechatGroupConsr {
} }
@ParamLog("分页查小号好友id") @ParamLog("分页查小号好友id")
public PageBeanNew<String> listPageFriend(Integer currentPage,Integer numPerPage,String robotId,String name){ public PageBeanNew<String> listPageFriend(Integer currentPage, Integer numPerPage, String robotId, String name, Integer groupRobotType){
PageBeanNew<String> pageBeanNew = null; PageBeanNew<String> pageBeanNew = null;
FriendParamDTO friendParamDTO = new FriendParamDTO(); FriendParamDTO friendParamDTO = new FriendParamDTO();
friendParamDTO.setCurrentPage(currentPage); friendParamDTO.setCurrentPage(currentPage);
friendParamDTO.setNumPerPage(numPerPage); friendParamDTO.setNumPerPage(numPerPage);
friendParamDTO.setRobotId(robotId); friendParamDTO.setRobotId(robotId);
friendParamDTO.setName(name); friendParamDTO.setName(name);
friendParamDTO.setGroupRobotType(groupRobotType);
try { try {
ResponseEntity responseEntity = selfRobotService.listPageFriendId(friendParamDTO); ResponseEntity responseEntity = selfRobotService.listPageFriendId(friendParamDTO);
Object object = ResponseHandleUtil.parseResponse(responseEntity); Object object = ResponseHandleUtil.parseResponse(responseEntity);
...@@ -699,4 +699,22 @@ public class WechatGroupConsr { ...@@ -699,4 +699,22 @@ public class WechatGroupConsr {
} }
} }
public Map<String, GroupUserDTO> mapWxUserInfoByWxIdListAndType(List<String> wechatUserIds, Integer groupRobotType) {
Map<String, GroupUserDTO> map = new HashMap<>();
try {
map = ResponseHandleUtil.parseMapResponse(groupMemberService.mapWxUserInfoByWxIdListAndType(wechatUserIds,groupRobotType), String.class, GroupUserDTO.class);
} catch (Exception e) {
log.error("批量获取用户信息.[mapWxUserInfoByWxIdList]失败" + e.getMessage(), e);
}
return map;
}
public void sendMessage4QQ(PrivateMsgSendVO privateMsgSendVO) {
try {
CoolQSDK.sendPrivateMsg(privateMsgSendVO);
} catch (Exception e) {
log.error("qq机器人给用户发送消息失败.[sendMessage]:" + e.getMessage(), e);
}
}
} }
...@@ -107,6 +107,7 @@ import com.pcloud.book.keywords.enums.ReplyTypeEnum; ...@@ -107,6 +107,7 @@ import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.keywords.vo.ListKeywordVO; import com.pcloud.book.keywords.vo.ListKeywordVO;
import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz; import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot; import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.push.enums.AltTypeEnum;
import com.pcloud.book.reading.dao.ReadingUserDao; import com.pcloud.book.reading.dao.ReadingUserDao;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.channelcenter.base.constants.ChannelConstants; import com.pcloud.channelcenter.base.constants.ChannelConstants;
...@@ -161,6 +162,7 @@ import com.pcloud.settlementcenter.record.dto.ProductStaticUnderAppMapDTO; ...@@ -161,6 +162,7 @@ import com.pcloud.settlementcenter.record.dto.ProductStaticUnderAppMapDTO;
import com.pcloud.settlementcenter.record.service.SettlementService; import com.pcloud.settlementcenter.record.service.SettlementService;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto; import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.pcloud.videolesson.schedule.service.ScheduleService; import com.pcloud.videolesson.schedule.service.ScheduleService;
import com.pcloud.wechatgroup.base.exception.WechatGroupBizException;
import com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO; import com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO;
import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.pcloud.wechatgroup.group.dto.GroupUserCountDTO; import com.pcloud.wechatgroup.group.dto.GroupUserCountDTO;
...@@ -3819,18 +3821,23 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -3819,18 +3821,23 @@ public class BookGroupBizImpl implements BookGroupBiz {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
//判断robotid是否是小睿 //判断robotid是否是小睿
String robotId = userSelectParamDTO.getRobotId(); String robotId = userSelectParamDTO.getRobotId();
Integer groupRobotType = userSelectParamDTO.getGroupRobotType();
List<UserBookInfoVO> list = new ArrayList<>(); List<UserBookInfoVO> list = new ArrayList<>();
Integer totalCount = 0; Integer totalCount = 0;
if (StringUtil.isEmpty(robotId)){ if (StringUtil.isEmpty(robotId)){
throw new BizException(BizException.PARAM_IS_NULL.getCode(),"robotId为空"); throw new BizException(BizException.PARAM_IS_NULL.getCode(),"robotId为空");
} }
if (null == groupRobotType) {
groupRobotType = AltTypeEnum.WECHAT.code;
}
PcloudRobot pcloudRobot = pcloudRobotBiz.getPcloudRobotByWxId(robotId); PcloudRobot pcloudRobot = pcloudRobotBiz.getPcloudRobotByWxId(robotId);
if (null != pcloudRobot){ if (null != pcloudRobot){
PageBeanNew<String> wechatUserIdPage = wechatGroupConsr.listPageFriend(currentPage,numPerPage, PageBeanNew<String> wechatUserIdPage = wechatGroupConsr.listPageFriend(currentPage,numPerPage,
robotId,userSelectParamDTO.getUserQuery()); robotId,userSelectParamDTO.getUserQuery(),groupRobotType);
if (!ListUtils.isEmpty(wechatUserIdPage.getRecordList())){ if (!ListUtils.isEmpty(wechatUserIdPage.getRecordList())){
List<String> wechatUserIds = wechatUserIdPage.getRecordList(); List<String> wechatUserIds = wechatUserIdPage.getRecordList();
list = groupSet.setUserBookInfo4SelfPush4XIAORUI(wechatUserIds); list = groupSet.setUserBookInfo4SelfPush4XIAORUI(wechatUserIds,groupRobotType);
totalCount = wechatUserIdPage.getTotalCount(); totalCount = wechatUserIdPage.getTotalCount();
} }
}else { }else {
......
package com.pcloud.book.group.dto; package com.pcloud.book.group.dto;
import org.springframework.beans.factory.annotation.Value;
import java.util.List; import java.util.List;
import javax.ws.rs.DefaultValue;
import feign.Client.Default;
import lombok.Data; import lombok.Data;
/** /**
...@@ -53,4 +58,9 @@ public class UserSelectParamDTO { ...@@ -53,4 +58,9 @@ public class UserSelectParamDTO {
* 不展示活动已邀请的读者-共读活动 * 不展示活动已邀请的读者-共读活动
*/ */
private Boolean invitedFilter; private Boolean invitedFilter;
/**
* 个人号类型 1 微信 2 qq
*/
private Integer groupRobotType;
} }
...@@ -802,10 +802,10 @@ public class GroupSet { ...@@ -802,10 +802,10 @@ public class GroupSet {
} }
public List<UserBookInfoVO> setUserBookInfo4SelfPush4XIAORUI(List<String> wechatUserIds) { public List<UserBookInfoVO> setUserBookInfo4SelfPush4XIAORUI(List<String> wechatUserIds, Integer groupRobotType) {
List<UserBookInfoVO> userBookInfoVOS = new ArrayList<>(); List<UserBookInfoVO> userBookInfoVOS = new ArrayList<>();
if (!ListUtils.isEmpty(wechatUserIds)){ if (!ListUtils.isEmpty(wechatUserIds)){
Map<String, GroupUserDTO> userDTOMap = wechatGroupConsr.mapWxUserInfoByWxIdList(wechatUserIds); Map<String, GroupUserDTO> userDTOMap = wechatGroupConsr.mapWxUserInfoByWxIdListAndType(wechatUserIds,groupRobotType);
List<Long> labelIds = new ArrayList<>(); List<Long> labelIds = new ArrayList<>();
for (String wechatUserId : wechatUserIds) { for (String wechatUserId : wechatUserIds) {
//用户信息 //用户信息
......
...@@ -110,5 +110,7 @@ public interface PcloudRobotBiz { ...@@ -110,5 +110,7 @@ public interface PcloudRobotBiz {
void handleMiniAppQr(); void handleMiniAppQr();
PcloudRobotResponseVO getSelfRobotClassify(String robotId);
void sendQQWelcomeReply(Long receiverId, Long userId, List<PcloudRobotWelcome> robotWelcomeListByPcloudClassifyId); void sendQQWelcomeReply(Long receiverId, Long userId, List<PcloudRobotWelcome> robotWelcomeListByPcloudClassifyId);
} }
...@@ -17,6 +17,7 @@ import com.pcloud.book.consumer.resource.ProductConsr; ...@@ -17,6 +17,7 @@ import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.constant.BookBusinessConstants; import com.pcloud.book.group.constant.BookBusinessConstants;
import com.pcloud.book.group.enums.AppAndProductTypeEnum; import com.pcloud.book.group.enums.AppAndProductTypeEnum;
import com.pcloud.book.group.enums.LargeTempletEnum;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.guide.biz.PcloudGuideBiz; import com.pcloud.book.guide.biz.PcloudGuideBiz;
import com.pcloud.book.guide.biz.PcloudRobotWakeUpBiz; import com.pcloud.book.guide.biz.PcloudRobotWakeUpBiz;
...@@ -50,6 +51,7 @@ import com.pcloud.book.push.biz.SelfPushBiz; ...@@ -50,6 +51,7 @@ import com.pcloud.book.push.biz.SelfPushBiz;
import com.pcloud.book.push.dao.PersonalAppletsDao; import com.pcloud.book.push.dao.PersonalAppletsDao;
import com.pcloud.book.push.entity.PersonalApplets; import com.pcloud.book.push.entity.PersonalApplets;
import com.pcloud.book.push.enums.ItemTypeEnum; import com.pcloud.book.push.enums.ItemTypeEnum;
import com.pcloud.book.push.enums.AltTypeEnum;
import com.pcloud.book.skill.biz.PcloudSkillBiz; import com.pcloud.book.skill.biz.PcloudSkillBiz;
import com.pcloud.book.skill.entity.PcloudSkill; import com.pcloud.book.skill.entity.PcloudSkill;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
...@@ -422,7 +424,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -422,7 +424,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
index ++; index ++;
} }
} }
if (isOpenH5== 1) { if (robotClassify != null && robotClassify.getIsOpenPushH5url() != null && robotClassify.getIsOpenPushH5url() == 1) {
//发送H5链接 //发送H5链接
String endUrl = wechatLinkPrefix + "/dialog" + "?book_group_id=" + 0 + "&wxId=" + userWxId + "&robotWxId=" + robotWxId; String endUrl = wechatLinkPrefix + "/dialog" + "?book_group_id=" + 0 + "&wxId=" + userWxId + "&robotWxId=" + robotWxId;
String resultUrl = UrlUtils.getShortUrl4Own(endUrl); String resultUrl = UrlUtils.getShortUrl4Own(endUrl);
...@@ -665,12 +667,19 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -665,12 +667,19 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
} }
@Override @Override
public PageBeanNew<PcloudRobotResponseVO> listSelfRobotByClassify(Integer largeTemplet, Long classifyId, String keyword, Integer currentPage, Integer numPerPage) { public PageBeanNew<PcloudRobotResponseVO> listSelfRobotByClassify(Integer largeTemplet, Long classifyId, String keyword,
Integer currentPage, Integer numPerPage) {
Integer groupRobotType = null;
if (largeTemplet==6){//小睿(微信)
groupRobotType = 1;
} else if (largeTemplet==7){//小睿(QQ)
groupRobotType = 2;
}
List<PcloudRobotResponseVO> vos = new ArrayList<>(); List<PcloudRobotResponseVO> vos = new ArrayList<>();
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("classifyId", classifyId); paramMap.put("classifyId", classifyId);
paramMap.put("keyword", keyword); paramMap.put("keyword", keyword);
if (!new Integer(6).equals(largeTemplet)){ if (!LargeTempletEnum.XIAORUI.code.equals(largeTemplet) && !LargeTempletEnum.XIAORUI_QQ.code.equals(largeTemplet)){
List<RobotBaseInfoDTO> baseInfoDTOList = wechatGroupConsr.getRobotInfoByTemplet(largeTemplet); List<RobotBaseInfoDTO> baseInfoDTOList = wechatGroupConsr.getRobotInfoByTemplet(largeTemplet);
if (ListUtils.isEmpty(baseInfoDTOList)){ if (ListUtils.isEmpty(baseInfoDTOList)){
return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>()); return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
...@@ -704,6 +713,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -704,6 +713,7 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
} }
paramMap.put("wxIds", wxIds); paramMap.put("wxIds", wxIds);
} }
paramMap.put("groupRobotType", groupRobotType);
PageBeanNew<RobotClassifyDTO> pageBeanNew = pcloudRobotDao.listPageNew(new PageParam(currentPage, numPerPage),paramMap, "listSelfRobotByClassify"); PageBeanNew<RobotClassifyDTO> pageBeanNew = pcloudRobotDao.listPageNew(new PageParam(currentPage, numPerPage),paramMap, "listSelfRobotByClassify");
List<RobotClassifyDTO> robotClassifyDTOS = pageBeanNew.getRecordList(); List<RobotClassifyDTO> robotClassifyDTOS = pageBeanNew.getRecordList();
if (ListUtils.isEmpty(robotClassifyDTOS)) { if (ListUtils.isEmpty(robotClassifyDTOS)) {
...@@ -968,4 +978,9 @@ wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO)); ...@@ -968,4 +978,9 @@ wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
} }
@Override
public PcloudRobotResponseVO getSelfRobotClassify(String robotId) {
return pcloudRobotDao.getSelfRobotClassify(robotId);
}
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.pcloudkeyword.dao; ...@@ -3,6 +3,7 @@ package com.pcloud.book.pcloudkeyword.dao;
import com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO; import com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO;
import com.pcloud.book.pcloudkeyword.dto.PcloudRobotCountDTO; import com.pcloud.book.pcloudkeyword.dto.PcloudRobotCountDTO;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot; import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -52,4 +53,5 @@ public interface PcloudRobotDao extends BaseDao<PcloudRobot> { ...@@ -52,4 +53,5 @@ public interface PcloudRobotDao extends BaseDao<PcloudRobot> {
List<PcloudRobotCountDTO> getPcloudRobotCount(List<Long> classifyIds); List<PcloudRobotCountDTO> getPcloudRobotCount(List<Long> classifyIds);
PcloudRobotResponseVO getSelfRobotClassify(String robotId);
} }
...@@ -5,6 +5,7 @@ import com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO; ...@@ -5,6 +5,7 @@ import com.pcloud.book.pcloudKeyword.dto.RobotClassifyDTO;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao; import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao;
import com.pcloud.book.pcloudkeyword.dto.PcloudRobotCountDTO; import com.pcloud.book.pcloudkeyword.dto.PcloudRobotCountDTO;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot; import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -112,4 +113,10 @@ public class PcloudRobotDaoImpl extends BaseDaoImpl<PcloudRobot> implements Pclo ...@@ -112,4 +113,10 @@ public class PcloudRobotDaoImpl extends BaseDaoImpl<PcloudRobot> implements Pclo
map.put("classifyIds", classifyIds); map.put("classifyIds", classifyIds);
return getSessionTemplate().selectList(getStatement("getPcloudRobotCount"), map); return getSessionTemplate().selectList(getStatement("getPcloudRobotCount"), map);
} }
@Override
public PcloudRobotResponseVO getSelfRobotClassify(String robotId) {
return this.getSessionTemplate().selectOne(this.getStatement("getSelfRobotClassify"), robotId);
}
} }
...@@ -5,6 +5,7 @@ import com.pcloud.book.pcloudkeyword.dto.PcloudTdDTO; ...@@ -5,6 +5,7 @@ import com.pcloud.book.pcloudkeyword.dto.PcloudTdDTO;
import com.pcloud.book.pcloudkeyword.entity.PcloudClassifyTemplate; import com.pcloud.book.pcloudkeyword.entity.PcloudClassifyTemplate;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot; import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome; import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
...@@ -295,4 +296,15 @@ public class PcloudRobotFacade { ...@@ -295,4 +296,15 @@ public class PcloudRobotFacade {
pcloudRobotBiz.updateUniqueNumber(id, uniqueNumber); pcloudRobotBiz.updateUniqueNumber(id, uniqueNumber);
return new ResponseDto<>(); return new ResponseDto<>();
} }
@ApiOperation(value = "根据小号id获取小号信息")
@GetMapping("getSelfRobotClassify")
ResponseDto<?> getSelfRobotClassify(
@RequestHeader("token") String token,
@RequestParam(value = "robotId") String robotId
) throws BizException, PermissionException{
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<PcloudRobotResponseVO>(pcloudRobotBiz.getSelfRobotClassify(robotId));
}
} }
...@@ -9,6 +9,7 @@ import com.pcloud.book.push.entity.Push; ...@@ -9,6 +9,7 @@ import com.pcloud.book.push.entity.Push;
import com.pcloud.book.push.entity.PushGroup; import com.pcloud.book.push.entity.PushGroup;
import com.pcloud.book.push.entity.PushItem; import com.pcloud.book.push.entity.PushItem;
import com.pcloud.book.push.entity.SelfPushItem; import com.pcloud.book.push.entity.SelfPushItem;
import com.pcloud.book.push.enums.AltTypeEnum;
import com.pcloud.book.push.enums.ItemTypeEnum; import com.pcloud.book.push.enums.ItemTypeEnum;
import com.pcloud.book.push.enums.PushTypeEnum; import com.pcloud.book.push.enums.PushTypeEnum;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
...@@ -308,6 +309,9 @@ public class PushCheck { ...@@ -308,6 +309,9 @@ public class PushCheck {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择群发对象"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择群发对象");
} }
} }
if (null == addParamDTO.getAltType()){//默认微信发送
addParamDTO.setAltType(AltTypeEnum.WECHAT.code);
}
if (null == addParamDTO.getSendNow()) { if (null == addParamDTO.getSendNow()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少立即发送字段"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少立即发送字段");
} }
...@@ -333,8 +337,6 @@ public class PushCheck { ...@@ -333,8 +337,6 @@ public class PushCheck {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "自定义发送周机不能为空"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "自定义发送周机不能为空");
} }
} }
} }
if (ListUtils.isEmpty(addParamDTO.getReplyParamDTOS())) { if (ListUtils.isEmpty(addParamDTO.getReplyParamDTOS())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "发送消息为空"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "发送消息为空");
...@@ -370,6 +372,9 @@ public class PushCheck { ...@@ -370,6 +372,9 @@ public class PushCheck {
if (ReplyTypeEnum.RESOURCE.value.equals(replyParamDTO.getReplyType()) && null == replyParamDTO.getResourceId()) { if (ReplyTypeEnum.RESOURCE.value.equals(replyParamDTO.getReplyType()) && null == replyParamDTO.getResourceId()) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "发送消息项内容类型为文件时,文件id不能为空!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "发送消息项内容类型为文件时,文件id不能为空!");
} }
if (ReplyTypeEnum.AUDIO.value.equals(replyParamDTO.getReplyType()) && null == replyParamDTO.getResourceId()) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "发送消息项内容类型为语音时,文件id不能为空!");
}
//参数转换 //参数转换
List<SelfPushItem> items = paramChange(addParamDTO.getReplyParamDTOS()); List<SelfPushItem> items = paramChange(addParamDTO.getReplyParamDTOS());
...@@ -420,6 +425,10 @@ public class PushCheck { ...@@ -420,6 +425,10 @@ public class PushCheck {
item.setLinkUrl(paramDTO.getLinkUrl()); item.setLinkUrl(paramDTO.getLinkUrl());
item.setItemType(ItemTypeEnum.APP.value); item.setItemType(ItemTypeEnum.APP.value);
} }
if (ReplyTypeEnum.AUDIO.value.equals(paramDTO.getReplyType())){
item.setResourceId(paramDTO.getResourceId());
item.setItemType(ItemTypeEnum.AUDIO.value);
}
itemList.add(item); itemList.add(item);
} }
return itemList; return itemList;
......
...@@ -72,6 +72,9 @@ public class SelfPushAddParamDTO { ...@@ -72,6 +72,9 @@ public class SelfPushAddParamDTO {
* 是否发送所有好友 * 是否发送所有好友
*/ */
private Boolean sendAll; private Boolean sendAll;
/**
* 个人号类型(1微信2QQ)
*/
private Integer altType;
} }
...@@ -127,5 +127,8 @@ public class SelfPushRecordDTO extends BaseDto{ ...@@ -127,5 +127,8 @@ public class SelfPushRecordDTO extends BaseDto{
@ApiModelProperty("资源id") @ApiModelProperty("资源id")
private Long resourceId; private Long resourceId;
@ApiModelProperty("个人号分类")
private Integer groupRobotType;
} }
...@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ApiModel("个人号群发") @ApiModel("个人号群发")
@Data
public class SelfPush extends BaseEntity{ public class SelfPush extends BaseEntity{
@ApiModelProperty("群发小号id") @ApiModelProperty("群发小号id")
...@@ -55,8 +56,6 @@ public class SelfPush extends BaseEntity{ ...@@ -55,8 +56,6 @@ public class SelfPush extends BaseEntity{
@ApiModelProperty("计划发送时间(不带日期)") @ApiModelProperty("计划发送时间(不带日期)")
private String pushSendTime; private String pushSendTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("发送时间") @ApiModelProperty("发送时间")
private Date sendTime; private Date sendTime;
...@@ -70,143 +69,7 @@ public class SelfPush extends BaseEntity{ ...@@ -70,143 +69,7 @@ public class SelfPush extends BaseEntity{
@ApiModelProperty("个人号发送项集合") @ApiModelProperty("个人号发送项集合")
private List<SelfPushItem> pushItems; private List<SelfPushItem> pushItems;
public Date getStartTime() { @ApiModelProperty("个人号类型(1微信2QQ)")
return startTime; private Integer altType;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getPushType() {
return pushType;
}
public void setPushType(Integer pushType) {
this.pushType = pushType;
}
public String getWeekDays() {
return weekDays;
}
public void setWeekDays(String weekDays) {
this.weekDays = weekDays;
}
public String getPushSendTime() {
return pushSendTime;
}
public void setPushSendTime(String pushSendTime) {
this.pushSendTime = pushSendTime;
}
public String getAltId() {
return altId;
}
public void setAltId(String altId) {
this.altId = altId;
}
public String getAltName() {
return altName;
}
public void setAltName(String altName) {
this.altName = altName;
}
public String getAltTypeName() {
return altTypeName;
}
public void setAltTypeName(String altTypeName) {
this.altTypeName = altTypeName;
}
public List<SelfPushItem> getPushItems() {
return pushItems;
}
public void setPushItems(List<SelfPushItem> pushItems) {
this.pushItems = pushItems;
}
public Long getCreateUser() {
return createUser;
}
public void setCreateUser(Long createUser) {
this.createUser = createUser;
}
@Override
public Date getCreateTime() {
return createTime;
}
@Override
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Long getUpdateUser() {
return updateUser;
}
public void setUpdateUser(Long updateUser) {
this.updateUser = updateUser;
}
@Override
public Date getUpdateTime() {
return updateTime;
}
@Override
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Boolean getSendNow() {
return sendNow;
}
public void setSendNow(Boolean sendNow) {
this.sendNow = sendNow;
}
public Date getSendTime() {
return sendTime;
}
public void setSendTime(Date sendTime) {
this.sendTime = sendTime;
}
public Long getBookGroupId() {
return bookGroupId;
}
public void setBookGroupId(Long bookGroupId) {
this.bookGroupId = bookGroupId;
}
public Boolean getSendAll() {
return sendAll;
}
public void setSendAll(Boolean sendAll) {
this.sendAll = sendAll;
}
} }
\ No newline at end of file
package com.pcloud.book.push.enums;
/**
* 个人号类型
*/
public enum AltTypeEnum {
/**
* 1微信
*/
WECHAT(1),
/**
* 2 QQ
*/
QQ(2);
public Integer code;
AltTypeEnum(Integer code) {
this.code = code;
}
}
...@@ -27,6 +27,10 @@ public enum ItemTypeEnum { ...@@ -27,6 +27,10 @@ public enum ItemTypeEnum {
* 资源 * 资源
*/ */
RESOURCE(5), RESOURCE(5),
/**
* 语音
*/
AUDIO(6),
/** /**
* 小程序 * 小程序
......
...@@ -329,7 +329,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz { ...@@ -329,7 +329,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz {
PcloudRobot pcloudRobot = pcloudRobotBiz.getPcloudRobotByWxId(robotId); PcloudRobot pcloudRobot = pcloudRobotBiz.getPcloudRobotByWxId(robotId);
if (null != pcloudRobot) { if (null != pcloudRobot) {
PageBeanNew<String> wechatUserIdPage = wechatGroupConsr.listPageFriend(currentPage, numPerPage, PageBeanNew<String> wechatUserIdPage = wechatGroupConsr.listPageFriend(currentPage, numPerPage,
robotId, userSelectParamDTO.getUserQuery()); robotId, userSelectParamDTO.getUserQuery(), userSelectParamDTO.getGroupRobotType());
if (!ListUtils.isEmpty(wechatUserIdPage.getRecordList())) { if (!ListUtils.isEmpty(wechatUserIdPage.getRecordList())) {
List<String> wechatUserIds = wechatUserIdPage.getRecordList(); List<String> wechatUserIds = wechatUserIdPage.getRecordList();
Map<String, SelfPlanUserDto> selfPlanUserDtoMap = timeControlSelfPlanMapper.getSelfPlanUserDtoMap(wechatUserIds); Map<String, SelfPlanUserDto> selfPlanUserDtoMap = timeControlSelfPlanMapper.getSelfPlanUserDtoMap(wechatUserIds);
......
...@@ -16,10 +16,18 @@ ...@@ -16,10 +16,18 @@
<result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" /> <result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" />
<result column="group_robot_type" property="groupRobotType" jdbcType="INTEGER" /> <result column="group_robot_type" property="groupRobotType" jdbcType="INTEGER" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, wx_id, nick_name, head, qrcode_url, robot_type, keyword_classify_id, state, real_status, wake_up, unique_number,welcome_duration,group_robot_type id, wx_id, nick_name, head, qrcode_url, robot_type, keyword_classify_id, state, real_status, wake_up, unique_number,welcome_duration,group_robot_type
</sql> </sql>
<sql id="r_Base_Column_List" >
r.id, r.wx_id, r.nick_name, r.head, r.qrcode_url, r.robot_type, r.keyword_classify_id, r.state, r.real_status, r.wake_up,
r.unique_number,r.welcome_duration,r.group_robot_type
</sql>
<insert id="insert" parameterType="PcloudRobot" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="PcloudRobot" useGeneratedKeys="true" keyProperty="id">
insert into pcloud_robot ( insert into pcloud_robot (
wx_id, wx_id,
...@@ -342,6 +350,9 @@ ...@@ -342,6 +350,9 @@
'${item}' '${item}'
</foreach> </foreach>
</if> </if>
<if test="groupRobotType != null">
AND p.group_robot_type = #{groupRobotType}
</if>
</select> </select>
<select id="listNoClassifyRobot" resultMap="BaseResultMap"> <select id="listNoClassifyRobot" resultMap="BaseResultMap">
...@@ -384,4 +395,16 @@ ...@@ -384,4 +395,16 @@
GROUP BY CONCAT_WS("-",robot_type,group_robot_type) GROUP BY CONCAT_WS("-",robot_type,group_robot_type)
</select> </select>
<select id="getSelfRobotClassify" parameterType="string" resultType="com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO">
select
r.wx_id wxId,
r.nick_name nickName,
r.unique_number uniqueNum,
r.robot_type classifyId,
rc.classify_name classifyName
from pcloud_robot r
left join pcloud_robot_classify rc on r.robot_type = rc.id
where
r.wx_id = #{robotId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -126,7 +126,8 @@ ...@@ -126,7 +126,8 @@
p.push_send_time pushSendTime, p.push_send_time pushSendTime,
p.week_days weekDays, p.week_days weekDays,
p.push_type pushType, p.push_type pushType,
i.resource_id resourceId i.resource_id resourceId,
p.alt_type groupRobotType
FROM FROM
self_push_item i self_push_item i
LEFT JOIN self_push p ON i.push_id = p.id LEFT JOIN self_push p ON i.push_id = p.id
......
...@@ -17,23 +17,23 @@ ...@@ -17,23 +17,23 @@
<result column="push_type" property="pushType" jdbcType="BIT" /> <result column="push_type" property="pushType" jdbcType="BIT" />
<result column="week_days" property="weekDays" jdbcType="VARCHAR" /> <result column="week_days" property="weekDays" jdbcType="VARCHAR" />
<result column="push_send_time" property="pushSendTime" jdbcType="VARCHAR" /> <result column="push_send_time" property="pushSendTime" jdbcType="VARCHAR" />
<result column="alt_type" property="altType" jdbcType="INTEGER" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, alt_id, create_user, create_time, update_user, update_time, send_now, send_time, book_group_id, send_all,start_time,end_time, id, alt_id, create_user, create_time, update_user, update_time, send_now, send_time, book_group_id, send_all,start_time,end_time,
push_type,week_days,push_send_time push_type,week_days,push_send_time,alt_type
</sql> </sql>
<insert id="insert" parameterType="com.pcloud.book.push.entity.SelfPush" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="com.pcloud.book.push.entity.SelfPush" useGeneratedKeys="true" keyProperty="id">
insert into self_push (id, alt_id, create_user, insert into self_push (id, alt_id, create_user,
create_time, update_user, update_time, send_now, send_time, book_group_id, send_all,start_time,end_time, create_time, update_user, update_time, send_now, send_time, book_group_id, send_all,start_time,end_time,
push_type,week_days,push_send_time push_type,week_days,push_send_time,alt_type
) )
values (#{id,jdbcType=BIGINT}, #{altId,jdbcType=VARCHAR}, #{createUser,jdbcType=BIGINT}, values (#{id,jdbcType=BIGINT}, #{altId,jdbcType=VARCHAR}, #{createUser,jdbcType=BIGINT},
now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendNow}, #{sendTime}, #{bookGroupId}, #{sendAll},#{startTime}, now(), #{updateUser,jdbcType=BIGINT}, now(), #{sendNow}, #{sendTime}, #{bookGroupId}, #{sendAll},#{startTime},
#{endTime},#{pushType},#{weekDays},#{pushSendTime} #{endTime},#{pushType},#{weekDays},#{pushSendTime}, #{altType}
) )
</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