Browse Source

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

魏超 5 years ago
parent
commit
4a7a5185f3

+ 24
- 5
src/main/java/com/huiju/estateagents/controller/MiniAppController.java View File

199
             personQueryWrapper.eq("org_id",orgId);
199
             personQueryWrapper.eq("org_id",orgId);
200
             int count = taPersonService.count(personQueryWrapper);
200
             int count = taPersonService.count(personQueryWrapper);
201
 
201
 
202
-            if(null!=from&&from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
203
-                // 添加积分
204
-                 applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
205
-            }
206
-
207
             TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), orgId);
202
             TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), orgId);
208
             if (null == taPerson) {
203
             if (null == taPerson) {
209
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
204
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
210
             }
205
             }
206
+
207
+            if(null!=from&&from.contains("share") && StringUtils.isNotBlank(recommender) && count>0){
208
+                // 校验是否点击过此人的分享
209
+                boolean checkPoint = checkSharePersonFrom(from,taPerson.getPersonId(),targetId,orgId);
210
+                if (checkPoint){
211
+                    // 添加积分
212
+                    applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
213
+                }
214
+            }
215
+
216
+
211
             Map<Object,Object> map = new HashMap<>();
217
             Map<Object,Object> map = new HashMap<>();
212
             map.put("openId",session.getOpenid());
218
             map.put("openId",session.getOpenid());
213
             map.put("orgId",orgId);
219
             map.put("orgId",orgId);
323
         }
329
         }
324
     }
330
     }
325
 
331
 
332
+    private boolean checkSharePersonFrom(String from, String personId, String targetId, Integer orgId) {
333
+        QueryWrapper<TaSharePersonFrom> queryWrapper =  new QueryWrapper<>();
334
+        queryWrapper.eq("target_type",from);
335
+        queryWrapper.eq("person_id",personId);
336
+        queryWrapper.eq("target_id",targetId);
337
+        queryWrapper.eq("org_id",orgId);
338
+        List<TaSharePersonFrom> list = taSharePersonFromService.list(queryWrapper);
339
+        if (list.size() > 0){
340
+            return false;
341
+        }
342
+        return true;
343
+    }
344
+
326
     /**
345
     /**
327
      * 登陆接口
346
      * 登陆接口
328
      */
347
      */

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/TaPersonFromRecordServiceImpl.java View File

61
         queryWrapper.eq("person_id",taPersonVisitRecord.getPersonId());
61
         queryWrapper.eq("person_id",taPersonVisitRecord.getPersonId());
62
         int count = taPersonFromRecordMapper.selectCount(queryWrapper);
62
         int count = taPersonFromRecordMapper.selectCount(queryWrapper);
63
         if(count > 0){
63
         if(count > 0){
64
-            taPersonFromRecord.setIsFirstTime(false);
64
+            return;
65
         }else {
65
         }else {
66
             taPersonFromRecord.setIsFirstTime(true);
66
             taPersonFromRecord.setIsFirstTime(true);
67
         }
67
         }

+ 2
- 6
src/main/java/com/huiju/estateagents/service/impl/TaPointsRecordsServiceImpl.java View File

109
 			return;
109
 			return;
110
 		}
110
 		}
111
 
111
 
112
-		// 发放积分
113
-		TaPerson person = taPersonMapper.selectById(recommenderId);
114
 		String[] params = {
112
 		String[] params = {
115
 				"openUser="+recommenderId
113
 				"openUser="+recommenderId
116
 		};
114
 		};
117
 		String changeParams = String.join("&", params);
115
 		String changeParams = String.join("&", params);
118
-		boolean hasJoined = isPointsRecordsExist(person.getPersonId(), changeType, changeParams);
119
-		if (hasJoined) {
120
-			return;
121
-		}
122
 
116
 
117
+		// 发放积分
118
+		TaPerson person = taPersonMapper.selectById(recommenderId);
123
 		if (savePoints(person, changeType, changeParams, pointsAmount, orgId)) {
119
 		if (savePoints(person, changeType, changeParams, pointsAmount, orgId)) {
124
 			taPersonMapper.setFieldIncrement(person.getPersonId(), "points", pointsAmount);
120
 			taPersonMapper.setFieldIncrement(person.getPersonId(), "points", pointsAmount);
125
 		}
121
 		}

+ 51
- 30
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java View File

88
     @Autowired
88
     @Autowired
89
     private TaUserMapper taUserMapper;
89
     private TaUserMapper taUserMapper;
