胡轶钦 5 jaren geleden
bovenliggende
commit
e25b81bd7c

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Bestand weergeven

162
     
162
     
163
     @TableField(exist = false)
163
     @TableField(exist = false)
164
     private String buildingId;
164
     private String buildingId;
165
+
166
+    @TableField(exist = false)
167
+    private List<String> projects;
165
 }
168
 }

+ 11
- 0
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java Bestand weergeven

75
     @Autowired
75
     @Autowired
76
     private ITaBuildingService iTaBuildingService;
76
     private ITaBuildingService iTaBuildingService;
77
 
77
 
78
+    @Autowired
79
+    private ITaRecommendCustomerService recommendCustomerService;
80
+
78
     @Autowired
81
     @Autowired
79
     private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
82
     private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
80
 
83
 
290
                if(taActivityDynamicEnlistMapper.updateById(enlist)>0){
293
                if(taActivityDynamicEnlistMapper.updateById(enlist)>0){
291
                    if (enlist.getIsCheckin().equals(CommConstant.STATUS_UNACCALIMED)){
294
                    if (enlist.getIsCheckin().equals(CommConstant.STATUS_UNACCALIMED)){
292
                        applicationContext.publishEvent(new EventBus(enlist,ActivityCheckin,getOrgId(request)));
295
                        applicationContext.publishEvent(new EventBus(enlist,ActivityCheckin,getOrgId(request)));
296
+                       QueryWrapper<TaRecommendCustomer> customerQueryWrapper = new QueryWrapper<>();
297
+                       customerQueryWrapper.eq("person_id",enlist.getPersonId());
298
+                       customerQueryWrapper.eq("building_id",enlist.getBuildingId());
299
+                       TaRecommendCustomer recommendCustomer = recommendCustomerService.getOne(customerQueryWrapper);
300
+                       if (recommendCustomer.getStatus() < CommConstant.CUSTOMER_VISITE){
301
+                           recommendCustomer.setStatus(CommConstant.CUSTOMER_VISITE);
302
+                           recommendCustomerService.updateById(recommendCustomer);
303
+                       }
293
                        responseBean.addSuccess(enlist);
304
                        responseBean.addSuccess(enlist);
294
                    }else {
305
                    }else {
295
                        responseBean.addError("您已签到过");
306
                        responseBean.addError("您已签到过");

+ 36
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Bestand weergeven

135
         return responseBean;
135
         return responseBean;
136
     }
136
     }
137
 
137
 
138
+    @PutMapping("/wx/registerConsultantOneClick")
139
+    public ResponseBean registerConsultantOneClick(HttpServletRequest request) {
140
+        ResponseBean responseBean = new ResponseBean();
141
+        Integer orgId =getOrgId(request);
142
+        String openid = getOpenId(request);
143
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
144
+        if (null == taPersons || taPersons.size() != 1) {
145
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
146
+        }
147
+        TaPerson person = taPersons.get(0);
148
+        QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
149
+        queryWrapper.eq("phone",person.getPhone());
150
+        queryWrapper.eq("org_id",orgId);
151
+        queryWrapper.eq("is_consultant",true);
152
+        List<TaUser> users = taUserService.list(queryWrapper);
153
+        if(users.size()>0){
154
+            TaUser user = users.get(0);
155
+            person.setPersonType(CommConstant.PERSON_REALTY_CONSULTANT);
156
+            person.setUserId(user.getUserId());
157
+            person.setAvatarurl(user.getAvatar());
158
+            person.setCompany(user.getOrgName());
159
+            person.setTel(user.getPhone());
160
+            person.setName(user.getUserName());
161
+            person.setAddress(user.getAddress());
162
+            person.setIdNo(user.getIdNo());
163
+            person.setDepartment(user.getDepartment());
164
+            person.setPost(user.getPosition());
165
+            person.setPhoto(user.getPhoto());
166
+            taPersonService.updateById(person);
167
+            responseBean.addSuccess(person);
168
+        }else {
169
+            responseBean.addError("手机号不存在,请联系管理员维护。");
170
+        }
171
+        return responseBean;
172
+    }
173
+
138
     @PutMapping("/wx/registerAgent")
174
     @PutMapping("/wx/registerAgent")
139
     public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
175
     public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
140
         ResponseBean responseBean = new ResponseBean();
176
         ResponseBean responseBean = new ResponseBean();

+ 13
- 1
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Bestand weergeven

474
 
474
 
475
 
475
 
476
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
476
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
477
-    public ResponseBean getCutomerDetail(@PathVariable String id) {
477
+    public ResponseBean getCustomerDetail(@PathVariable String id) {
478
         ResponseBean responseBean = new ResponseBean();
478
         ResponseBean responseBean = new ResponseBean();
479
         try {
479
         try {
480
             responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id));
480
             responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id));
485
         return responseBean;
485
         return responseBean;
486
     }
486
     }
487
 
487
 
