|
@@ -11,8 +11,11 @@ import com.google.common.collect.Maps;
|
11
|
11
|
import com.huiju.estateagents.base.ResponseBean;
|
12
|
12
|
import com.huiju.estateagents.center.taUser.entity.TaUser;
|
13
|
13
|
import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
|
|
14
|
+import com.huiju.estateagents.common.CommConstant;
|
|
15
|
+import com.huiju.estateagents.common.DateUtils;
|
14
|
16
|
import com.huiju.estateagents.common.WxUtils;
|
15
|
17
|
import com.huiju.estateagents.entity.TaMiniapp;
|
|
18
|
+import com.huiju.estateagents.entity.TaMpTemplate;
|
16
|
19
|
import com.huiju.estateagents.entity.TaPerson;
|
17
|
20
|
import com.huiju.estateagents.mapper.TaMiniappMapper;
|
18
|
21
|
import com.huiju.estateagents.mapper.TaPersonMapper;
|
|
@@ -31,12 +34,15 @@ import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
|
31
|
34
|
import com.huiju.estateagents.redpack.service.ITaMpPersonService;
|
32
|
35
|
import com.huiju.estateagents.service.IMiniAppService;
|
33
|
36
|
import com.huiju.estateagents.service.ISysSmsEventService;
|
|
37
|
+import com.huiju.estateagents.service.ITaMpTemplateService;
|
|
38
|
+import com.huiju.estateagents.service.ITaPersonService;
|
34
|
39
|
import com.huiju.estateagents.third.entity.TaMpInfo;
|
35
|
40
|
import com.huiju.estateagents.third.service.ITaMpInfoService;
|
36
|
41
|
import me.chanjar.weixin.common.error.WxErrorException;
|
37
|
42
|
import me.chanjar.weixin.mp.api.WxMpService;
|
38
|
43
|
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
39
|
44
|
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
|
45
|
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
40
|
46
|
import org.apache.commons.lang3.StringUtils;
|
41
|
47
|
import org.checkerframework.checker.units.qual.A;
|
42
|
48
|
import org.springframework.beans.BeanUtils;
|
|
@@ -105,9 +111,15 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
|
105
|
111
|
@Autowired
|
106
|
112
|
ITaMpPersonService iTaMpPersonService;
|
107
|
113
|
|
|
114
|
+ @Autowired
|
|
115
|
+ ITaPersonService iTaPersonService;
|
|
116
|
+
|
108
|
117
|
@Autowired
|
109
|
118
|
private IMiniAppService iMiniAppService;
|
110
|
119
|
|
|
120
|
+ @Autowired
|
|
121
|
+ private ITaMpTemplateService iTaMpTemplateService;
|
|
122
|
+
|
111
|
123
|
@Autowired
|
112
|
124
|
WxUtils wxUtils;
|
113
|
125
|
|
|
@@ -382,7 +394,7 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
|
382
|
394
|
WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
|
383
|
395
|
.toUser(person.getMpOpenid())
|
384
|
396
|
.title(taMiniapp.getName() + "有您的订单需要分配!")
|
385
|
|
- .pagePath(miniAppTicket + ticket.getId() + "&mpOpenId=" + person.getMpOpenid() )
|
|
397
|
+ .pagePath(miniAppTicket + ticket.getId())
|
386
|
398
|
.thumbMediaId(mpInfo.getMiniappMedia())
|
387
|
399
|
.build();
|
388
|
400
|
|
|
@@ -390,6 +402,35 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
|
390
|
402
|
mpService.getKefuService().sendKefuMessage(kefuMessage);
|
391
|
403
|
} catch (WxErrorException e) {
|
392
|
404
|
e.printStackTrace();
|
|
405
|
+
|
|
406
|
+ // 如果客服消息发送失败, 则发送普通模板消息
|
|
407
|
+ List<TaMpTemplate> mpTemplateList = iTaMpTemplateService.getAvailableList(ticket.getOrgId(), CommConstant.TP_MESSAGE_TICKET);
|
|
408
|
+ if (null == mpTemplateList || mpTemplateList.size() < 1) {
|
|
409
|
+ return;
|
|
410
|
+ }
|
|
411
|
+ TaMpTemplate mpTemplate = mpTemplateList.get(0);
|
|
412
|
+
|
|
413
|
+ try {
|
|
414
|
+ TaPerson propOwner = iTaPersonService.getById(ticket.getPersonId());
|
|
415
|
+ String message = String.format("业主电话: %s ; 报修内容: %s", propOwner.getPhone(), ticket.getTicketTitle());
|
|
416
|
+ String remark = String.format("请及时进入【%s】小程序进行处理", taMiniapp.getName());
|
|
417
|
+
|
|
418
|
+ WxUtils.sendTemplateMessage(mpService,
|
|
419
|
+ person.getMpOpenid(),
|
|
420
|
+ mpTemplate.getTemplateCode(),
|
|
421
|
+ null,
|
|
422
|
+ new ArrayList<WxMpTemplateData>(){{
|
|
423
|
+ add(new WxMpTemplateData("first", "工单提醒"));
|
|
424
|
+ add(new WxMpTemplateData("keyword1", "您有一个新的工单"));
|
|
425
|
+ add(new WxMpTemplateData("keyword2", DateUtils.today()));
|
|
426
|
+ add(new WxMpTemplateData("keyword3", message));
|
|
427
|
+ add(new WxMpTemplateData("remark", remark));
|
|
428
|
+ }}
|
|
429
|
+ );
|
|
430
|
+ } catch (Exception e2) {
|
|
431
|
+ e2.printStackTrace();
|
|
432
|
+ }
|
|
433
|
+
|
393
|
434
|
}
|
394
|
435
|
}
|
395
|
436
|
|