张延森 4 vuotta sitten
vanhempi
commit
021adb2929

+ 40
- 0
src/main/java/com/huiju/estateagents/common/StringUtils.java Näytä tiedosto

2
 
2
 
3
 import java.io.UnsupportedEncodingException;
3
 import java.io.UnsupportedEncodingException;
4
 import java.net.URLEncoder;
4
 import java.net.URLEncoder;
5
+import java.util.HashMap;
6
+import java.util.Map;
5
 import java.util.Random;
7
 import java.util.Random;
6
 import java.util.regex.Matcher;
8
 import java.util.regex.Matcher;
7
 import java.util.regex.Pattern;
9
 import java.util.regex.Pattern;
105
         prefix = prefix.substring(0, padLen);
107
         prefix = prefix.substring(0, padLen);
106
         return prefix + src;
108
         return prefix + src;
107
     }
109
     }
110
+
111
+    /**
112
+     * 解析标准的 k=v&k=v 格式串
113
+     * 暂时不支持数组
114
+     * @param queryStr
115
+     * @return
116
+     */
117
+    public static Map<String, String> parseQuery(String queryStr) {
118
+        try {
119
+            if (isEmpty(queryStr)) {
120
+                return null;
121
+            }
122
+
123
+            String[] pairs = queryStr.split("&");
124
+            if (pairs.length < 1) {
125
+                return null;
126
+            }
127
+
128
+            Map<String, String> rtn = new HashMap<>();
129
+            for (String item : pairs) {
130
+                if (isEmpty(item)) {
131
+                    continue;
132
+                }
133
+
134
+                String[] kv = item.split("=");
135
+                if (kv.length != 2) {
136
+                    continue;
137
+                }
138
+
139
+                rtn.put(kv[0], kv[1]);
140
+            }
141
+
142
+            return rtn;
143
+        } catch (Exception e) {
144
+            e.printStackTrace();
145
+            return null;
146
+        }
147
+    }
108
 }
148
 }

+ 72
- 168
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Näytä tiedosto

3
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
3
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
4
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
4
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
5
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
5
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
6
+import com.alibaba.fastjson.JSON;
6
 import com.alibaba.fastjson.JSONObject;
7
 import com.alibaba.fastjson.JSONObject;
7
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8
 import com.huiju.estateagents.base.BaseController;
9
 import com.huiju.estateagents.base.BaseController;
24
 import me.chanjar.weixin.common.error.WxErrorException;
25
 import me.chanjar.weixin.common.error.WxErrorException;
25
 import org.apache.commons.collections.CollectionUtils;
26
 import org.apache.commons.collections.CollectionUtils;
26
 import org.apache.http.HttpStatus;
27
 import org.apache.http.HttpStatus;
28
+import org.checkerframework.checker.units.qual.A;
27
 import org.slf4j.Logger;
29
 import org.slf4j.Logger;
28
 import org.slf4j.LoggerFactory;
30
 import org.slf4j.LoggerFactory;
29
 import org.springframework.beans.factory.annotation.Autowired;
31
 import org.springframework.beans.factory.annotation.Autowired;
148
             String query,
150
             String query,
149
             Integer scene
151
             Integer scene
