|
@ -1,8 +1,6 @@
|
|
|
package com.yihu.wlyy.web.third.gateway.controller.doctor;
|
|
|
|
|
|
import com.yihu.wlyy.entity.doctor.profile.Doctor;
|
|
|
import com.yihu.wlyy.entity.patient.Patient;
|
|
|
import com.yihu.wlyy.entity.wechat.WechatTemplateData;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorDao;
|
|
|
import com.yihu.wlyy.service.common.SMSService;
|
|
|
import com.yihu.wlyy.service.common.account.PatientService;
|
|
@ -13,18 +11,22 @@ import com.yihu.wlyy.wechat.util.WeiXinTempMsgSendUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.ExecutionException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by chenweida on 2017/8/17.
|
|
@ -108,67 +110,39 @@ public class GcMessageController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 客服系统发送消息接口 居民没有有openID只发手机短信 有openID发微信模板消息、手机短信
|
|
|
* 客服系统发送消息接口
|
|
|
*
|
|
|
* @param doctorCodes 医生code
|
|
|
* @param openIds 微信openid
|
|
|
* @param content 消息内容限制字数70
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/sendMessage", method = RequestMethod.POST)
|
|
|
@ApiOperation("客服系统发送消息接口")
|
|
|
@RequestMapping(value = "/sendWechatMessage", method = RequestMethod.POST)
|
|
|
@ApiOperation("客服系统发送微信模板消息接口")
|
|
|
public ResultBatchModel sendMessage(
|
|
|
@ApiParam(name = "doctorCodes", value = "医生code(批量逗号分割)", required = true) @RequestParam(value = "doctorCodes", required = true) String doctorCodes,
|
|
|
@ApiParam(name = "openIds", value = "微信openid", required = true) @RequestParam(value = "openIds", required = true) String openIds,
|
|
|
@ApiParam(name = "content", value = "消息内容", required = true) @RequestParam(value = "content", required = true) String content) {
|
|
|
Integer success = 0;
|
|
|
Integer error = 0;
|
|
|
List<String> errorLiust = new ArrayList<>();
|
|
|
try {
|
|
|
String templateId = "OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4";
|
|
|
String templateId = "OqQXrb-e43_TJpq_70_K_y6vYJgY5mpjFYY4c5RWFP4";
|
|
|
// String templateId = "";
|
|
|
String url = "www.baidu.com";//要带基本地址
|
|
|
String[] codeArr = doctorCodes.split(",");
|
|
|
for (String code : codeArr) {
|
|
|
Doctor doctor = doctorDao.findByCode(code);
|
|
|
String openId = doctor.getOpenid();
|
|
|
String name = doctor.getName();
|
|
|
String mobile = doctor.getMobile();
|
|
|
String url = "www.baidu.com";//要带基本地址
|
|
|
String[] codeArr = openIds.split(",");
|
|
|
for (String openId : codeArr) {
|
|
|
// String openId = "o7NFZw1QM4YR1O19mLjwfX1Hh11A";
|
|
|
// String name = "吴家莲";
|
|
|
// String mobile = "13611153674";
|
|
|
if (StringUtils.isEmpty(openId) && StringUtils.isNotEmpty(mobile)) {
|
|
|
try {
|
|
|
smsService.sendMsg(mobile, content);
|
|
|
success++;
|
|
|
} catch (Exception e) {
|
|
|
logger.error("mobile " + mobile + " send message error:" + e.getMessage());
|
|
|
error++;
|
|
|
errorLiust.add(mobile);
|
|
|
}
|
|
|
} else if (StringUtils.isNotEmpty(openId) && StringUtils.isNotEmpty(mobile)) {
|
|
|
try {
|
|
|
smsService.sendMsg(mobile, content);
|
|
|
success++;
|
|
|
} catch (Exception e) {
|
|
|
logger.error("mobile " + mobile + " send message error:" + e.getMessage());
|
|
|
error++;
|
|
|
errorLiust.add(mobile);
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
JSONObject sendJson = packageTemplate("消息头","备注","续方提醒","2017年9月16日 18:00");
|
|
|
weiXinTempMsgSendUtils.sendTemplateMessage(templateId, openId, url, sendJson);
|
|
|
success++;
|
|
|
} catch (Exception e) {
|
|
|
logger.error("code " + code + " send Template error:" + e.getMessage());
|
|
|
error++;
|
|
|
errorLiust.add(code);
|
|
|
}
|
|
|
}
|
|
|
try {
|
|
|
JSONObject sendJson = packageTemplate("消息头", "备注", "续方提醒", "2017年9月16日 18:00");
|
|
|
weiXinTempMsgSendUtils.sendTemplateMessage(templateId, openId, url, sendJson);
|
|
|
success++;
|
|
|
} catch (Exception e) {
|
|
|
logger.error("openids " + openIds + " send Template error:" + e.getMessage());
|
|
|
error++;
|
|
|
errorLiust.add(openIds);
|
|
|
}
|
|
|
return new ResultBatchModel(success, error, errorLiust);
|
|
|
} catch (Exception e) {
|
|
|
return new ResultBatchModel(-1, "找不到该医生!", success, error, errorLiust);
|
|
|
}
|
|
|
return new ResultBatchModel(success, error, errorLiust);
|
|
|
}
|
|
|
|
|
|
/**
|