90
 
90
 
91
+    @Autowired
92
+    private TaPersonFromRecordMapper taPersonFromRecordMapper;
93
+
91
     @Autowired
94
     @Autowired
92
     private TdPersonFromMapper tdPersonFromMapper;
95
     private TdPersonFromMapper tdPersonFromMapper;
93
 
96
 
97
+    @Autowired
98
+    private TdWxDictMapper tdWxDictMapper;
99
+
94
     @Override
100
     @Override
95
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
101
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
96
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
102
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
571
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
577
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
572
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
578
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
573
             taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
579
             taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
574
-            Map<String,String>geoInfo = new HashMap<>();
575
-            geoInfo.put("provience",person.getProvince());
576
-            geoInfo.put("country",person.getCountry());
577
-            TdCity city = cityMapper.selectById(person.getCity());
578
-            if(null!=city){
579
-                geoInfo.put("city",city.getName());
580
-            }else {
581
-                geoInfo.put("city","未知");
582
-            }
583
-            taRecommendCustomer.setGeoInfo(geoInfo);
584
         }
580
         }
585
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
581
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
586
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
582
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
600
         }
596
         }
601
         //构造来源类型
597
         //构造来源类型
602
         taRecommendCustomer.setPersonFrom("");
598
         taRecommendCustomer.setPersonFrom("");
603
-        if (null != person && null != person.getFromCode()){
604
-            QueryWrapper<TdPersonFrom> tdPersonFromQueryWrapper = new QueryWrapper<>();
605
-            tdPersonFromQueryWrapper.eq("from_code",person.getFromCode());
606
-            TdPersonFrom tdPersonFrom = tdPersonFromMapper.selectOne(tdPersonFromQueryWrapper);
607
-            taRecommendCustomer.setPersonFrom(null != tdPersonFrom ? tdPersonFrom.getFromName() : "");
599
+        if (null != person){
600
+            Map<String,String>geoInfo = new HashMap<>();
601
+            geoInfo.put("provience",person.getProvince());
602
+            geoInfo.put("country",person.getCountry());
603
+            TdCity city = cityMapper.selectById(person.getCity());
604
+            if(null!=city){
605
+                geoInfo.put("city",city.getName());
606
+            }else {
607
+                geoInfo.put("city","未知");
608
+            }
609
+            taRecommendCustomer.setGeoInfo(geoInfo);
610
+
611
+            QueryWrapper<TaPersonFromRecord> queryWrapper = new QueryWrapper<>();
612
+            queryWrapper.eq("org_id",person.getOrgId());
613
+            queryWrapper.eq("person_id",person.getPersonId());
614
+            queryWrapper.eq("is_first_time",1);
615
+            List<TaPersonFromRecord> taPersonFromRecords = taPersonFromRecordMapper.selectList(queryWrapper);
616
+            if (taPersonFromRecords.size() > 0){
617
+                QueryWrapper<TdWxDict> tdWxDictQueryWrapper = new QueryWrapper<>();
618
+                tdWxDictQueryWrapper.eq("scene_id",taPersonFromRecords.get(0).getSceneId());
619
+                TdWxDict tdWxDict = tdWxDictMapper.selectOne(tdWxDictQueryWrapper);
620
+                taRecommendCustomer.setPersonFrom(null != tdWxDict ? tdWxDict.getSceneAlias() : "");
621
+            }
608
         }
622
         }
609
 
623
 
610
         return taRecommendCustomer;
624
         return taRecommendCustomer;
612
 
626
 
613
     @Override
627
     @Override
614
     public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList,String buildingId){
628
     public TaPerson getPublicCustomerDetail(String personId,int pageNumber, int pageSize,List<TaPersonBuilding> taPersonBuildingList,String buildingId){
615
-        TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
629
+        TaPerson taPerson = taPersonMapper.getById(personId);
616
         if(!StringUtils.isEmpty(personId)){
630
         if(!StringUtils.isEmpty(personId)){
617
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
631
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
618
             IPage<TaPersonVisitRecord> taPersonVisitRecordIPage = taPersonVisitRecordMapper.visitRecordByPersonId(page,personId,taPersonBuildingList,buildingId);
632
             IPage<TaPersonVisitRecord> taPersonVisitRecordIPage = taPersonVisitRecordMapper.visitRecordByPersonId(page,personId,taPersonBuildingList,buildingId);
656
                 }
670
                 }
657
             });
671
             });
