傅行帆 5 年之前
父節點
當前提交
041be7151f

+ 51
- 30
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java 查看文件

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 查看文件

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>