|
@@ -11,7 +11,10 @@ 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.WxUtils;
|
|
15
|
+import com.huiju.estateagents.entity.TaMiniapp;
|
14
|
16
|
import com.huiju.estateagents.entity.TaPerson;
|
|
17
|
+import com.huiju.estateagents.mapper.TaMiniappMapper;
|
15
|
18
|
import com.huiju.estateagents.mapper.TaPersonMapper;
|
16
|
19
|
import com.huiju.estateagents.property.common.Constant;
|
17
|
20
|
import com.huiju.estateagents.property.dao.*;
|
|
@@ -21,11 +24,24 @@ import com.huiju.estateagents.property.mapper.TpRepairTypeMapper;
|
21
|
24
|
import com.huiju.estateagents.property.model.*;
|
22
|
25
|
import com.huiju.estateagents.property.service.TpTicketService;
|
23
|
26
|
import com.huiju.estateagents.property.vo.TpTicketVO;
|
|
27
|
+import com.huiju.estateagents.redpack.entity.TaMpMiniapp;
|
|
28
|
+import com.huiju.estateagents.redpack.entity.TaMpPerson;
|
|
29
|
+import com.huiju.estateagents.redpack.mapper.TaMpMiniappMapper;
|
|
30
|
+import com.huiju.estateagents.redpack.mapper.TaMpPersonMapper;
|
|
31
|
+import com.huiju.estateagents.redpack.service.ITaMpPersonService;
|
|
32
|
+import com.huiju.estateagents.service.IMiniAppService;
|
24
|
33
|
import com.huiju.estateagents.service.ISysSmsEventService;
|
|
34
|
+import com.huiju.estateagents.third.entity.TaMpInfo;
|
|
35
|
+import com.huiju.estateagents.third.service.ITaMpInfoService;
|
|
36
|
+import me.chanjar.weixin.common.error.WxErrorException;
|
|
37
|
+import me.chanjar.weixin.mp.api.WxMpService;
|
|
38
|
+import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
|
39
|
+import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
25
|
40
|
import org.apache.commons.lang3.StringUtils;
|
26
|
41
|
import org.checkerframework.checker.units.qual.A;
|
27
|
42
|
import org.springframework.beans.BeanUtils;
|
28
|
43
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
44
|
+import org.springframework.beans.factory.annotation.Value;
|
29
|
45
|
import org.springframework.stereotype.Service;
|
30
|
46
|
import org.springframework.transaction.annotation.Transactional;
|
31
|
47
|
|
|
@@ -83,6 +99,27 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
|
83
|
99
|
@Autowired
|
84
|
100
|
private ISysSmsEventService sysSmsEventService;
|
85
|
101
|
|
|
102
|
+ @Autowired
|
|
103
|
+ ITaMpInfoService iTaMpInfoService;
|
|
104
|
+
|
|
105
|
+ @Autowired
|
|
106
|
+ ITaMpPersonService iTaMpPersonService;
|
|
107
|
+
|
|
108
|
+ @Autowired
|
|
109
|
+ private IMiniAppService iMiniAppService;
|
|
110
|
+
|
|
111
|
+ @Autowired
|
|
112
|
+ WxUtils wxUtils;
|
|
113
|
+
|
|
114
|
+ @Value("${wx.miniapp.ticket}")
|
|
115
|
+ String miniAppTicket;
|
|
116
|
+
|
|
117
|
+ @Autowired
|
|
118
|
+ private TaMpMiniappMapper taMpMiniappMapper;
|
|
119
|
+
|
|
120
|
+ @Autowired
|
|
121
|
+ private TaMpPersonMapper taMpPersonMapper;
|
|
122
|
+
|
86
|
123
|
@Override
|
87
|
124
|
public ResponseBean ticketLiset(String parameter,Integer orgId) {
|
88
|
125
|
ResponseBean response= new ResponseBean<>();
|
|
@@ -309,37 +346,53 @@ public class TpTicketServiceImpl extends ServiceImpl<TpTicketMapper, TpTicket> i
|
309
|
346
|
queryWrapper.eq("id", ticketId);
|
310
|
347
|
queryWrapper.eq("org_id", orgId);
|
311
|
348
|
TpTicket ticket = tpTicketMapper.selectOne(queryWrapper);
|
312
|
|
- Message message = new Message();
|
313
|
|
- message.setOrgId(orgId);
|
314
|
|
- message.setMessageType(ticket.getType());
|
315
|
|
- message.setTicketId(ticket.getId());
|
316
|
|
- message.setAdviceType("4");
|
317
|
|
- message.setUuid(userID.toString());
|
318
|
|
- message.setModelType("2");
|
319
|
|
- message.setUuidType("2");
|
320
|
|
- message.setSource("2");
|
321
|
|
- message.setMessageContent("工单“" + ticket.getTicketTitle() + "”已被分配给您,点击查看并处理");
|
322
|
|
- message.setStatus("1");
|
323
|
|
- message.setReadStatus("0");
|
324
|
|
- message.setCreateUser(user.toString());
|
325
|
|
- message.setCreateDate(LocalDateTime.now());
|
326
|
|
- message.setTicketId(ticketId);
|
327
|
|
-// messageMapper.insert(message);
|
328
|
|
- //如果分配给本人维护消息模板
|
329
|
|
- if (null!=userID&userID.equals(user)){
|
330
|
|
- message.setModelType("1");
|
331
|
|
-// messageMapper.insert(message);
|
|
349
|
+ // 发送消息给管家的公众号
|
|
350
|
+ LambdaQueryWrapper<TaPerson> taPersonLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
351
|
+ taPersonLambdaQueryWrapper.eq(TaPerson::getOrgId,orgId);
|
|
352
|
+ taPersonLambdaQueryWrapper.eq(TaPerson::getUserId,taUser.getUserId());
|
|
353
|
+ TaPerson taPerson = taPersonMapper.selectOne(taPersonLambdaQueryWrapper);
|
|
354
|
+ if (null != taPerson){
|
|
355
|
+ LambdaQueryWrapper<TaMpMiniapp> taMpMiniappLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
356
|
+ taMpMiniappLambdaQueryWrapper.eq(TaMpMiniapp::getMiniappPersonId,taPerson.getPersonId());
|
|
357
|
+ TaMpMiniapp taMpMiniapp = taMpMiniappMapper.selectOne(taMpMiniappLambdaQueryWrapper);
|
|
358
|
+ if (null != taMpMiniapp){
|
|
359
|
+ TaMpPerson taMpPerson = taMpPersonMapper.selectById(taMpMiniapp.getMpPersonId());
|
|
360
|
+ sendMpTicketMessage(ticket,taMpPerson);
|
|
361
|
+ }
|
|
362
|
+
|
332
|
363
|
}
|
333
|
|
- //分配成功后推送app
|
334
|
|
- message.setUuidType("1");
|
335
|
|
- message.setUuid(ticket.getCreateUser());
|
336
|
|
- message.setMessageContent("工单“" + ticket.getTicketTitle() + "”已被分配给:"+taUser.getUserName());
|
337
|
|
- message.setAdviceType("1");
|
338
|
|
-// messageMapper.insert(message);
|
|
364
|
+
|
339
|
365
|
response.addSuccess("成功");
|
340
|
366
|
return response;
|
341
|
367
|
}
|
342
|
368
|
|
|
369
|
+ /**
|
|
370
|
+ * 发送消息给管家
|
|
371
|
+ * @param ticket
|
|
372
|
+ * @param person
|
|
373
|
+ */
|
|
374
|
+ private void sendMpTicketMessage(TpTicket ticket,TaMpPerson person) {
|
|
375
|
+ WxMpService mpService = wxUtils.getMpService(ticket.getOrgId());
|
|
376
|
+
|
|
377
|
+ // 对应表数据
|
|
378
|
+ TaMpInfo mpInfo = iTaMpInfoService.getByOrgId(ticket.getOrgId());
|
|
379
|
+
|
|
380
|
+ TaMiniapp taMiniapp = iMiniAppService.getAppByOrg(mpInfo.getOrgId());
|
|
381
|
+
|
|
382
|
+ WxMpKefuMessage kefuMessage = WxMpKefuMessage.MINIPROGRAMPAGE().appId(taMiniapp.getMiniappId())
|
|
383
|
+ .toUser(person.getMpOpenid())
|
|
384
|
+ .title(taMiniapp.getName() + "有您的订单需要分配!")
|
|
385
|
+ .pagePath(miniAppTicket + ticket.getId() + "&mpOpenId=" + person.getMpOpenid() )
|
|
386
|
+ .thumbMediaId(mpInfo.getMiniappMedia())
|
|
387
|
+ .build();
|
|
388
|
+
|
|
389
|
+ try {
|
|
390
|
+ mpService.getKefuService().sendKefuMessage(kefuMessage);
|
|
391
|
+ } catch (WxErrorException e) {
|
|
392
|
+ e.printStackTrace();
|
|
393
|
+ }
|
|
394
|
+ }
|
|
395
|
+
|
343
|
396
|
@Override
|
344
|
397
|
public ResponseBean addWxRecord(String parameter, Integer user, Integer orgId) {
|
345
|
398
|
ResponseBean response=new ResponseBean();
|