@Api(tags = "会议管理")
@RestController
@RequestMapping("/video/conference")
public class VideoConferenceController extends AbstractController {
@Value("${zoneland.videoConferencePrefixUrl}")
private String VIDEO_CONFERENCE_PREFIX_URL;
@Autowired
private CMCCServiceIF cmccServiceIF;
@Autowired
private MoaVideoConferenceSmsLogServiceIF moaVideoConferenceSmsLogServiceIF;
@ApiOperation(value = "发送短信给邀请人", notes = "发送短信给邀请人")
@RequestMapping("/sendSMStoUsers")
public Response<String> sendSMStoUsers(@CustomParamBinding SendSMStoUsersReq sendSMStoUsersReq, HttpServletRequest request, HttpServletResponse response) throws Exception {
Date now = new Date();
ValidateUtil.validate(sendSMStoUsersReq);
UserExtMapper userExtMapper = ApplicationBeans.byClass(UserExtMapper.class);
log.info("获取会议主题是:{}, 获取主持人用户名: {}", sendSMStoUsersReq.getTopic(), sendSMStoUsersReq.getOwer());
// 这种方式获取的用户信息是不含用户部门的
List<MemberInfoVo> owerInfo = userExtMapper.findUserInfoByUserId(sendSMStoUsersReq.getOwer());
String owerName = "";
if(owerInfo!= null && owerInfo.size() > 0) {
owerName = owerInfo.get(0).getUsername();
}
log.info("主持人的姓名是: {}", owerName);
// 获取短链接
String shortUrl = cmccServiceIF.getShortUrl(VIDEO_CONFERENCE_PREFIX_URL);
StringBuffer sb = new StringBuffer();
log.info("短链接获取成功!");
//发送短信部分
sb.append("【MOA】")
.append(owerName).append("正在邀请你参加 “")
.append(sendSMStoUsersReq.getTopic()).append("” 会议,点击以下链接 ")
.append(shortUrl).append(" 参与。");
log.info("短信内容: {}", sb.toString());
List<String> filteredUserids = moaVideoConferenceSmsLogServiceIF.findUseridsByUserids(sendSMStoUsersReq.getUserids(), sendSMStoUsersReq.getTopic(), new Date(System.currentTimeMillis() - 1800000L));
String msg = "";
if(filteredUserids!= null && !filteredUserids.isEmpty()) {
log.info("请求中的用户数:{}, 实际通知用户数:{}, 实际短信通知名单:{}", sendSMStoUsersReq.getUserids().size(), filteredUserids.size(), JSON.toJSONString(filteredUserids));
String[] recipients = new String[filteredUserids.size()];
filteredUserids.toArray(recipients);
cmccServiceIF.sendSMS(recipients, sb.toString());
//保存日志
moaVideoConferenceSmsLogServiceIF.doSaveAsync(sendSMStoUsersReq.getOwer(), sendSMStoUsersReq.getTopic(), filteredUserids, sb.toString());
msg = "请求中的用户数:" + sendSMStoUsersReq.getUserids().size() + ", 实际通知用户数:" + filteredUserids.size() + ", 实际短信通知名单:" + JSON.toJSONString(filteredUserids);
} else {
log.info("请求中的用户数:{}, 通知用户名单为空,不进行通知", sendSMStoUsersReq.getUserids().size());
msg = "请求中的用户数:" + sendSMStoUsersReq.getUserids().size() + ", 实际通知用户数:0,不进行通知";
}
return new ResponseSuccess<>("", msg);
}
//下面是准备写的代码,不知道怎么写了
@RequestMapping("/send5G")
public Response<String> send5G(String json, String xml){
String xmlstr = xml.substring(0,xml.length()-1);
}
}