张延森 преди 5 години
родител
ревизия
be433e0f9e

+ 36
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Целия файл

@@ -154,4 +154,40 @@ public class CommConstant {
154 154
 
155 155
     //=================  首屏广告 / 轮播图 end =======================
156 156
 
157
+
158
+    /**
159
+     * 客户报备
160
+     */
161
+    public static final String CUSTOMER_REPORT = "1";
162
+
163
+    /**
164
+     * 客户到访
165
+     */
166
+    public static final String CUSTOMER_VISITE = "2";
167
+
168
+    /**
169
+     * 客户认购
170
+     */
171
+    public static final String CUSTOMER_PREORDER = "3";
172
+
173
+    /**
174
+     * 客户签约
175
+     */
176
+    public static final String CUSTOMER_SIGNED = "4";
177
+
178
+
179
+    /**
180
+     * 待审核
181
+     */
182
+    public static final Integer VERIFY_READY = 0;
183
+
184
+    /**
185
+     * 审核同意
186
+     */
187
+    public static final Integer VERIFY_AGREE = 1;
188
+
189
+    /**
190
+     * 审核不同意
191
+     */
192
+    public static final Integer VERIFY_DISAGREE = 2;
157 193
 }

+ 11
- 4
src/main/java/com/huiju/estateagents/entity/TaBuilding.java Целия файл

@@ -160,22 +160,29 @@ public class TaBuilding implements Serializable {
160 160
 
161 161
     private String buildingType;
162 162
 
163
-    private String serviceBuilding;
163
+    private String serviceCompany;
164 164
 
165 165
     private String serviceFee;
166 166
 
167 167
     private String decoration;
168 168
 
169
-    private String receivedDate;
169
+    private LocalDateTime receivedDate;
170 170
 
171
-    private String rightsYear;
171
+    private String preSalePermit;
172 172
 
173
-    private String familyNum;
173
+    private Integer rightsYear;
174
+
175
+    private Integer familyNum;
174 176
 
175 177
     private String parkingRate;
176 178
 
177 179
     private String volumeRate;
178 180
 
181
+    private Integer favorNum;
182
+    private Integer pvNum;
183
+    private Integer saveNum;
184
+    private Integer shareNum;
185
+
179 186
 
180 187
     /**
181 188
      * 图片

+ 1
- 1
src/main/java/com/huiju/estateagents/entity/TaPerson.java Целия файл

@@ -220,5 +220,5 @@ public class TaPerson implements Serializable {
220 220
 
221 221
     private String language;
222 222
 
223
-
223
+    private Integer saveNum;
224 224
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/entity/TaRecommendCustomer.java Целия файл

@@ -123,7 +123,7 @@ public class TaRecommendCustomer implements Serializable {
123 123
     @TableField(exist = false)
124 124
     private Map<String, Object> consultants;
125 125
 
126
-    private String verifyStatus;
126
+    private Integer verifyStatus;
127 127
 
128 128
     private String verifyRemark;
129 129
 

+ 4
- 0
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java Целия файл

@@ -6,6 +6,7 @@ import com.huiju.estateagents.entity.TaBuilding;
6 6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7 7
 import org.apache.ibatis.annotations.Mapper;
8 8
 import org.apache.ibatis.annotations.Param;
9
+import org.apache.ibatis.annotations.Update;
9 10
 
10 11
 import java.util.List;
11 12
 
@@ -25,4 +26,7 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
25 26
      * @return
26 27
      */
27 28
     List<TaBuilding> buildingList(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code);
29
+
30
+    @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")
31
+    void setFieldNum(@Param("buildingId") String buildingId, @Param("field") String field, @Param("increment") int increment);
28 32
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java Целия файл

@@ -2,6 +2,7 @@ package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaPerson;
5 6
 import com.huiju.estateagents.entity.TaRecommendCustomer;
6 7
 import com.baomidou.mybatisplus.extension.service.IService;
7 8
 
@@ -32,4 +33,5 @@ public interface ITaRecommendCustomerService extends IService<TaRecommendCustome
32 33
     IPage<TaRecommendCustomer>getCustomersIRecommended(int pageNumber, int pageSize,String customerId,String building);
33 34
 
34 35
 
36
+    TaRecommendCustomer newByPerson(TaPerson person);
35 37
 }

