傅行帆 5 lat temu
rodzic
commit
041be7151f

+ 51
- 30
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Wyświetl plik

@@ -88,9 +88,15 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
88 88
     @Autowired
89 89
     private TaUserMapper taUserMapper;
90 90
 
91
+    @Autowired
92
+    private TaPersonFromRecordMapper taPersonFromRecordMapper;
93
+
91 94
     @Autowired
92 95
     private TdPersonFromMapper tdPersonFromMapper;
93 96
 
97
+    @Autowired
98
+    private TdWxDictMapper tdWxDictMapper;
99
+
94 100
     @Override
95 101
     public ResponseBean getMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
96 102
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
@@ -571,16 +577,6 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
571 577
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordIPage);
572 578
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordIPage.getRecords().size());
573 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 581
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
586 582
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
@@ -600,11 +596,29 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
600 596
         }
601 597
         //构造来源类型
602 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 624
         return taRecommendCustomer;
@@ -612,7 +626,7 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
612 626
 
613 627
     @Override
614 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 630
         if(!StringUtils.isEmpty(personId)){
617 631
             IPage<TaPersonVisitRecord>page = new Page<>(pageNumber,pageSize);
618 632
             IPage<TaPersonVisitRecord> taPersonVisitRecordIPage = taPersonVisitRecordMapper.visitRecordByPersonId(page,personId,taPersonBuildingList,buildingId);
@@ -656,26 +670,33 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
656 670
                 }
657 671
             });
658 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 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 702
     @Override

+ 7
- 3
src/main/resources/mapper/TaPersonVisitRecordMapper.xml Wyświetl plik

@@ -23,16 +23,20 @@
23 23
     </sql>
24 24
 
25 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 30
         where t.person_id = #{personId}
28 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 33
             <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
31 34
                 #{personBuilding.buildingId}
32 35
             </foreach>
36
+            )
33 37
         </if>
34 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 40
         </if>
37 41
         order by t.visit_time desc
38 42
     </select>