|
@@ -2,6 +2,7 @@ package com.yunzhi.marketing.service.impl;
|
2
|
2
|
|
3
|
3
|
|
4
|
4
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
5
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
5
|
6
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
6
|
7
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
7
|
8
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -9,17 +10,14 @@ import com.yunzhi.marketing.base.ResponseBean;
|
9
|
10
|
import com.yunzhi.marketing.common.CommConstant;
|
10
|
11
|
import com.yunzhi.marketing.common.StringUtils;
|
11
|
12
|
import com.yunzhi.marketing.excel.HelpInitiateRecordSucceed;
|
12
|
|
-import com.yunzhi.marketing.mapper.TaActivityDynamicEnlistMapper;
|
13
|
|
-import com.yunzhi.marketing.mapper.TaBuildingDynamicMapper;
|
14
|
|
-import com.yunzhi.marketing.mapper.TaBuildingMapper;
|
15
|
|
-import com.yunzhi.marketing.mapper.TaPersonMapper;
|
16
|
|
-import com.yunzhi.marketing.service.ITaBuildingDynamicService;
|
17
|
|
-import com.yunzhi.marketing.service.ITaSaveService;
|
18
|
|
-import com.yunzhi.marketing.service.TaPosterService;
|
19
|
|
-import com.yunzhi.marketing.service.TaShareContentService;
|
|
13
|
+import com.yunzhi.marketing.mapper.*;
|
|
14
|
+import com.yunzhi.marketing.service.*;
|
20
|
15
|
import com.yunzhi.marketing.entity.*;
|
|
16
|
+import lombok.extern.log4j.Log4j;
|
|
17
|
+import lombok.extern.slf4j.Slf4j;
|
21
|
18
|
import org.springframework.beans.factory.annotation.Autowired;
|
22
|
19
|
import org.springframework.beans.propertyeditors.CustomDateEditor;
|
|
20
|
+import org.springframework.scheduling.annotation.Async;
|
23
|
21
|
import org.springframework.stereotype.Service;
|
24
|
22
|
import org.springframework.web.bind.ServletRequestDataBinder;
|
25
|
23
|
|
|
@@ -43,6 +41,7 @@ import java.util.List;
|
43
|
41
|
* @author jobob
|
44
|
42
|
* @since 2019-03-21
|
45
|
43
|
*/
|
|
44
|
+@Slf4j
|
46
|
45
|
@Service
|
47
|
46
|
public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicMapper, TaBuildingDynamic> implements ITaBuildingDynamicService {
|
48
|
47
|
|
|
@@ -67,6 +66,12 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
|
67
|
66
|
@Autowired
|
68
|
67
|
private TaShareContentService taShareContentService;
|
69
|
68
|
|
|
69
|
+ @Autowired
|
|
70
|
+ private TaMiniappMessagePersonMapper taMiniappMessagePersonMapper;
|
|
71
|
+
|
|
72
|
+ @Autowired
|
|
73
|
+ private IMiniAppService iMiniAppService;
|
|
74
|
+
|
70
|
75
|
protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
|
71
|
76
|
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
72
|
77
|
CustomDateEditor editor = new CustomDateEditor(df, true);//true表示允许为空,false反之
|
|
@@ -244,8 +249,10 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
|
244
|
249
|
|
245
|
250
|
// 当报名人数已满时,活动为已结束
|
246
|
251
|
if ((enlistCount + taActivityDynamicEnlist.getAttendNum()) > buildingDynamic.getPersonNum()) {
|
247
|
|
- //taBuildingDynamic.setIsEnlist(2);
|
248
|
|
- buildingDynamicMapper.updateById(taBuildingDynamic);
|
|
252
|
+// UpdateWrapper<TaBuildingDynamic> updateWrapper = new UpdateWrapper<>();
|
|
253
|
+// updateWrapper.set("is_enlist", 2);
|
|
254
|
+// updateWrapper.eq("dynamic_id", taBuildingDynamic.getDynamicId());
|
|
255
|
+// buildingDynamicMapper.update(taBuildingDynamic, updateWrapper);
|
249
|
256
|
responseBean.addError("当前报名人数已满");
|
250
|
257
|
return responseBean;
|
251
|
258
|
}
|
|
@@ -273,8 +280,11 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
|
273
|
280
|
.setBuildingId(taBuildingDynamic.getBuildingId());
|
274
|
281
|
int state = taActivityDynamicEnlistMapper.insert(taActivityDynamicEnlist);
|
275
|
282
|
int joinNum = taBuildingDynamic.getEnlistNum() == null ? taActivityDynamicEnlist.getAttendNum():taBuildingDynamic.getEnlistNum()+taActivityDynamicEnlist.getAttendNum();
|
276
|
|
- taBuildingDynamic.setEnlistNum(joinNum);
|
277
|
|
- buildingDynamicMapper.updateById(taBuildingDynamic);
|
|
283
|
+
|
|
284
|
+ UpdateWrapper<TaBuildingDynamic> updateWrapper = new UpdateWrapper<>();
|
|
285
|
+ updateWrapper.set("enlist_num", joinNum);
|
|
286
|
+ updateWrapper.eq("dynamic_id", taBuildingDynamic.getDynamicId());
|
|
287
|
+ buildingDynamicMapper.update(taBuildingDynamic, updateWrapper);
|
278
|
288
|
return ResponseBean.success(state);
|
279
|
289
|
}
|
280
|
290
|
|
|
@@ -406,6 +416,41 @@ public class TaBuildingDynamicServiceImpl extends ServiceImpl<TaBuildingDynamicM
|
406
|
416
|
return ResponseBean.success(hashMap);
|
407
|
417
|
}
|
408
|
418
|
|
|
419
|
+ @Async
|
|
420
|
+ @Override
|
|
421
|
+ public void sendMessageToSubscribers(TaBuildingDynamic dynamic) {
|
|
422
|
+ try {
|
|
423
|
+ String buildingId = dynamic.getBuildingId();
|
|
424
|
+ String dynamicId = dynamic.getDynamicId();
|
|
425
|
+ String title = dynamic.getTitle();
|
|
426
|
+ String address = dynamic.getAddress();
|
|
427
|
+ LocalDateTime startDate = dynamic.getStartDate();
|
|
428
|
+
|
|
429
|
+ List<TaMiniappMessagePerson> personList = taMiniappMessagePersonMapper.getPersonBy(dynamic.getOrgId(), buildingId, CommConstant.MESSAGE_ACTIVITY);
|
|
430
|
+
|
|
431
|
+ for (TaMiniappMessagePerson item : personList) {
|
|
432
|
+ String personId = item.getPersonId();
|
|
433
|
+ TaPerson taPerson = taPersonMapper.getById(personId);
|
|
434
|
+
|
|
435
|
+ try {
|
|
436
|
+ log.info("================ 发送活动 【{}】 开始信息给 {}({})", title, taPerson.getNickname(), personId);
|
|
437
|
+ iMiniAppService.sendActivityMessage(taPerson,
|
|
438
|
+ String.format(CommConstant.ACTIVITY_DETAIL_PATH, dynamicId),
|
|
439
|
+ title,
|
|
440
|
+ address,
|
|
441
|
+ startDate);
|
|
442
|
+ } catch (Exception e) {
|
|
443
|
+ e.printStackTrace();
|
|
444
|
+ }
|
|
445
|
+
|
|
446
|
+ // 每间隔1秒发送一次
|
|
447
|
+ Thread.sleep(1000);
|
|
448
|
+ }
|
|
449
|
+ } catch (Exception e) {
|
|
450
|
+ e.printStackTrace();
|
|
451
|
+ }
|
|
452
|
+ }
|
|
453
|
+
|
409
|
454
|
@Override
|
410
|
455
|
public IPage<TaBuildingDynamic> getJoinedActivity(int pageNumber, int pageSize,String building,TaPerson person,Integer orgId){
|
411
|
456
|
QueryWrapper<TaActivityDynamicEnlist> activityDynamicEnlistQueryWrapper = new QueryWrapper<>();
|