+ 11
- 6
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java Целия файл

@@ -16,6 +16,7 @@ import com.huiju.estateagents.entity.*;
16 16
 import com.huiju.estateagents.mapper.*;
17 17
 import com.huiju.estateagents.service.ITaPersonService;
18 18
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
19
+import com.huiju.estateagents.service.ITaRecommendCustomerService;
19 20
 import org.springframework.beans.factory.annotation.Autowired;
20 21
 import org.springframework.stereotype.Service;
21 22
 
@@ -63,6 +64,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
63 64
     @Autowired
64 65
     private TaPointsRecordsMapper taPointsRecordsMapper;
65 66
 
67
+    @Autowired
68
+    private ITaRecommendCustomerService iTaRecommendCustomerService;
69
+
66 70
     @Override
67 71
     public TaPerson mergePersonWxInfo(WxMaUserInfo userInfo) {
68 72
         // 先查询是否存在用户
@@ -113,18 +117,17 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
113 117
             return null;
114 118
         }
115 119
 
116
-//        if (null == phone || "".equals(phone)) {
117
-//            return null;
118
-//        }
120
+        // 电话为空, 代表没有获取到电话
121
+        if (null == phone || "".equals(phone)) {
122
+            return null;
123
+        }
119 124
 
120 125
         String tel = person.getTel();
121 126
 
122 127
         UpdateWrapper<TaPerson> wrapper = new UpdateWrapper<>();
123 128
         wrapper.set("phone", phone);
124 129
         wrapper.set("person_type",CommConstant.PERSON_ESTATE_AGENT);
125
-//        wrapper.set(null == tel || "".equals(tel), "tel", phone);
126 130
         wrapper.eq("mini_openid", miniOpenid);
127
-//        wrapper.eq("person_type",null);
128 131
         wrapper.isNull("person_type");
129 132
         taPersonMapper.update(new TaPerson(), wrapper);
130 133
 
@@ -132,7 +135,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
132 135
         if (null == tel || "".equals(tel)){
133 136
             person.setTel(phone);
134 137
         }
135
-    
138
+
139
+        iTaRecommendCustomerService.newByPerson(person);
140
+
136 141
         //查看是否领取过授权积分
137 142
         QueryWrapper<TaPointsRecords> taPointsRecordsQueryWrapper = new QueryWrapper<>();
138 143
         taPointsRecordsQueryWrapper.eq("change_type",CommConstant.POINTS_AUTHORIZE);

+ 58
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java Целия файл

@@ -295,6 +295,64 @@ public class TaRecommendCustomerServiceImpl extends ServiceImpl<TaRecommendCusto
295 295
         queryWrapper.gt("status", CommConstant.MESSAGE_UNREAD);
296 296
         IPage<TaRecommendCustomer>page = new Page<>(pageNumber,pageSize);
297 297
         return taRecommendCustomerMapper.selectPage(page,queryWrapper);
298
+    }
299
+
300
+    @Override
301
+    public TaRecommendCustomer newByPerson(TaPerson person) {
302
+        // 没有手机号, 暂时不生成客户信息
303
+        String phone = StringUtils.ifNull(person.getTel(), person.getPhone());
304
+        if (StringUtils.isEmpty(phone)) {
305
+            return null;
306
+        }
307
+
308
+        // 已经存在的, 随机返回一条记录
309
+        List<TaRecommendCustomer> custs = getCustomerByPhone(phone);
310
+        if (null != custs && custs.size() > 0) {
311
+            return custs.get(0);
312
+        }
313
+
314
+        TaRecommendCustomer cust = new TaRecommendCustomer();
315
+        cust.setName(StringUtils.ifNull(person.getName(), person.getNickname()));
316
+        cust.setSex(null == person.getSex() ? str2Int(person.getGender()) : person.getSex());
317
+        cust.setPhone(phone);
318
+        cust.setPicture(StringUtils.ifNull(person.getPhoto(), person.getAvatarurl()));
319
+        cust.setCountry(person.getCountry());
320
+        cust.setCity(person.getCity());
321
+        cust.setProvince(person.getProvince());
322
+        // 审核同意
323
+        cust.setVerifyStatus(CommConstant.VERIFY_AGREE);
324
+        // 报备状态
325
+        cust.setStatus(CommConstant.CUSTOMER_REPORT);
326
+        // 当前日期
327
+        cust.setReportDate(LocalDateTime.now());
328
+
329
+        if (taRecommendCustomerMapper.insert(cust) > 0) {
330
+            return cust;
331
+        } else {
332
+            log.error("依据人员新增推荐客户失败");
333
+            return null;
334
+        }
335
+    }
336
+
337
+    private List<TaRecommendCustomer> getCustomerByPhone(String phone) {
338
+        QueryWrapper<TaRecommendCustomer> queryWrapper = new QueryWrapper<>();
339
+        queryWrapper.eq("phone", phone);
340
+        queryWrapper.gt("status", CommConstant.STATUS_DELETE);
341
+        queryWrapper.orderByDesc("report_date");
342
+
343
+        List<TaRecommendCustomer> custs = taRecommendCustomerMapper.selectList(queryWrapper);
344
+        return custs;
345
+    }
346
+
347
+    private Integer str2Int(String str) {
348
+        if (null == str) {
349
+            return null;
350
+        }
298 351
 
352
+        try {
353
+            return Integer.valueOf(str);
354
+        } catch (Exception e) {
355
+            return 0;
356
+        }
299 357
     }