488
+    @GetMapping(value = "/admin/customer/recommend/public/get/{id}")
489
+    public ResponseBean getPublicCustomerDetail(@PathVariable String id) {
490
+        ResponseBean responseBean = new ResponseBean();
491
+        try {
492
+            responseBean.addSuccess(taRecommendCustomerService.getPublicCustomerDetail(id));
493
+        }catch (Exception e){
494
+            e.printStackTrace();
495
+            responseBean.addError(e.getMessage());
496
+        }
497
+        return responseBean;
498
+    }
499
+
488
     @GetMapping("/admin/customer/recommend/drift")
500
     @GetMapping("/admin/customer/recommend/drift")
489
     public ResponseBean getDriftCustomerList (HttpServletRequest request,
501
     public ResponseBean getDriftCustomerList (HttpServletRequest request,
490
                                               @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,
502
                                               @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,

+ 37
- 0
src/main/java/com/huiju/estateagents/entity/PersonIntention.java Bestand weergeven

1
+package com.huiju.estateagents.entity;
2
+
3
+import lombok.Data;
4
+
5
+import java.io.Serializable;
6
+import java.time.LocalDateTime;
7
+
8
+/**
9
+ * <p>
10
+ * 收藏表 
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-07-25
15
+ */
16
+@Data
17
+public class PersonIntention implements Serializable {
18
+
19
+    private static final long serialVersionUID = 1L;
20
+
21
+
22
+
23
+    private String personId;
24
+
25
+
26
+    private String buildingName;
27
+
28
+
29
+    private String buildingId;
30
+
31
+
32
+    private Integer intention;
33
+
34
+
35
+
36
+
37
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java Bestand weergeven

267
     @TableField(exist = false)
267
     @TableField(exist = false)
268
     private List<TaShareContent> shareContents;
268
     private List<TaShareContent> shareContents;
269
 
269
 
270
+    @TableField(exist = false)
271
+    private List<PersonIntention> intentions;
272
+
273
+    @TableField(exist = false)
274
+    private Integer visitTimes;
270
     /**
275
     /**
271
      * 推广人
276
      * 推广人
272
      */
277
      */

+ 5
- 1
src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java Bestand weergeven

10
 import com.baomidou.mybatisplus.annotation.IdType;
10
 import com.baomidou.mybatisplus.annotation.IdType;
11
 import com.baomidou.mybatisplus.annotation.TableField;
11
 import com.baomidou.mybatisplus.annotation.TableField;
12
 import com.baomidou.mybatisplus.annotation.TableId;
12
 import com.baomidou.mybatisplus.annotation.TableId;
13
+import com.huiju.estateagents.center.taUser.entity.TaUser;
13
 import lombok.Data;
14
 import lombok.Data;
14
 import lombok.EqualsAndHashCode;
15
 import lombok.EqualsAndHashCode;
15
 import lombok.experimental.Accessors;
16
 import lombok.experimental.Accessors;
168
     private Integer visitTimes;
169
     private Integer visitTimes;
169
 
170
 
170
     @TableField(exist = false)
171
     @TableField(exist = false)
171
-    private TaPerson consultant;
172
+    private TaUser consultant;
172
 
173
 
173
     @TableField(exist = false)
174
     @TableField(exist = false)
174
     private String recommendName;
175
     private String recommendName;
176
     @TableField(exist = false)
177
     @TableField(exist = false)
177
     private String recommendTel;
178
     private String recommendTel;
178
 
179
 
180
+    @TableField(exist = false)
181
+    private List<PersonIntention> intentions;
182
+
179
     /**
183
     /**
180
      * 推广人
184
      * 推广人
181
      */
185
      */

+ 1
- 1
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java Bestand weergeven

38
     TaPerson getById(@Param("personId") String personId);
38
     TaPerson getById(@Param("personId") String personId);
39
 
39
 
40
 
40
 
41
-    List<String>getUserProjects(@Param("personId") String personId);
41
+    List<String>getUserProjects(@Param("personId") Integer personId);
42
 
42
 
43
     TaPerson selectByIdPerson(@Param("openid") String openid);
43
     TaPerson selectByIdPerson(@Param("openid") String openid);
44
 
44
 

+ 3
- 0
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java Bestand weergeven

1
 package com.huiju.estateagents.mapper;
1
 package com.huiju.estateagents.mapper;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.entity.PersonIntention;
4
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaRecommendCustomer;
6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
150
      */
151
      */
151
     List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status);
152
     List<PrivateCustomerExport> getCustomerExportList(@Param("pageCode") Integer pageCode, @Param("pageSize") Integer pageSize, @Param("building") String buildingId, @Param("name") String name, @Param("tel") String tel, @Param("consultName") String consultName, @Param("consultTel") String consultTel, @Param("entryType") String entryType, @Param("verifyStatus") String verifyStatus, @Param("sex") Integer sex, @Param("orgId") Integer orgId, @Param("status")Integer status);
152
 
153
 
154
+    List<PersonIntention> getCustomerIntentions(@Param("personId")String personId);
155
+
153
 }
156
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java Bestand weergeven

44
 
44
 
45
     TaRecommendCustomer getCustomerDetail(String customerId);
45
     TaRecommendCustomer getCustomerDetail(String customerId);
46
 
46
 
47
+    TaPerson getPublicCustomerDetail(String personId);
48
+
47
     TaRecommendCustomer getCustomerById(String customerId);
49
     TaRecommendCustomer getCustomerById(String customerId);
48
 
50
 
49
     IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);
