|
@@ -10,6 +10,7 @@ import com.iamberry.wechat.core.entity.wx.*;
|
|
|
import com.iamberry.wechat.face.activity.ActivityService;
|
|
|
import com.iamberry.wechat.face.admin.SystemService;
|
|
|
import com.iamberry.wechat.face.channel.AttenStatisticsService;
|
|
|
+import com.iamberry.wechat.face.customer.CustomerService;
|
|
|
import com.iamberry.wechat.face.drp.PlaceInfoService;
|
|
|
import com.iamberry.wechat.face.home.HomeService;
|
|
|
import com.iamberry.wechat.face.machineNumber.MachineNumberService;
|
|
@@ -77,6 +78,8 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
private ActivityService activityService;
|
|
|
@Autowired
|
|
|
private AttenStatisticsService attenStatisticsService;
|
|
|
+ @Autowired
|
|
|
+ private CustomerService customerService;
|
|
|
|
|
|
|
|
|
* 处理微信发来的请求
|
|
@@ -97,10 +100,14 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
requestMap.put("EventKey", EventKey);
|
|
|
|
|
|
String respMessage = null;
|
|
|
- String fromUserName = null;
|
|
|
- String toUserName = null;
|
|
|
- long createTime = 0L;
|
|
|
- String msgType = null;
|
|
|
+
|
|
|
+ String fromUserName = null;
|
|
|
+
|
|
|
+ String toUserName = null;
|
|
|
+
|
|
|
+ long createTime = 0L;
|
|
|
+
|
|
|
+ String msgType = null;
|
|
|
try {
|
|
|
|
|
|
String respContent = "";
|
|
@@ -108,7 +115,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
fromUserName = requestMap.get("FromUserName");
|
|
|
toUserName = requestMap.get("ToUserName");
|
|
|
msgType = requestMap.get("MsgType");
|
|
|
- createTime = new Date().getTime();
|
|
|
+ createTime = System.currentTimeMillis();
|
|
|
|
|
|
|
|
|
TextMessage textMessage = new TextMessage();
|
|
@@ -116,7 +123,6 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
textMessage.setToUserName(fromUserName);
|
|
|
textMessage.setFromUserName(toUserName);
|
|
|
textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
|
|
|
-
|
|
|
|
|
|
String intxml = "<xml>"+
|
|
|
"<ToUserName><![CDATA[" + fromUserName + "]]></ToUserName>" +
|
|
@@ -126,22 +132,27 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
|
|
|
* 各种消息处理
|
|
|
*/
|
|
|
- if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)){
|
|
|
- String content = requestMap.get("Content").trim();
|
|
|
- if(!(content != null && !"".equals(content))) {
|
|
|
+ if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)){
|
|
|
+
|
|
|
+
|
|
|
+ String content = requestMap.get("Content");
|
|
|
+ if(!(content != null && !"".equals(content))) {
|
|
|
respContent = ResultInfo.messageIsNullResponseText;
|
|
|
}
|
|
|
+
|
|
|
+ content = requestMap.get("Content").trim();
|
|
|
|
|
|
- if(QQFace.isQqFace(content)){
|
|
|
- String xml = "<xml>"+
|
|
|
+
|
|
|
+ if(QQFace.isQqFace(content)){
|
|
|
+ return "<xml>"+
|
|
|
"<ToUserName><![CDATA[" + fromUserName + "]]></ToUserName>" +
|
|
|
- "<FromUserName><![CDATA[" + toUserName + "]]></FromUserName>" +
|
|
|
+ "<FromUserName><![CDATA[" + toUserName + "]]></FromUserName>" +
|
|
|
"<CreateTime>" + createTime + "</CreateTime>" +
|
|
|
"<MsgType><![CDATA[transfer_customer_service]]></MsgType></xml>";
|
|
|
- return xml;
|
|
|
}
|
|
|
|
|
|
- if (content.startsWith(NameUtils.getConfig("PLACE_CODE_PREFIX"))) {
|
|
|
+
|
|
|
+ if (content.startsWith(NameUtils.getConfig("PLACE_CODE_PREFIX"))) {
|
|
|
content = StringUtils.trim(content);
|
|
|
respContent = bulidPlace(content, fromUserName);
|
|
|
} else {
|
|
@@ -153,44 +164,66 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
respContent = status.getCountext();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- } else if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)){
|
|
|
-
|
|
|
- return intxml;
|
|
|
- } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) {
|
|
|
-
|
|
|
- return intxml;
|
|
|
- } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) {
|
|
|
- return intxml;
|
|
|
- } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)) {
|
|
|
- return intxml;
|
|
|
- } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
|
|
|
-
|
|
|
- String eventType = requestMap.get("Event");
|
|
|
+ } else if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)){
|
|
|
+
|
|
|
+ Status status = joinUpCustomer(fromUserName, toUserName, createTime+"");
|
|
|
+ if (status.isFlag()) {
|
|
|
+ return status.getCountext();
|
|
|
+ } else {
|
|
|
+ respContent = status.getCountext();
|
|
|
+ }
|
|
|
+ } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) {
|
|
|
+
|
|
|
+ Status status = joinUpCustomer(fromUserName, toUserName, createTime+"");
|
|
|
+ if (status.isFlag()) {
|
|
|
+ return status.getCountext();
|
|
|
+ } else {
|
|
|
+ respContent = status.getCountext();
|
|
|
+ }
|
|
|
+ } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) {
|
|
|
+
|
|
|
+ Status status = joinUpCustomer(fromUserName, toUserName, createTime+"");
|
|
|
+ if (status.isFlag()) {
|
|
|
+ return status.getCountext();
|
|
|
+ } else {
|
|
|
+ respContent = status.getCountext();
|
|
|
+ }
|
|
|
+ } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_VIDEO)) {
|
|
|
+
|
|
|
+ Status status = joinUpCustomer(fromUserName, toUserName, createTime+"");
|
|
|
+ if (status.isFlag()) {
|
|
|
+ return status.getCountext();
|
|
|
+ } else {
|
|
|
+ respContent = status.getCountext();
|
|
|
+ }
|
|
|
+ } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)) {
|
|
|
+
|
|
|
+ Status status = joinUpCustomer(fromUserName, toUserName, createTime+"");
|
|
|
+ if (status.isFlag()) {
|
|
|
+ return status.getCountext();
|
|
|
+ } else {
|
|
|
+ respContent = status.getCountext();
|
|
|
+ } } else if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_EVENT)) {
|
|
|
+
|
|
|
+ String eventType = requestMap.get("Event");
|
|
|
String eventKey = requestMap.get("EventKey");
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
if(eventType.equals("SCAN")){
|
|
|
|
|
|
|
|
|
- if (eventKey.indexOf(ResultInfo.barCodePrefix) != -1) {
|
|
|
+ if (eventKey.contains(ResultInfo.barCodePrefix)) {
|
|
|
Status status = scannQrcodeGiveGift(requestMap, fromUserName);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
|
respContent = status.getCountext();
|
|
|
- }else if(eventKey.indexOf(ResultInfo.barCodeActivity) != -1){
|
|
|
+ }else if(eventKey.contains(ResultInfo.barCodeActivity)){
|
|
|
Status status = bindingActivity(requestMap, fromUserName,true);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
|
respContent = status.getCountext();
|
|
|
- }else if(eventKey.indexOf(ResultInfo.barCodeMainChannelId) != -1){
|
|
|
+ }else if(eventKey.contains(ResultInfo.barCodeMainChannelId)){
|
|
|
Status status = bindingMainChannelId(requestMap, fromUserName,false);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
@@ -200,17 +233,13 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
|
|
|
int flag = subUserScannQrcodeEvent(requestMap, fromUserName);
|
|
|
if (flag == 1 ) {
|
|
|
-
|
|
|
- if (status.isFlag()) {
|
|
|
- return status.getCountext();
|
|
|
- }
|
|
|
- respContent = status.getCountext();*/
|
|
|
respContent = ResultInfo.subDefaultResponseText;
|
|
|
} else if ( flag == 0){
|
|
|
respContent = ResultInfo.subDefaultResponseText;
|
|
|
} else if (flag == 4) {
|
|
|
respContent = "欢迎您关注美国watero!您已享受购买水机终身优惠价3280元(普通会员销售价3680元),并且购买即赠三年滤芯套装,快来购买吧!<a href=\"http://w.iamberry.com/watero/wechat/wxCart/goProductList\">点击购买</a>";
|
|
|
- } else if (flag == 5) {
|
|
|
+ } else if (flag == 5) {
|
|
|
+
|
|
|
respContent = "哇!确认过眼神,你将获得我们618天猫上朵旗舰店隐藏福利!</br>";
|
|
|
}else {
|
|
|
respContent = "欢迎您关注美国watero,恭喜您成为金牌会员。自己购买或者推荐朋友购买水机均将享受3280元优惠价,并免费赠送3年滤芯哦!点击菜单“分销中心-代理分销”可进入您的专属分销管理中心。";
|
|
@@ -221,19 +250,19 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
if(requestMap.get("Ticket") != null){
|
|
|
|
|
|
|
|
|
- if (eventKey.indexOf(ResultInfo.barCodePrefix) != -1) {
|
|
|
+ if (eventKey.contains(ResultInfo.barCodePrefix)) {
|
|
|
Status status = scannQrcodeSubGiveGift(requestMap, fromUserName);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
|
respContent = status.getCountext();
|
|
|
- } else if(eventKey.indexOf(ResultInfo.barCodeActivity) != -1){
|
|
|
+ } else if(eventKey.contains(ResultInfo.barCodeActivity)){
|
|
|
Status status = bindingActivity(requestMap, fromUserName,false);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
|
respContent = status.getCountext();
|
|
|
- }else if(eventKey.indexOf(ResultInfo.barCodeMainChannelId) != -1){
|
|
|
+ }else if(eventKey.contains(ResultInfo.barCodeMainChannelId)){
|
|
|
Status status = bindingMainChannelId(requestMap, fromUserName,false);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
@@ -242,7 +271,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
} else {
|
|
|
|
|
|
Status status = scannQRcodeSub(requestMap, fromUserName);
|
|
|
- Member member = refreshUserInfo(fromUserName);
|
|
|
+ Member member = refreshUserInfo(fromUserName);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
@@ -251,7 +280,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
} else {
|
|
|
|
|
|
Status status = queryWechatSub(fromUserName, requestMap);
|
|
|
- Member member = refreshUserInfo(fromUserName);
|
|
|
+ Member member = refreshUserInfo(fromUserName);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
@@ -265,7 +294,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
} else if (eventType.equals(MessageUtil.EVENT_TYPE_CLICK) || eventType.equals("VIEW")) {
|
|
|
|
|
|
Status status = clickWechatMenuEnent(requestMap);
|
|
|
- Member member = refreshUserInfo(fromUserName);
|
|
|
+ Member member = refreshUserInfo(fromUserName);
|
|
|
if (status.isFlag()) {
|
|
|
return status.getCountext();
|
|
|
}
|
|
@@ -294,16 +323,14 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
*/
|
|
|
public Status bindingActivity(Map<String, String> requestMap, String fromUserName,Boolean isSubscription) {
|
|
|
Status status = new Status();
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
|
|
|
Member member = refreshUserInfo(fromUserName);
|
|
|
|
|
|
- System.out.println("更改之前的值:"+senceid);
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCodeActivity,"");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCodeActivity,"");
|
|
|
if(!isSubscription){
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCode,"");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCode,"");
|
|
|
}
|
|
|
- System.out.println("更改之后的值:"+senceid);
|
|
|
StringBuilder str = new StringBuilder();
|
|
|
try {
|
|
|
Integer flag = activityService.addActivityHelp(senceid,fromUserName);
|
|
@@ -334,16 +361,12 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
*/
|
|
|
public Status bindingMainChannelId(Map<String, String> requestMap, String fromUserName,Boolean isSubscription) {
|
|
|
Status status = new Status();
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
-
|
|
|
-
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
|
|
|
- System.out.println("更改之前的值:"+senceid);
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCodeMainChannelId,"");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCodeMainChannelId,"");
|
|
|
if(!isSubscription){
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCode,"");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCode,"");
|
|
|
}
|
|
|
- System.out.println("更改之后的值:"+senceid);
|
|
|
|
|
|
AttenStatistics attenStatistics = new AttenStatistics();
|
|
|
attenStatistics.setAttenStatisticsOpenId(fromUserName);
|
|
@@ -351,20 +374,16 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
attenStatistics.setChannelType(1);
|
|
|
List<AttenStatistics> attenStatisticsList = attenStatisticsService.getAttenStatisticsList(attenStatistics);
|
|
|
if(attenStatisticsList == null || attenStatisticsList.size() < 1){
|
|
|
- String eventType = requestMap.get("Event");
|
|
|
+ String eventType = requestMap.get("Event");
|
|
|
if(eventType.equals("SCAN")){
|
|
|
attenStatistics.setAttenStatisticsStatus(1);
|
|
|
- }else if(eventType.equals("subscribe")){
|
|
|
+ }else if(eventType.equals("subscribe")){
|
|
|
+
|
|
|
attenStatistics.setAttenStatisticsStatus(2);
|
|
|
}else{
|
|
|
attenStatistics.setAttenStatisticsStatus(3);
|
|
|
}
|
|
|
Integer flag = attenStatisticsService.save(attenStatistics);
|
|
|
- if(flag > 0){
|
|
|
- System.out.println("添加渠道"+ senceid +"统计数据成功,openid为:"+ fromUserName);
|
|
|
- }else{
|
|
|
- System.out.println("添加渠道"+ senceid +"统计数据失败,openid为:"+ fromUserName);
|
|
|
- }
|
|
|
}
|
|
|
status.setFlag(false);
|
|
|
status.setCountext(ResultInfo.subDefaultResponseText);
|
|
@@ -377,8 +396,8 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
*/
|
|
|
public Status scannQrcodeGiveGift(Map<String, String> requestMap, String fromUserName) {
|
|
|
Status status = new Status();
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCodePrefix,"");
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCodePrefix,"");
|
|
|
String str = bindingMachine(senceid, fromUserName);
|
|
|
status.setCountext(str);
|
|
|
status.setFlag(false);
|
|
@@ -393,8 +412,8 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
public Status scannQrcodeSubGiveGift(Map<String, String> requestMap, String fromUserName) {
|
|
|
|
|
|
Status status = new Status();
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
- senceid = senceid.replaceAll(ResultInfo.barCodePrefix,"");
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
+ senceid = senceid.replaceAll(ResultInfo.barCodePrefix,"");
|
|
|
String str = bindingMachine(senceid, fromUserName);
|
|
|
status.setCountext(str);
|
|
|
status.setFlag(false);
|
|
@@ -415,8 +434,8 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
try {
|
|
|
|
|
|
String resultJson = HttpClient431Util.doGet(params,url,null,null,null);
|
|
|
- resultJson = StringEscapeUtils.unescapeJava(resultJson);
|
|
|
- inLongLogger.info("==========================获取机器信息成功,返回值为:" + resultJson + "=========================");
|
|
|
+
|
|
|
+ resultJson = StringEscapeUtils.unescapeJava(resultJson);
|
|
|
JSONObject jsonObject = JSONObject.fromObject(resultJson);
|
|
|
if (jsonObject.getInt("resultCode") != 200) {
|
|
|
str.append("没有查到该机器信息,请确认二维码是否正确!");
|
|
@@ -434,7 +453,6 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
str.append("。请放心使用。");
|
|
|
return str.toString();
|
|
|
} catch (Exception e) {
|
|
|
- inLongLogger.info("==========================获取机器信息失败,机器条形码为:" + senceid + "=========================");
|
|
|
str.append("没有查到该机器信息,请确认二维码是否正确!");
|
|
|
return str.toString();
|
|
|
}
|
|
@@ -469,26 +487,13 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (!(info.getHasQrcode()==1)) {
|
|
|
+ if (!(info.getHasQrcode()==1)) {
|
|
|
+
|
|
|
String ruleStr = info.getRoleName();
|
|
|
- StringBuffer buffer = new StringBuffer(ResultInfo.initPorxySuccessPrifix);
|
|
|
- buffer.append(ruleStr).append(ResultInfo.initPorxySuccessSuffix);
|
|
|
- return buffer.toString();
|
|
|
+ return ResultInfo.initPorxySuccessPrifix + ruleStr + ResultInfo.initPorxySuccessSuffix;
|
|
|
}
|
|
|
String ruleStr = info.getRoleName();
|
|
|
- StringBuffer buffer = new StringBuffer(ResultInfo.initPorxySuccessPrifix);
|
|
|
- buffer.append(ruleStr).append(ResultInfo.initPorxySuccessSuffix);
|
|
|
- return buffer.toString();
|
|
|
-
|
|
|
- QrcodeResult qrcodeResult = qrcodeService.applyPlaceQrcodeUrl(info.getId());
|
|
|
- if (qrcodeResult.isSuccess()) {
|
|
|
- String ruleStr = info.getRoleName();
|
|
|
- StringBuffer buffer = new StringBuffer(ResultInfo.initPorxySuccessPrifix);
|
|
|
- buffer.append(ruleStr).append(ResultInfo.initPorxySuccessSuffix);
|
|
|
- return buffer.toString();
|
|
|
- } else {
|
|
|
- return qrcodeResult.getQroceUrl();
|
|
|
- }*/
|
|
|
+ return ResultInfo.initPorxySuccessPrifix + ruleStr + ResultInfo.initPorxySuccessSuffix;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -498,20 +503,16 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public int subUserScannQrcodeEvent(Map<String, String> requestMap, String fromUserName) throws Exception {
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
-
|
|
|
- System.out.println("场景值sxx:"+senceid);
|
|
|
-
|
|
|
+
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
Member member = refreshUserInfo(fromUserName);
|
|
|
|
|
|
boolean isNew = false;
|
|
|
|
|
|
- if (member.getUserIsFlag() != null && member.getUserIsFlag().intValue() == 1) {
|
|
|
+ if (member.getUserIsFlag() != null && member.getUserIsFlag() == 1) {
|
|
|
isNew = true;
|
|
|
}
|
|
|
-
|
|
|
- inLongLogger.info("为用户-->" + fromUserName + ",生成二维码:" + qr.getQroceUrl());*/
|
|
|
- return buildRelation(member, senceid, isNew);
|
|
|
+ return buildRelation(member, senceid, isNew);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -523,30 +524,21 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
*/
|
|
|
public Status scannQRcodeSub(Map<String, String> requestMap, String fromUserName) throws Exception {
|
|
|
|
|
|
- String senceid = requestMap.get("EventKey");
|
|
|
+ String senceid = requestMap.get("EventKey");
|
|
|
|
|
|
Member member = refreshUserInfo(fromUserName);
|
|
|
|
|
|
boolean isNew = false;
|
|
|
|
|
|
- if (member.getUserIsFlag() != null && member.getUserIsFlag().intValue() == 1) {
|
|
|
+ if (member.getUserIsFlag() != null && member.getUserIsFlag() == 1) {
|
|
|
isNew = true;
|
|
|
}
|
|
|
int isMessage = buildRelation(member, senceid, isNew);
|
|
|
Status status = new Status();
|
|
|
- if (isMessage == 1) {
|
|
|
-
|
|
|
+ if (isMessage == 1) {
|
|
|
status.setFlag(false);
|
|
|
status.setCountext(ResultInfo.subDefaultResponseText);
|
|
|
}else if(isMessage == 0){
|
|
|
-
|
|
|
- * 故 判断A初始从未关注,而关系已经绑定,则推送优惠券 */
|
|
|
-
|
|
|
- status = getCouponImgText(requestMap);
|
|
|
- }else{
|
|
|
- status.setFlag(false);
|
|
|
- status.setCountext(ResultInfo.subDefaultResponseText);
|
|
|
- }*/
|
|
|
status.setFlag(false);
|
|
|
status.setCountext(ResultInfo.subDefaultResponseText);
|
|
|
} else if (isMessage == 4) {
|
|
@@ -556,8 +548,6 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
status.setFlag(false);
|
|
|
status.setCountext("欢迎您关注美国watero,恭喜您成为金牌会员。自己购买或者推荐朋友购买水机均将享受3280元优惠价,并免费赠送3年滤芯哦!点击菜单“分销中心-代理分销”可进入您的专属分销管理中心。");
|
|
|
}
|
|
|
-
|
|
|
- inLongLogger.info("为用户-->" + fromUserName + ",生成二维码:" + qr.getQroceUrl());*/
|
|
|
|
|
|
return status;
|
|
|
}
|
|
@@ -572,12 +562,6 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
public Status queryWechatSub(String fromUserName, Map<String, String> requestMap) throws Exception {
|
|
|
|
|
|
refreshUserInfo(fromUserName);
|
|
|
-
|
|
|
-
|
|
|
- if(qr != null ){
|
|
|
- inLongLogger.info("为用户-->" + fromUserName + ",生成二维结果成功!");
|
|
|
- }*/
|
|
|
-
|
|
|
Status status = new Status();
|
|
|
String respContent = ResultInfo.subDefaultResponseText;
|
|
|
status.setCountext(respContent);
|
|
@@ -591,18 +575,13 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
private Member refreshUserInfo(String openId){
|
|
|
System.out.println("====更新用户信息"+openId);
|
|
|
JSONObject jsonObject = WeixinUtil.getUserInfo(openId);
|
|
|
- String sex = jsonObject.getString("sex");
|
|
|
+ String sex = jsonObject.getString("sex");
|
|
|
String city = jsonObject.getString("city");
|
|
|
String country = jsonObject.getString("country");
|
|
|
String province = jsonObject.getString("province");
|
|
|
String nickname = jsonObject.getString("nickname");
|
|
|
String headimgurl = jsonObject.getString("headimgurl");
|
|
|
-
|
|
|
- nickname = URLEncoder.encode(jsonObject.getString("nickname"), "UTF-8");
|
|
|
- } catch (UnsupportedEncodingException e) {
|
|
|
- nickname = "";
|
|
|
- inLongLogger.error(this, e.getMessage());
|
|
|
- }*/
|
|
|
+
|
|
|
Member member = homeService.selectMemberInfoByOpenId(openId);
|
|
|
|
|
|
if (member != null && member.getUserId() != null) {
|
|
@@ -613,7 +592,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
member.setUserHead(headimgurl);
|
|
|
|
|
|
member.setUserIsBought(member.getUserStatus() == null ? 1 : member.getUserStatus());
|
|
|
- member.setUserStatus(2);
|
|
|
+ member.setUserStatus(2);
|
|
|
homeService.updateWechatMemberInfoByByOpenid(member);
|
|
|
} else {
|
|
|
member = new Member();
|
|
@@ -621,7 +600,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
member.setUserSex(Integer.parseInt(sex));
|
|
|
member.setUserAddr(country+"-"+province+"-"+city);
|
|
|
member.setUserHead(headimgurl);
|
|
|
- member.setUserStatus(2);
|
|
|
+ member.setUserStatus(2);
|
|
|
member.setUserOpenid(openId);
|
|
|
member.setUserIsBought(1);
|
|
|
member.setUserIsFlag(1);
|
|
@@ -630,38 +609,6 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
return member;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
* 绑定关系
|
|
|
* @param member 当前用户
|
|
@@ -676,7 +623,8 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
|
|
|
int isMessage = 0;
|
|
|
if (senceid != null && senceid.length() >= 8) {
|
|
|
- senceid = senceid.substring(8, senceid.length());
|
|
|
+
|
|
|
+ senceid = senceid.substring(8, senceid.length());
|
|
|
}
|
|
|
|
|
|
String regex = "^\\d+$";
|
|
@@ -691,16 +639,16 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
|
|
|
Member dealer = homeService.selectMemberInfoByOpenId(tempQrcoude.getQrOpenid());
|
|
|
|
|
|
- boolean isFlag = ShopUtil.isFlag(dealer);
|
|
|
- if(isFlag){
|
|
|
+ boolean isFlag = ShopUtil.isFlag(dealer);
|
|
|
+ if(isFlag){
|
|
|
if(dealer.getUserDealers() != null){
|
|
|
- member.setUserDealers(dealer.getUserDealers());
|
|
|
+ member.setUserDealers(dealer.getUserDealers());
|
|
|
}
|
|
|
if(dealer.getTemplateId() != null){
|
|
|
member.setTemplateId(dealer.getTemplateId());
|
|
|
}
|
|
|
- homeService.updateUserResAndTypeByOpenid(member);
|
|
|
- wdRelationDao.insertWdrelation(dealer,member);
|
|
|
+ homeService.updateUserResAndTypeByOpenid(member);
|
|
|
+ wdRelationDao.insertWdrelation(dealer,member);
|
|
|
isMessage = 0;
|
|
|
}
|
|
|
}
|
|
@@ -732,7 +680,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
|
|
|
try {
|
|
|
long activeEndDate = DateTimeUtil.pasreStringToLong("2016-12-30 23:59:59", null);
|
|
|
- if (new Date().getTime() <= activeEndDate) {
|
|
|
+ if (System.currentTimeMillis() <= activeEndDate) {
|
|
|
|
|
|
Integer info = placeInfoMapper.selectPlaceIdByOpenId(member.getUserOpenid());
|
|
|
|
|
@@ -763,11 +711,11 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- member.setUserDealers(nowPlaceInfo.getPlaceIds());
|
|
|
+ member.setUserDealers(nowPlaceInfo.getPlaceIds());
|
|
|
member.setTemplateId(nowPlaceInfo.getTemplateId());
|
|
|
member.setUserResType(3);
|
|
|
- member.setUserIsFlag(2);
|
|
|
- homeService.updateUserResAndTypeByOpenid(member);
|
|
|
+ member.setUserIsFlag(2);
|
|
|
+ homeService.updateUserResAndTypeByOpenid(member);
|
|
|
|
|
|
wdRelationDao.updateStatus(member.getUserOpenid());
|
|
|
isMessage = 3;
|
|
@@ -779,15 +727,18 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
PlaceInfo info = placeInfoMapper.selectPlaceInfobyId(Integer.parseInt(qrcode.getQrcodeReplaceOpenid()));
|
|
|
if (info.getHasQrcode() == 2) {
|
|
|
if (info != null) {
|
|
|
- member.setUserDealers(info.getPlaceIds());
|
|
|
+
|
|
|
+ member.setUserDealers(info.getPlaceIds());
|
|
|
member.setTemplateId(info.getTemplateId());
|
|
|
}
|
|
|
member.setUserResType(3);
|
|
|
- homeService.updateUserResAndTypeByOpenid(member);
|
|
|
+
|
|
|
+ homeService.updateUserResAndTypeByOpenid(member);
|
|
|
|
|
|
|
|
|
wdRelationDao.updateStatus(member.getUserOpenid());
|
|
|
- if(info.getTemplateId() != 23){
|
|
|
+ if(info.getTemplateId() != 23){
|
|
|
+
|
|
|
isMessage = 0;
|
|
|
}
|
|
|
|
|
@@ -836,9 +787,11 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
MenuKeySet menuKeySet = menuKeySetService.selectByPubNoAndKeyWord(NameUtils.getConfig("pubNo"), eventKey);
|
|
|
String respContent = ResultInfo.subDefaultResponseText;
|
|
|
if(menuKeySet != null){
|
|
|
- if("1".equals(menuKeySet.getReType())){
|
|
|
+ if("1".equals(menuKeySet.getReType())){
|
|
|
+
|
|
|
respContent = menuKeySet.getRefText();
|
|
|
- }else if("2".equals(menuKeySet.getReType())){
|
|
|
+ }else if("2".equals(menuKeySet.getReType())){
|
|
|
+
|
|
|
List<ImageTextMore> imagetextMoreList = null;
|
|
|
ImageTextInfo imageTextInfo = imageTextInfoService.findImageTextInfoById(Long.parseLong(menuKeySet.getRefImageTextId()));
|
|
|
if(imageTextInfo != null) {
|
|
@@ -854,36 +807,7 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
status.setCountext(respContent);
|
|
|
return status;
|
|
|
}
|
|
|
-
|
|
|
- * 获取优惠券图文 扫码绑定关系后推送给用户
|
|
|
- * @param requestMap
|
|
|
- * @return
|
|
|
- */
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
* 消息处理
|
|
|
* @param content
|
|
@@ -899,19 +823,25 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
status.setFlag(true);
|
|
|
KeyWord keyword = null;
|
|
|
try {
|
|
|
- keyword = keyWordService.getByKeyWord(content);
|
|
|
+
|
|
|
+ keyword = keyWordService.getByKeyWord(content);
|
|
|
} catch (Exception e) {
|
|
|
inLongLogger.info(e.getMessage() + "," + content);
|
|
|
}
|
|
|
- if(keyword != null) {
|
|
|
- if("1".equals(keyword.getReType())) {
|
|
|
+ if(keyword != null) {
|
|
|
+
|
|
|
+ if("1".equals(keyword.getReType())) {
|
|
|
+
|
|
|
status.setCountext(keyword.getRefText());
|
|
|
status.setFlag(false);
|
|
|
- } else if("2".equals(keyword.getReType())){
|
|
|
+ } else if("2".equals(keyword.getReType())){
|
|
|
+
|
|
|
List<ImageTextMore> imagetextMoreList = null;
|
|
|
ImageTextInfo imageTextInfo = imageTextInfoService.findImageTextInfoById(keyword.getRefImageTextId());
|
|
|
- if(imageTextInfo != null) {
|
|
|
- if("2".equals(imageTextInfo.getImageTextType())){
|
|
|
+ if(imageTextInfo != null) {
|
|
|
+
|
|
|
+ if("2".equals(imageTextInfo.getImageTextType())){
|
|
|
+
|
|
|
imagetextMoreList = imageTextMoreService.findImageTextmore(imageTextInfo.getImageTextNo());
|
|
|
}
|
|
|
try {
|
|
@@ -924,16 +854,38 @@ public class WeChatServiceImpl implements WeChatService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
+
|
|
|
+ return joinUpCustomer(fromUserName, toUserName, createTime);
|
|
|
+ }
|
|
|
+ return status;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Status joinUpCustomer(String fromUserName, String toUserName, String createTime) {
|
|
|
+ Status result = new Status();
|
|
|
+
|
|
|
+ int num = customerService.count(1);
|
|
|
+ if (num >= 1) {
|
|
|
String xml = "<xml>"+
|
|
|
"<ToUserName><![CDATA[" + fromUserName + "]]></ToUserName>" +
|
|
|
"<FromUserName><![CDATA[" + toUserName + "]]></FromUserName>" +
|
|
|
"<CreateTime>" + createTime + "</CreateTime>" +
|
|
|
"<MsgType><![CDATA[transfer_customer_service]]></MsgType></xml>";
|
|
|
- status.setCountext(xml);
|
|
|
- status.setFlag(true);
|
|
|
+ result.setCountext(xml);
|
|
|
+ result.setFlag(true);
|
|
|
+ return result;
|
|
|
}
|
|
|
- return status;
|
|
|
+
|
|
|
+ num = customerService.count(2);
|
|
|
+ if (num >= 1) {
|
|
|
+ result.setCountext("尊敬的用户您好,我们每天的服务时段为:9:00-12:00;14:00-18:00,如您在非服务时段内咨询,我们将在看到后第一时间答复,请您耐心等待。");
|
|
|
+ result.setFlag(false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ result.setCountext("尊敬的用户您好,我们每天的服务时段为 9:00-18:00,如您在非服务时段内咨询,我们将在看到后第一时间答复;您也可拨打上朵全国客户服务热线:400-678-1860");
|
|
|
+ result.setFlag(false);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
}
|