150
     ) {
152
     ) {
153
+        Map<String, Object> resp = new HashMap<>();
154
+
151
         // 获取小程序信息
155
         // 获取小程序信息
152
         TaMiniapp taMiniapp = iTaMiniappService.getInfoWithTpls(appid);
156
         TaMiniapp taMiniapp = iTaMiniappService.getInfoWithTpls(appid);
157
+        resp.put("miniapp", taMiniapp);
153
         if (null == taMiniapp) {
158
         if (null == taMiniapp) {
154
             return ResponseBean.error("当前 appid 未在系统内注册", ResponseBean.ERROR_ILLEGAL_PARAMS);
159
             return ResponseBean.error("当前 appid 未在系统内注册", ResponseBean.ERROR_ILLEGAL_PARAMS);
155
         }
160
         }
156
 
161
 
157
         // 获取组织信息
162
         // 获取组织信息
158
         TaOrg taOrg = taOrgService.getById(taMiniapp.getOrgId());
163
         TaOrg taOrg = taOrgService.getById(taMiniapp.getOrgId());
164
+        resp.put("org", taOrg);
159
         if (null == taOrg) {
165
         if (null == taOrg) {
160
             return ResponseBean.error("当前 appid 未设置对应组织", ResponseBean.ERROR_UNAVAILABLE);
166
             return ResponseBean.error("当前 appid 未设置对应组织", ResponseBean.ERROR_UNAVAILABLE);
161
         }
167
         }
162
 
168
 
163
-        // 获取城市列表
164
-        QueryWrapper<TaOrgCity> queryCity = new QueryWrapper<>();
165
-        queryCity.eq("id", taOrg.getOrgId());
166
-        queryCity.eq("status", CommConstant.STATUS_NORMAL);
167
-        List<TaOrgCity> taOrgCityList = taOrgCityMapper.selectList(queryCity);
168
-
169
-        // 获取默认扩展设置
170
-        QueryWrapper<TaCustomImg> queryExt = new QueryWrapper<>();
171
-        queryExt.eq("org_id", taOrg.getOrgId());
172
-        queryExt.eq("status", CommConstant.STATUS_NORMAL);
173
-        List<TaCustomImg> taCustomImg = iTaCustomImgService.list(queryExt);
174
-
175
-        return ResponseBean.success(new HashMap<String, Object>() {{
176
-            put("miniapp", taMiniapp);
177
-            put("org", taOrg);
178
-            put("cityList", taOrgCityList);
179
-            put("customImg", taCustomImg);
180
-        }});
169
+        //把積分規則返回給小程序
170
+        QueryWrapper<TdPointsRules> tdPointsRulesQueryWrapper = new QueryWrapper<>();
171
+        tdPointsRulesQueryWrapper.eq("org_id", taOrg.getOrgId());
172
+        List<TdPointsRules> rulesPointList = iTdPointsRulesService.list(tdPointsRulesQueryWrapper);
173
+        resp.put("pointRuleList", rulesPointList);
174
+
175
+        return ResponseBean.success(resp);
181
     }
176
     }
182
 
177
 
