胡轶钦 5 anos atrás
pai
commit
e25b81bd7c

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

@@ -162,4 +162,7 @@ public class TaUser implements Serializable {
162 162
     
163 163
     @TableField(exist = false)
164 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 Ver arquivo

@@ -75,6 +75,9 @@ public class TaBuildingDynamicController extends BaseController {
75 75
     @Autowired
76 76
     private ITaBuildingService iTaBuildingService;
77 77
 
78
+    @Autowired
79
+    private ITaRecommendCustomerService recommendCustomerService;
80
+
78 81
     @Autowired
79 82
     private TaActivityDynamicEnlistMapper taActivityDynamicEnlistMapper;
80 83
 
@@ -290,6 +293,14 @@ public class TaBuildingDynamicController extends BaseController {
290 293
                if(taActivityDynamicEnlistMapper.updateById(enlist)>0){
291 294
                    if (enlist.getIsCheckin().equals(CommConstant.STATUS_UNACCALIMED)){
292 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 304
                        responseBean.addSuccess(enlist);
294 305
                    }else {
295 306
                        responseBean.addError("您已签到过");

+ 36
- 0
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Ver arquivo

@@ -135,6 +135,42 @@ public class TaPersonController extends BaseController {
135 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 174
     @PutMapping("/wx/registerAgent")
139 175
     public ResponseBean registerAgent(@RequestParam(required = false) String recommendAgentCode, @RequestParam(required = false) String channelCode,HttpServletRequest request) {
140 176
         ResponseBean responseBean = new ResponseBean();

+ 13
- 1
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java Ver arquivo

@@ -474,7 +474,7 @@ public class TaRecommendCustomerController extends BaseController {
474 474
 
475 475
 
476 476
     @GetMapping(value = "/admin/customer/recommend/get/{id}")
477
-    public ResponseBean getCutomerDetail(@PathVariable String id) {
477
+    public ResponseBean getCustomerDetail(@PathVariable String id) {
478 478
         ResponseBean responseBean = new ResponseBean();
479 479
         try {
480 480
             responseBean.addSuccess(taRecommendCustomerService.getCustomerDetail(id));
@@ -485,6 +485,18 @@ public class TaRecommendCustomerController extends BaseController {
485 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 500
     @GetMapping("/admin/customer/recommend/drift")
489 501
     public ResponseBean getDriftCustomerList (HttpServletRequest request,
490 502
                                               @RequestParam(value ="buildingId",defaultValue = "false") String buildingId,

+ 37
- 0
src/main/java/com/huiju/estateagents/entity/PersonIntention.java Ver arquivo

@@ -0,0 +1,37 @@
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 Ver arquivo

@@ -267,6 +267,11 @@ public class TaPerson implements Serializable {
267 267
     @TableField(exist = false)
268 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 Ver arquivo

@@ -10,6 +10,7 @@ import com.alibaba.excel.annotation.format.DateTimeFormat;
10 10
 import com.baomidou.mybatisplus.annotation.IdType;
11 11
 import com.baomidou.mybatisplus.annotation.TableField;
12 12
 import com.baomidou.mybatisplus.annotation.TableId;
13
+import com.huiju.estateagents.center.taUser.entity.TaUser;
13 14
 import lombok.Data;
14 15
 import lombok.EqualsAndHashCode;
15 16
 import lombok.experimental.Accessors;
@@ -168,7 +169,7 @@ public class TaRecommendCustomer implements Serializable {
168 169
     private Integer visitTimes;
169 170
 
170 171
     @TableField(exist = false)
171
-    private TaPerson consultant;
172
+    private TaUser consultant;
172 173
 
173 174
     @TableField(exist = false)
174 175
     private String recommendName;
@@ -176,6 +177,9 @@ public class TaRecommendCustomer implements Serializable {
176 177
     @TableField(exist = false)
177 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 Ver arquivo

@@ -38,7 +38,7 @@ public interface TaPersonMapper extends BaseMapper<TaPerson> {
38 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 43
     TaPerson selectByIdPerson(@Param("openid") String openid);
44 44
 

+ 3
- 0
src/main/java/com/huiju/estateagents/mapper/TaRecommendCustomerMapper.java Ver arquivo

@@ -1,6 +1,7 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.entity.PersonIntention;
4 5
 import com.huiju.estateagents.entity.TaPerson;
5 6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
6 7
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -150,4 +151,6 @@ public interface TaRecommendCustomerMapper extends BaseMapper<TaRecommendCustome
150 151
      */
151 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 Ver arquivo

@@ -44,6 +44,8 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
44 44
 
45 45
     TaRecommendCustomer getCustomerDetail(String customerId);
46 46
 
47
+    TaPerson getPublicCustomerDetail(String personId);
48
+
47 49
     TaRecommendCustomer getCustomerById(String customerId);
48 50
 
49 51
     IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,Integer orgId);

+ 21
- 2
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Ver arquivo

@@ -440,12 +440,31 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
440 440
         if(!StringUtils.isEmpty(personId)){
441 441
             taRecommendCustomer.setVisitRecords(taPersonVisitRecordMapper.visitRecordByPersonId(personId));
442 442
             taRecommendCustomer.setVisitTimes(taPersonVisitRecordMapper.visitRecordByPersonId(personId).size());
443
+            taRecommendCustomer.setIntentions(taRecommendCustomerMapper.getCustomerIntentions(personId));
443 444
         }
444 445
         if(!StringUtils.isEmpty(taRecommendCustomer.getRealtyConsultant())){
445 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 468
         return taRecommendCustomer;
450 469
     }
451 470
 

+ 1
- 1
src/main/resources/mapper/TaPersonMapper.xml Ver arquivo

@@ -108,7 +108,7 @@ WHERE
108 108
 FROM
109 109
 	ta_person_building a
110 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 112
     </select>
113 113
 
114 114
     <select id="selectByIdPerson" resultType="com.huiju.estateagents.entity.TaPerson">

+ 17
- 3
src/main/resources/mapper/TaRecommendCustomerMapper.xml Ver arquivo

@@ -210,7 +210,9 @@ FROM
210 210
         ta_person b
211 211
         <where>
212 212
             b.status > 0
213
+            and b.org_id = #{orgId}
213 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 216
             <if test="name != null and name !=''">
215 217
                 and b.nickname like CONCAT('%',#{name}, '%')
216 218
             </if>
@@ -223,9 +225,6 @@ FROM
223 225
             <if test="sex != null and sex !=''">
224 226
                 and b.sex = #{sex}
225 227
             </if>
226
-            <if test="orgId != null">
227
-                and b.org_id = #{orgId}
228
-            </if>
229 228
             <if test="consultTel != null and consultTel !=''">
230 229
                 and b.tel like CONCAT('%',#{consultTel}, '%')
231 230
             </if>
@@ -533,4 +532,19 @@ FROM
533 532
         limit #{pageCode}, #{pageSize}
534 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 550
 </mapper>