300 358
 }

+ 10
- 4
src/main/java/com/huiju/estateagents/service/impl/TaSaveServiceImpl.java Целия файл

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.common.CommConstant;
7
+import com.huiju.estateagents.entity.TaBuilding;
7 8
 import com.huiju.estateagents.entity.TaPerson;
8 9
 import com.huiju.estateagents.entity.TaSave;
9
-import com.huiju.estateagents.mapper.TaBuildingDynamicMapper;
10
-import com.huiju.estateagents.mapper.TaNewsMapper;
11
-import com.huiju.estateagents.mapper.TaPersonMapper;
12
-import com.huiju.estateagents.mapper.TaSaveMapper;
10
+import com.huiju.estateagents.mapper.*;
13 11
 import com.huiju.estateagents.service.ITaSaveService;
14 12
 import org.springframework.beans.factory.annotation.Autowired;
15 13
 import org.springframework.stereotype.Service;
@@ -40,6 +38,9 @@ public class TaSaveServiceImpl extends ServiceImpl<TaSaveMapper, TaSave> impleme
40 38
     @Autowired
41 39
     private TaNewsMapper taNewsMapper;
42 40
 
41
+    @Autowired
42
+    private TaBuildingMapper taBuildingMapper;
43
+
43 44
     @Autowired
44 45
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
45 46
 
@@ -87,6 +88,11 @@ public class TaSaveServiceImpl extends ServiceImpl<TaSaveMapper, TaSave> impleme
87 88
             taBuildingDynamicMapper.setFieldNum(like, "save_num", 1);
88 89
         }
89 90
 
91
+        // 如果是項目收藏, 则 +1
92
+        if(typeOf.equals(CommConstant.FAVOR_PROJECT)) {
93
+            taBuildingMapper.setFieldNum(like, "save_num", 1);
94
+        }
95
+
90 96
         return ResponseBean.success("");
91 97
     }
92 98
 

+ 8
- 0
src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java Целия файл

@@ -40,6 +40,9 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
40 40
     @Autowired
41 41
     private TaPointsRecordsMapper taPointsRecordsMapper;
42 42
 
43
+    @Autowired
44
+    private TaBuildingMapper taBuildingMapper;
45
+
43 46
     @Autowired
44 47
     private TaBuildingDynamicMapper taBuildingDynamicMapper;
45 48
 
@@ -86,6 +89,11 @@ public class TaShareServiceImpl extends ServiceImpl<TaShareMapper, TaShare> impl
86 89
         if (typeOf == CommConstant.FAVOR_CONSULTANT) {
87 90
             taPersonMapper.setFieldIncrement(id,"share_num", 1);
88 91
         }
92
+
93
+        if(typeOf.equals(CommConstant.FAVOR_PROJECT)) {
94
+            taBuildingMapper.setFieldNum(id, "share_num", 1);
95
+        }
96
+
89 97
         //发放分享积分
90 98
         if (typeOf.equals(CommConstant.FAVOR_PROJECT)){
91 99
             QueryWrapper<TdPointsRules> tdPointsRulesQueryWrapper = new QueryWrapper<>();