183
     /**
178
     /**
189
             @RequestParam(required = false) String from,
184
             @RequestParam(required = false) String from,
190
             @RequestParam(required = false) String recommender,
185
             @RequestParam(required = false) String recommender,
191
             @RequestParam(required = false) String targetId,
186
             @RequestParam(required = false) String targetId,
192
-            @RequestParam(required = false) String lon,
193
-            @RequestParam(required = false) String lat,
187
+            @RequestParam(required = false) Integer scene,
194
             HttpServletRequest request) {
188
             HttpServletRequest request) {
195
         String appid = request.getHeader("appid");
189
         String appid = request.getHeader("appid");
196
 
190
 
211
             TaMiniapp miniapp = taMiniappService.getById(appid);
205
             TaMiniapp miniapp = taMiniappService.getById(appid);
212
             WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
206
             WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
213
             Integer orgId = miniapp.getOrgId();
207
             Integer orgId = miniapp.getOrgId();
214
-            Map<String, Object> miniResp = new HashMap<>();
215
-            miniResp.put("openid", session.getOpenid());
216
-            miniResp.put("sessionKey", session.getSessionKey());
217
-            miniResp.put("unionid", session.getUnionid());
218
-            miniResp.put("name", miniapp.getName());
219
-            miniResp.put("tpls", miniAppService.getTpls(appid));
220
-            miniResp.put("fddServerHost", miniapp.getFddServerHost());
221
-
222
-            // 2020年3月30日 与曹建芳讨论 去掉此规则
223
-//            //如果是分享进来且没有进入过小程序,给分享人发放积分
224
-//            QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
225
-//            personQueryWrapper.eq("mini_openid", session.getOpenid());
226
-//            personQueryWrapper.eq("org_id", orgId);
227
-//            int count = taPersonService.count(personQueryWrapper);
228
-
229
-            TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), orgId);
208
+
209
+            // 如果是扫码进来的
210
+            Map<String, String> sceneParams = null;
211
+            if (null != scene) {
212
+                TaMiniappQrcode qrcode = miniAppService.getQrCodeBySerialNo(scene);
213
+                if (null != qrcode) {
214
+                    String paramStr = qrcode.getQrParams();
215
+                    JSONObject params = JSON.parseObject(paramStr);
216
+                    sceneParams = StringUtils.parseQuery(params.getString("scene"));
217
+
218
+                    from = sceneParams.get("from");
219
+                    recommender = sceneParams.get("recommender");
220
+                    targetId = sceneParams.get("id");
221
+                }
222
+            }
223
+
224
+            TaPerson taPerson = taPersonService.newPersonByOpenid(session.getOpenid(), miniapp, from, recommender);
230
             if (null == taPerson) {
225
             if (null == taPerson) {
231
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
226
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
232
             }
227
             }
228
+            taPerson.setPassword(null);
233
 
229
 
234
             Map<Object, Object> map = new HashMap<>();
230
             Map<Object, Object> map = new HashMap<>();
235
             map.put("openId", session.getOpenid());
231
             map.put("openId", session.getOpenid());
236
             map.put("orgId", orgId);
232
             map.put("orgId", orgId);
237
             map.put("personId", taPerson.getPersonId());
233
             map.put("personId", taPerson.getPersonId());
238
-            miniResp.put("token", JWTUtils.newTokenByMap(map));
239
-            if (StringUtils.isEmpty(taPerson.getFromCode())) {
240
-                taPerson.setFromCode(from);
241
-            }
242
-            if (StringUtils.isEmpty(taPerson.getRecommendPerson())) {
243
-                taPerson.setRecommendPerson(recommender);
244
-                TaPerson type = taPersonService.getById(recommender);
245
-                if (null != type) {
246
-                    if (!StringUtils.isEmpty(type.getPersonType())) {
247
-                        taPerson.setRecommendPersonType(type.getPersonType());
248
-                    }
249
-                }
250
-            }
251
-            taPerson.setMiniappId(appid);
252
-            taPersonService.updateById(taPerson);
253
-
254
-            // 增加积分线程 --- 3.5.23版本授权手机分享者增加积分,单纯分享不增加积分
255
-//            ExecutorService threadPool = Executors.newCachedThreadPool();
256
-//            threadPool.execute(() -> {
257
-////                if (null != from && from.contains("share") && !StringUtils.isEmpty(recommender) && count > 0) {
258
-//                if (null != from && from.contains("share") && !StringUtils.isEmpty(recommender)) {
259
-//                    // 校验是否点击过此人的分享
260
-//                    boolean checkPoint = checkSharePersonFrom(from, taPerson.getPersonId(), targetId, orgId);
261
-//                    if (checkPoint) {
262
-//                        // 添加积分
263
-//                        applicationContext.publishEvent(new EventBus(recommender, EventBus.EventType.SharePosterAll, orgId));
264
-//                    }
265
-//                }
266
-//            });
234
+
235
+            String token = JWTUtils.newTokenByMap(map);
236
+            sysTokenService.saveToken(token);
267
 
237
 
268
             if (!StringUtils.isEmpty(from) && !StringUtils.isEmpty(recommender) && !StringUtils.isEmpty(targetId)) {
238
             if (!StringUtils.isEmpty(from) && !StringUtils.isEmpty(recommender) && !StringUtils.isEmpty(targetId)) {
269
-                TaSharePersonFrom taSharePersonFrom = new TaSharePersonFrom();
270
-                TaPerson recommenderPerson = taPersonService.getById(recommender);
271
-                taSharePersonFrom.setCreateDate(LocalDateTime.now());
272
-                taSharePersonFrom.setOrgId(orgId);
273
-                taSharePersonFrom.setPersonId(taPerson.getPersonId());
274
-                taSharePersonFrom.setSharePersonType(recommenderPerson.getPersonType());
275
-                taSharePersonFrom.setTargetId(targetId);
276
-                taSharePersonFrom.setTargetType(from);
277
-                if (CommConstant.PERSON_REALTY_CONSULTANT.equals(recommenderPerson.getPersonType())) {
278
-                    taSharePersonFrom.setSharePerson(recommenderPerson.getUserId().toString());
279
-                } else {
280
-                    taSharePersonFrom.setSharePerson(recommenderPerson.getPersonId());
281
-                }
282
-                QueryWrapper<TaSharePersonFrom> sharePersonFromQueryWrapper = new QueryWrapper<>();
283
-                sharePersonFromQueryWrapper.eq("person_id", taPerson.getPersonId());
284
-                if (from.equals("dynamic_share")) { // activity_share
285
-                    //产品不认了
286
-                    taSharePersonFrom.setStatus(CommConstant.STATUS_NORMAL);
287
-                    TaBuildingDynamic buildingDynamic = buildingDynamicService.getById(targetId);
288
-                    taSharePersonFrom.setBuildingId(buildingDynamic.getBuildingId());
289
-                    sharePersonFromQueryWrapper.eq("building_id", buildingDynamic.getBuildingId());
290
-                } else {
291
-                    taSharePersonFrom.setStatus(CommConstant.STATUS_NORMAL);
292
-                }
293
-                if (from.contains("card")) {
294
-                    // 因为targetId 是 personId ,需要查询出 userId
295
-                    TaPerson person = taPersonService.getById(targetId);
296
-
297
-                    QueryWrapper<TaPersonBuilding> personBuildingQueryWrapper = new QueryWrapper<>();
298
-                    personBuildingQueryWrapper.eq("user_id", person.getUserId());
299
-                    TaPersonBuilding personBuilding = personBuildingService.getOne(personBuildingQueryWrapper);
300
-                    taSharePersonFrom.setBuildingId(personBuilding.getBuildingId());
301
-                    sharePersonFromQueryWrapper.eq("building_id", personBuilding.getBuildingId());
302
-                } else if (from.contains("news")) {
303
-                    TaNews news = newsService.getById(targetId);
304
-                    taSharePersonFrom.setBuildingId(news.getBuildingId());
305
-                    sharePersonFromQueryWrapper.eq("building_id", news.getBuildingId());
306
-                } else if (from.contains("building")) {
307
-                    taSharePersonFrom.setBuildingId(targetId);
308
-                    sharePersonFromQueryWrapper.eq("building_id", targetId);
309
-                }else if (from.contains("help")) {
310
-                    HelpActivity helpActivity = helpActivityService.getById(targetId);
311
-                    taSharePersonFrom.setBuildingId(helpActivity.getBuildingId());
312
-                    sharePersonFromQueryWrapper.eq("building_id", helpActivity.getBuildingId());
313
-                }else if (from.contains("group")) {
314
-                    TaShareActivity taShareActivity = taShareActivityService.getById(targetId);
315
-                    taSharePersonFrom.setBuildingId(taShareActivity.getBuildingId());
316
-                    sharePersonFromQueryWrapper.eq("building_id", taShareActivity.getBuildingId());
317
-                }else if (from.contains("live")) {
318
-                    TaLiveActivity liveActivity = taLiveActivityService.getById(targetId);
319
-                    taSharePersonFrom.setBuildingId(liveActivity.getBuildingId());
320
-                    sharePersonFromQueryWrapper.eq("building_id", liveActivity.getBuildingId());
321
-                }else if (from.contains("h5")) {
322
-                    TaDrainage taDrainage = taDrainageService.getById(targetId);
323
-                    taSharePersonFrom.setBuildingId(taDrainage.getBuildingId());
324
-                    sharePersonFromQueryWrapper.eq("building_id", taDrainage.getBuildingId());
325
-                }else if (from.contains("house")) {
326
-                    TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(targetId);
327
-                    taSharePersonFrom.setBuildingId(taSalesBatch.getBuildingId());
328
-                    sharePersonFromQueryWrapper.eq("building_id", taSalesBatch.getBuildingId());
329
-                }
330
-                Integer isFirstTime = taSharePersonFromService.count(sharePersonFromQueryWrapper);
331
-                if (isFirstTime > 0) {
332
-                    taSharePersonFrom.setIsFirstTime(false);
333
-                } else {
334
-                    taSharePersonFrom.setIsFirstTime(true);
335
-                }
336
-                taSharePersonFromService.save(taSharePersonFrom);
239
+                taSharePersonFromService.createBy(taPerson, from, recommender, targetId);
337
             }
240
             }
338
 
241
 
339
-            taPerson.setPassword(null);
340
-
341
-            // 获取其余信息
342
-            Map<String, Object> extraInfo = taPersonService.getExtraInfo(taPerson.getPersonId());
343
-            // 所有人员都返回 org yansen 2019-11-13 19:56:18
344
-//            if (CommConstant.PERSON_REALTY_CONSULTANT.equals(taPerson.getPersonType())){
345
-            QueryWrapper<TaOrg> orgQueryWrapper = new QueryWrapper<>();
346
-            orgQueryWrapper.eq("org_id", orgId);
347
-            TaOrg org = taOrgService.getOne(orgQueryWrapper);
348
-            taPerson.setOrg(org);
349
-//            }
350
             Map<String, Object> result = new HashMap<>();
242
             Map<String, Object> result = new HashMap<>();
351
-            result.put("miniApp", miniResp);
352
             result.put("person", taPerson);
243
             result.put("person", taPerson);
353
-            result.put("extraInfo", extraInfo);
354
-            result.put("miniAuthorized", null != taPerson.getAvatarurl() && taPerson.getAvatarurl().indexOf("wx.qlogo.cn") > 0);
355
-
356
-            //返回是否授权标识
357
-            QueryWrapper<TaCustomImg> queryWrapper = new QueryWrapper<>();
358
-            queryWrapper.eq("org_id", orgId);
359
-            queryWrapper.eq("img_type", "auth");
360
-            List<TaCustomImg> taCustomImgs = iTaCustomImgService.list(queryWrapper);
361
-            result.put("avatarAuth", CollectionUtils.isEmpty(taCustomImgs) ? false : "1".equals(taCustomImgs.get(0).getImgUrl()) ? true : false);
362
-
363
-            String token = (String) miniResp.get("token");
364
-            sysTokenService.saveToken(token);
365
-
366
-            //把積分規則返回給小程序
367
-            QueryWrapper<TdPointsRules> tdPointsRulesQueryWrapper = new QueryWrapper<>();
368
-            tdPointsRulesQueryWrapper.eq("org_id", orgId);
369
-            List<TdPointsRules> rulesPointList = iTdPointsRulesService.list(tdPointsRulesQueryWrapper);
370
-            result.put("rulesPointList", rulesPointList);
371
-
372
-            // 定位城市
373
-            String location = null == lon ? null : lon + "," + lat;
374
-            TdCity tdCity = iTdCityService.getLocationCity(location, orgId, taPerson.getPersonId());
375
-            result.put("city", tdCity);
244
+            result.put("token", token);
245
+            if (null != sceneParams) {
246
+                result.put("scene", sceneParams);
247
+            }
376
 
248
 
377
             return ResponseBean.success(result);
249
             return ResponseBean.success(result);
378
         } catch (WxErrorException e) {
250
         } catch (WxErrorException e) {
381
         }
253
         }
382
     }
254
     }
383
 
255
 
256
+//    @PostMapping("/share-person")
257
+//    public ResponseBean sharePerson(@RequestParam(required = false) String from,
258
+//                                    @RequestParam(required = false) String recommender,
259
+//                                    @RequestParam(required = false) String targetId,
260
+//                                    @RequestParam(required = false) Integer scene,
261
+//                                    HttpServletRequest request) {
262
+//        String openid = getOpenId(request);
263
+//        List<TaPerson> persons = taPersonService.getPersonsByOpenId(openid);
264
+//        if (null == persons || persons.size() < 1) {
265
+//            return ResponseBean.error("校验人员信息出错", ResponseBean.ERROR_UNAVAILABLE);
266
+//        }
267
+//
268
+//        // 如果是扫码进来的
269
+//        Map<String, String> sceneParams = null;
270
+//        if (null != scene) {
271
+//            TaMiniappQrcode qrcode = miniAppService.getQrCodeBySerialNo(scene);
272
+//            if (null != qrcode) {
273
+//                String paramStr = qrcode.getQrParams();
274
+//                JSONObject params = JSON.parseObject(paramStr);
275
+//                sceneParams = StringUtils.parseQuery(params.getString("scene"));
276
+//
277
+//                from = sceneParams.get("from");
278
+//                recommender = sceneParams.get("recommender");
279
+//                targetId = sceneParams.get("id");
280
+//            }
281
+//        }
282
+//
283
+//        taSharePersonFromService.createBy(persons.get(0), from, recommender, targetId);
284
+//
285
+//        return ResponseBean.success("success");
286
+//    }
287
+
384
     private ResponseBean checkMiniappStatus(String appid) {
288
     private ResponseBean checkMiniappStatus(String appid) {
385
         TaUser taUser = userService.getAdminByAppID(appid);
289
         TaUser taUser = userService.getAdminByAppID(appid);
386
 
290
 

+ 4
- 5
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Näytä tiedosto

16
 import com.huiju.estateagents.entity.TaChannelPerson;
16
 import com.huiju.estateagents.entity.TaChannelPerson;
17
 import com.huiju.estateagents.entity.TaPerson;
17
 import com.huiju.estateagents.entity.TaPerson;
18
 import com.huiju.estateagents.entity.TaPersonBuilding;
18
 import com.huiju.estateagents.entity.TaPersonBuilding;
19
-import com.huiju.estateagents.service.ITaPersonBuildingService;
20
-import com.huiju.estateagents.service.ITaPersonService;
21
-import com.huiju.estateagents.service.TaChannelPersonService;
22
-import com.huiju.estateagents.service.TaChannelService;
19
+import com.huiju.estateagents.service.*;
23
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
24
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
21
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
25
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.beans.factory.annotation.Autowired;
57
     @Autowired
54
     @Autowired
58
     ITaPersonBuildingService taPersonBuildingService;
55
     ITaPersonBuildingService taPersonBuildingService;
59
 
56
 
57
+    @Autowired
58
+    ITaSharePersonFromService iTaSharePersonFromService;
59
+
60
     @Autowired
60
     @Autowired
61
     public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
61
     public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
62
 
62
 
428
         return taPersonService.getWxUserSign(openid, orgId);
428
         return taPersonService.getWxUserSign(openid, orgId);
429
     }
429
     }
430
 
430
 
431
-
432
     /**
431
     /**
433
      *
432
      *
434
      *
433
      *

+ 2
- 5
src/main/java/com/huiju/estateagents/service/ITaPersonService.java Näytä tiedosto

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
6
 import com.huiju.estateagents.center.taUser.entity.TaUser;
7
-import com.huiju.estateagents.entity.TaCustomerFrom;
8
-import com.huiju.estateagents.entity.TaPerson;
7
+import com.huiju.estateagents.entity.*;
9
 import com.baomidou.mybatisplus.extension.service.IService;
8
 import com.baomidou.mybatisplus.extension.service.IService;
10
-import com.huiju.estateagents.entity.TaPersonBuilding;
11
-import com.huiju.estateagents.entity.TaPersonPositon;
12
 
9
 
13
 import java.util.List;
10
 import java.util.List;
14
 import java.util.Map;
11
 import java.util.Map;
46
 
43
 
47
     IPage<TaUser> getBuildingConsultantList(int pageNumber, int pageSize, String buildingId);
44
     IPage<TaUser> getBuildingConsultantList(int pageNumber, int pageSize, String buildingId);
48
 
45
 
49
-    TaPerson newPersonByOpenid(String openid, Integer orgId);
46
+    TaPerson newPersonByOpenid(String openid, TaMiniapp miniapp, String from, String recommender);
50
 
47
 
51
     ResponseBean bindCard(String phone, String pass, String openid);
48
     ResponseBean bindCard(String phone, String pass, String openid);
52
 
49
 

+ 3
- 0
src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java Näytä tiedosto

2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaSharePersonFrom;
6
 import com.huiju.estateagents.entity.TaSharePersonFrom;
6
 
7
 
7
 /**
8
 /**
28
     ResponseBean selectHouseVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String saleBatchId);
29
     ResponseBean selectHouseVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String saleBatchId);
29
 
30
 
30
     ResponseBean selectLiveActivityVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String liveActivityId);
31
     ResponseBean selectLiveActivityVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String liveActivityId);
32
+
33
+    TaSharePersonFrom createBy(TaPerson taPerson, String from, String recommender, String targetId);
31
 }
34
 }

+ 19
- 9
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java Näytä tiedosto

1
 package com.huiju.estateagents.service.impl;
1
 package com.huiju.estateagents.service.impl;
2
 
2
 
3
-import ch.qos.logback.core.pattern.util.RegularEscapeUtil;
4
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
3
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
5
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
6
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
22
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
21
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
23
 import lombok.extern.slf4j.Slf4j;
22
 import lombok.extern.slf4j.Slf4j;
24
 import org.apache.commons.collections.CollectionUtils;
23
 import org.apache.commons.collections.CollectionUtils;
25
-import org.checkerframework.checker.units.qual.C;
26
 import org.springframework.beans.factory.annotation.Autowired;
24
 import org.springframework.beans.factory.annotation.Autowired;
27
 import org.springframework.context.ApplicationContext;
25
 import org.springframework.context.ApplicationContext;
28
 import org.springframework.stereotype.Service;
26
 import org.springframework.stereotype.Service;
553
     }
551
     }
554
 
552
 
555
     @Override
553
     @Override
556
-    public TaPerson newPersonByOpenid(String openid,Integer orgId) {
554
+    public TaPerson newPersonByOpenid(String openid, TaMiniapp miniapp, String from, String recommender) {
557
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
555
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
558
         if (null == taPersons || taPersons.size() == 0) {
556
         if (null == taPersons || taPersons.size() == 0) {
559
             TaPerson taPerson = new TaPerson();
557
             TaPerson taPerson = new TaPerson();
560
             taPerson.setMiniOpenid(openid);
558
             taPerson.setMiniOpenid(openid);
561
-            taPerson.setNickname("匿名用户");
562
-            taPerson.setOrgId(orgId);
563
-            taPerson.setAvatarurl(CommConstant.MINIAPP_DEFAULT_AVATAR);
559
+            taPerson.setOrgId(miniapp.getOrgId());
560
+            taPerson.setMiniappId(miniapp.getMiniappId());
561
+//            taPerson.setNickname("匿名用户");
562
+//            taPerson.setAvatarurl(CommConstant.MINIAPP_DEFAULT_AVATAR);
564
             taPerson.setPersonType(CommConstant.PERSON_ESTATE_DRIFT);
563
             taPerson.setPersonType(CommConstant.PERSON_ESTATE_DRIFT);
565
             taPerson.setStatus(CommConstant.STATUS_NORMAL);
564
             taPerson.setStatus(CommConstant.STATUS_NORMAL);
566
             taPerson.setCreateDate(LocalDateTime.now());
565
             taPerson.setCreateDate(LocalDateTime.now());
566
+            taPerson.setFromCode(from);
567
+            taPerson.setRecommendPerson(recommender);
568
+            if (StringUtils.isEmpty(recommender)) {
569
+                TaPerson type = getById(recommender);
570
+                if (null != type) {
571
+                    if (!StringUtils.isEmpty(type.getPersonType())) {
572
+                        taPerson.setRecommendPersonType(type.getPersonType());
573
+                    }
574
+                }
575
+            }
576
+
567
             if (taPersonMapper.insert(taPerson) > 0) {
577
             if (taPersonMapper.insert(taPerson) > 0) {
568
                 return taPerson;
578
                 return taPerson;
569
             }
579
             }
683
         int havaSigned =  null == taPersonSign || !DateUtils.sameDay(LocalDateTime.now(), taPersonSign.getSignDate()) ? 0 : 1;
693
         int havaSigned =  null == taPersonSign || !DateUtils.sameDay(LocalDateTime.now(), taPersonSign.getSignDate()) ? 0 : 1;
684
         result.put("havaSigned", havaSigned);
694
         result.put("havaSigned", havaSigned);
685
 
695
 
686
-        // 查询我的客户记录
687
-        Integer customerNum = taRecommendCustomerMapper.getMyCutsomerNum(personId);
688
-        result.put("customerNum", null == customerNum ? 0 : customerNum.intValue());
696
+//        // 查询我的客户记录
697
+//        Integer customerNum = taRecommendCustomerMapper.getMyCutsomerNum(personId);
698
+//        result.put("customerNum", null == customerNum ? 0 : customerNum.intValue());
689
 
699
 
690
         return result;
700
         return result;
691
     }
701
     }

+ 29
- 0
src/main/java/com/huiju/estateagents/service/impl/TaSharePersonFromServiceImpl.java Näytä tiedosto

134
         page.setRecords(list);
134
         page.setRecords(list);
135
         return ResponseBean.success(page);
135
         return ResponseBean.success(page);
136
     }
136
     }
137
+
138
+    @Override
139
+    public TaSharePersonFrom createBy(TaPerson taPerson, String from, String recommender, String targetId) {
140
+        TaSharePersonFrom taSharePersonFrom = new TaSharePersonFrom();
141
+        TaPerson recommenderPerson = taPersonMapper.getById(recommender);
142
+        taSharePersonFrom.setCreateDate(LocalDateTime.now());
143
+        taSharePersonFrom.setOrgId(taPerson.getOrgId());
144
+        taSharePersonFrom.setPersonId(taPerson.getPersonId());
145
+        taSharePersonFrom.setSharePersonType(recommenderPerson.getPersonType());
146
+        taSharePersonFrom.setTargetId(targetId);
147
+        taSharePersonFrom.setTargetType(from);
148
+        taSharePersonFrom.setStatus(CommConstant.STATUS_NORMAL);
149
+        if (CommConstant.PERSON_REALTY_CONSULTANT.equals(recommenderPerson.getPersonType())) {
150
+            taSharePersonFrom.setSharePerson(recommenderPerson.getUserId().toString());
151
+        } else {
152
+            taSharePersonFrom.setSharePerson(recommenderPerson.getPersonId());
153
+        }
154
+        QueryWrapper<TaSharePersonFrom> sharePersonFromQueryWrapper = new QueryWrapper<>();
155
+        sharePersonFromQueryWrapper.eq("person_id", taPerson.getPersonId());
156
+        int isFirstTime = this.count(sharePersonFromQueryWrapper);
157
+        if (isFirstTime > 0) {
158
+            taSharePersonFrom.setIsFirstTime(false);
159
+        } else {
160
+            taSharePersonFrom.setIsFirstTime(true);
161
+        }
162
+        this.save(taSharePersonFrom);
163
+
164
+        return taSharePersonFrom;
165
+    }
137
 }
166
 }