658
             taPersonVisitRecordIPage.setRecords(records);
672
             taPersonVisitRecordIPage.setRecords(records);
659
-            taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
660
-            taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
661
-            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
662
-            taRecommendCustomer.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
663
-            taRecommendCustomer.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
664
-            TdCity city = cityMapper.selectById(taRecommendCustomer.getCity());
673
+            taPerson.setVisitRecords(taPersonVisitRecordIPage);
674
+            taPerson.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
675
+            taPerson.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId,taPersonBuildingList));
676
+            taPerson.setDuration(taPersonVisitRecordMapper.getDurationByPersonId(personId));
677
+            taPerson.setVisitTime(taPersonVisitRecordMapper.getFirstVisitTimeByPersonId(personId));
678
+            TdCity city = cityMapper.selectById(taPerson.getCity());
665
             if(null != city){
679
             if(null != city){
666
-                taRecommendCustomer.setCity(city.getName());
680
+                taPerson.setCity(city.getName());
667
             }
681
             }
668
 
682
 
669
             //构造来源类型
683
             //构造来源类型
670
-            taRecommendCustomer.setPersonFrom("");
671
-            if (null != taRecommendCustomer.getFromCode()){
672
-                QueryWrapper<TdPersonFrom> tdPersonFromQueryWrapper = new QueryWrapper<>();
673
-                tdPersonFromQueryWrapper.eq("from_code",taRecommendCustomer.getFromCode());
674
-                TdPersonFrom tdPersonFrom = tdPersonFromMapper.selectOne(tdPersonFromQueryWrapper);
675
-                taRecommendCustomer.setPersonFrom(null != tdPersonFrom ? tdPersonFrom.getFromName() : "");
684
+            taPerson.setPersonFrom("");
685
+            if (null != taPerson){
686
+                QueryWrapper<TaPersonFromRecord> queryWrapper = new QueryWrapper<>();
687
+                queryWrapper.eq("org_id",taPerson.getOrgId());
688
+                queryWrapper.eq("person_id",taPerson.getPersonId());
689
+                queryWrapper.eq("is_first_time",1);
690
+                List<TaPersonFromRecord> taPersonFromRecords = taPersonFromRecordMapper.selectList(queryWrapper);
691
+                if (taPersonFromRecords.size() > 0){
692
+                    QueryWrapper<TdWxDict> tdWxDictQueryWrapper = new QueryWrapper<>();
693
+                    tdWxDictQueryWrapper.eq("scene_id",taPersonFromRecords.get(0).getSceneId());
694
+                    TdWxDict tdWxDict = tdWxDictMapper.selectOne(tdWxDictQueryWrapper);
695
+                    taPerson.setPersonFrom(null != tdWxDict ? tdWxDict.getSceneAlias() : "");
696
+                }
676
             }
697
             }
677
         }
698
         }
678
-        return taRecommendCustomer;
699
+        return taPerson;
679
     }
700
     }
680
 
701
 
681
     @Override
702
     @Override

+ 7
- 3
src/main/resources/mapper/TaPersonVisitRecordMapper.xml View File

23
     </sql>
23
     </sql>
24
 
24
 
25
     <select id="visitRecordByPersonId" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
25
     <select id="visitRecordByPersonId" resultType="com.huiju.estateagents.entity.TaPersonVisitRecord">
26
-        select * from ta_person_visit_record t
26
+        select
27
+            t.* ,
28
+            b.parent_type_id from ta_person_visit_record t
29
+        left join td_biz_event_type b on t.event_type = b.type_id
27
         where t.person_id = #{personId}
30
         where t.person_id = #{personId}
28
         <if test="personBuildingList != null and personBuildingList.size > 0">
31
         <if test="personBuildingList != null and personBuildingList.size > 0">
29
-            AND t.building_id in
32
+            AND (b.parent_type_id = 'public' or t.building_id in
30
             <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
33
             <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
31
                 #{personBuilding.buildingId}
34
                 #{personBuilding.buildingId}
32
             </foreach>
35
             </foreach>
36
+            )
33
         </if>
37
         </if>
34
         <if test="buildingId != null and buildingId != ''">
38
         <if test="buildingId != null and buildingId != ''">
35
-            AND t.building_id = #{buildingId}
39
+            AND (b.parent_type_id = 'public' or t.building_id = #{buildingId} )
36
         </if>
40
         </if>
37
         order by t.visit_time desc
41
         order by t.visit_time desc
38
     </select>
42
     </select>