51
     IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);

+ 21
- 2
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Bestand weergeven

440
         if(!StringUtils.isEmpty(personId)){
440
         if(!StringUtils.isEmpty(personId)){
441
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
441
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
442
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
442
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
443
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
443
         }
444
         }
444
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
445
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
445
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
446
             TaPerson consultant =  taPersonMapper.getById(taRecommendCustomer.getRealtyConsultant());
446
-            consultant.setProjects(taPersonMapper.getUserProjects(consultant.getPersonId()));
447
-            taRecommendCustomer.setConsultant(consultant);
447
+            TaUser user = new TaUser();
448
+            if(null == consultant){
449
+                user = userService.getById(taRecommendCustomer.getRealtyConsultant());
450
+            }else {
451
+                user = userService.getById(consultant.getUserId());
452
+            }
453
+            user.setProjects(taPersonMapper.getUserProjects(user.getUserId()));
454
+            taRecommendCustomer.setConsultant(user);
455
+        }
456
+        return taRecommendCustomer;
457
+    }
458
+
459
+    @Override
460
+    public TaPerson getPublicCustomerDetail(String personId){
461
+        TaPerson taRecommendCustomer = taPersonMapper.getById(personId);
462
+        if(!StringUtils.isEmpty(personId)){
463
+            taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
464
+            taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
465
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
448
         }
466
         }
467
+
449
         return taRecommendCustomer;
468
         return taRecommendCustomer;
450
     }
469
     }
451
 
470
 

+ 1
- 1
src/main/resources/mapper/TaPersonMapper.xml Bestand weergeven

108
 FROM
108
 FROM
109
 	ta_person_building a
109
 	ta_person_building a
110
 	LEFT JOIN ta_building b ON a.building_id = b.building_id
110
 	LEFT JOIN ta_building b ON a.building_id = b.building_id
111
-	WHERE a.person_id = #{personId}
111
+	WHERE a.user_id = #{personId}
112
     </select>
112
     </select>
113
 
113
 
114
     <select id="selectByIdPerson" resultType="com.huiju.estateagents.entity.TaPerson">
114
     <select id="selectByIdPerson" resultType="com.huiju.estateagents.entity.TaPerson">

+ 17
- 3
src/main/resources/mapper/TaRecommendCustomerMapper.xml Bestand weergeven

210
         ta_person b
210
         ta_person b
211
         <where>
211
         <where>
212
             b.status > 0
212
             b.status > 0
213
+            and b.org_id = #{orgId}
213
             AND IFNULL(b.person_type, '') in ('estate agent', 'customer')
214
             AND IFNULL(b.person_type, '') in ('estate agent', 'customer')
215
+            AND b.person_id not IN ( SELECT c.person_id FROM ta_recommend_customer c WHERE c.org_id = #{orgId} AND person_id is not null AND person_id != ''  )
214
             <if test="name != null and name !=''">
216
             <if test="name != null and name !=''">
215
                 and b.nickname like CONCAT('%',#{name}, '%')
217
                 and b.nickname like CONCAT('%',#{name}, '%')
216
             </if>
218
             </if>
223
             <if test="sex != null and sex !=''">
225
             <if test="sex != null and sex !=''">
224
                 and b.sex = #{sex}
226
                 and b.sex = #{sex}
225
             </if>
227
             </if>
226
-            <if test="orgId != null">
227
-                and b.org_id = #{orgId}
228
-            </if>
229
             <if test="consultTel != null and consultTel !=''">
228
             <if test="consultTel != null and consultTel !=''">
230
                 and b.tel like CONCAT('%',#{consultTel}, '%')
229
                 and b.tel like CONCAT('%',#{consultTel}, '%')
231
             </if>
230
             </if>
533
         limit #{pageCode}, #{pageSize}
532
         limit #{pageCode}, #{pageSize}
534
     </select>
533
     </select>
535
 
534
 
535
+    <select id="getCustomerIntentions" resultType="com.huiju.estateagents.entity.PersonIntention">
536
+        SELECT
537
+	SUM( intention ) AS intention,
538
+	building_id,
539
+	building_name
540
+FROM
541
+	`ta_person_intention_record`
542
+WHERE
543
+	person_id = #{personId}
544
+GROUP BY
545
+	building_id
546
+ORDER BY
547
+	intention DESC
548
+    </select>
549
+
536
 </mapper>
550
 </mapper>