张延森 4 년 전
부모
커밋
021adb2929

+ 40
- 0
src/main/java/com/huiju/estateagents/common/StringUtils.java 파일 보기

@@ -2,6 +2,8 @@ package com.huiju.estateagents.common;
2 2
 
3 3
 import java.io.UnsupportedEncodingException;
4 4
 import java.net.URLEncoder;
5
+import java.util.HashMap;
6
+import java.util.Map;
5 7
 import java.util.Random;
6 8
 import java.util.regex.Matcher;
7 9
 import java.util.regex.Pattern;
@@ -105,4 +107,42 @@ public class StringUtils {
105 107
         prefix = prefix.substring(0, padLen);
106 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 파일 보기

@@ -3,6 +3,7 @@ package com.huiju.estateagents.controller;
3 3
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
4 4
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
5 5
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
6
+import com.alibaba.fastjson.JSON;
6 7
 import com.alibaba.fastjson.JSONObject;
7 8
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
8 9
 import com.huiju.estateagents.base.BaseController;
@@ -24,6 +25,7 @@ import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
24 25
 import me.chanjar.weixin.common.error.WxErrorException;
25 26
 import org.apache.commons.collections.CollectionUtils;
26 27
 import org.apache.http.HttpStatus;
28
+import org.checkerframework.checker.units.qual.A;
27 29
 import org.slf4j.Logger;
28 30
 import org.slf4j.LoggerFactory;
29 31
 import org.springframework.beans.factory.annotation.Autowired;
@@ -148,36 +150,29 @@ public class MiniAppController extends BaseController {
148 150
             String query,
149 151
             Integer scene
150 152
     ) {
153
+        Map<String, Object> resp = new HashMap<>();
154
+
151 155
         // 获取小程序信息
152 156
         TaMiniapp taMiniapp = iTaMiniappService.getInfoWithTpls(appid);
157
+        resp.put("miniapp", taMiniapp);
153 158
         if (null == taMiniapp) {
154 159
             return ResponseBean.error("当前 appid 未在系统内注册", ResponseBean.ERROR_ILLEGAL_PARAMS);
155 160
         }
156 161
 
157 162
         // 获取组织信息
158 163
         TaOrg taOrg = taOrgService.getById(taMiniapp.getOrgId());
164
+        resp.put("org", taOrg);
159 165
         if (null == taOrg) {
160 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,8 +184,7 @@ public class MiniAppController extends BaseController {
189 184
             @RequestParam(required = false) String from,
190 185
             @RequestParam(required = false) String recommender,
191 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 188
             HttpServletRequest request) {
195 189
         String appid = request.getHeader("appid");
196 190
 
@@ -211,168 +205,46 @@ public class MiniAppController extends BaseController {
211 205
             TaMiniapp miniapp = taMiniappService.getById(appid);
212 206
             WxMaJscode2SessionResult session = miniAppService.getSessionInfo(code, appid);
213 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 225
             if (null == taPerson) {
231 226
                 return ResponseBean.error("发生未知错误", ResponseBean.ERROR_UNAVAILABLE);
232 227
             }
228
+            taPerson.setPassword(null);
233 229
 
234 230
             Map<Object, Object> map = new HashMap<>();
235 231
             map.put("openId", session.getOpenid());
236 232
             map.put("orgId", orgId);
237 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 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 242
             Map<String, Object> result = new HashMap<>();
351
-            result.put("miniApp", miniResp);
352 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 249
             return ResponseBean.success(result);
378 250
         } catch (WxErrorException e) {
@@ -381,6 +253,38 @@ public class MiniAppController extends BaseController {
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 288
     private ResponseBean checkMiniappStatus(String appid) {
385 289
         TaUser taUser = userService.getAdminByAppID(appid);
386 290
 

+ 4
- 5
src/main/java/com/huiju/estateagents/controller/TaPersonController.java 파일 보기

@@ -16,10 +16,7 @@ import com.huiju.estateagents.entity.TaChannel;
16 16
 import com.huiju.estateagents.entity.TaChannelPerson;
17 17
 import com.huiju.estateagents.entity.TaPerson;
18 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 20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
24 21
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
25 22
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +54,9 @@ public class TaPersonController extends BaseController {
57 54
     @Autowired
58 55
     ITaPersonBuildingService taPersonBuildingService;
59 56
 
57
+    @Autowired
58
+    ITaSharePersonFromService iTaSharePersonFromService;
59
+
60 60
     @Autowired
61 61
     public ITaThirdPartyMiniappConfigService iTaThirdPartyMiniappConfigService;
62 62
 
@@ -428,7 +428,6 @@ public class TaPersonController extends BaseController {
428 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 파일 보기

@@ -4,11 +4,8 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.huiju.estateagents.base.ResponseBean;
6 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 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 10
 import java.util.List;
14 11
 import java.util.Map;
@@ -46,7 +43,7 @@ public interface ITaPersonService extends IService<TaPerson> {
46 43
 
47 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 48
     ResponseBean bindCard(String phone, String pass, String openid);
52 49
 

+ 3
- 0
src/main/java/com/huiju/estateagents/service/ITaSharePersonFromService.java 파일 보기

@@ -2,6 +2,7 @@ package com.huiju.estateagents.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.TaPerson;
5 6
 import com.huiju.estateagents.entity.TaSharePersonFrom;
6 7
 
7 8
 /**
@@ -28,4 +29,6 @@ public interface ITaSharePersonFromService extends IService<TaSharePersonFrom> {
28 29
     ResponseBean selectHouseVisitList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String sceneType, String phone, String saleBatchId);
29 30
 
30 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 파일 보기

@@ -1,6 +1,5 @@
1 1
 package com.huiju.estateagents.service.impl;
2 2
 
3
-import ch.qos.logback.core.pattern.util.RegularEscapeUtil;
4 3
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
5 4
 import com.alibaba.fastjson.JSONObject;
6 5
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,7 +21,6 @@ import com.huiju.estateagents.service.*;
22 21
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
23 22
 import lombok.extern.slf4j.Slf4j;
24 23
 import org.apache.commons.collections.CollectionUtils;
25
-import org.checkerframework.checker.units.qual.C;
26 24
 import org.springframework.beans.factory.annotation.Autowired;
27 25
 import org.springframework.context.ApplicationContext;
28 26
 import org.springframework.stereotype.Service;
@@ -553,17 +551,29 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
553 551
     }
554 552
 
555 553
     @Override
556
-    public TaPerson newPersonByOpenid(String openid,Integer orgId) {
554
+    public TaPerson newPersonByOpenid(String openid, TaMiniapp miniapp, String from, String recommender) {
557 555
         List<TaPerson> taPersons = getPersonsByOpenId(openid);
558 556
         if (null == taPersons || taPersons.size() == 0) {
559 557
             TaPerson taPerson = new TaPerson();
560 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 563
             taPerson.setPersonType(CommConstant.PERSON_ESTATE_DRIFT);
565 564
             taPerson.setStatus(CommConstant.STATUS_NORMAL);
566 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 577
             if (taPersonMapper.insert(taPerson) > 0) {
568 578
                 return taPerson;
569 579
             }
@@ -683,9 +693,9 @@ public class TaPersonServiceImpl extends ServiceImpl<TaPersonMapper, TaPerson> i
683 693
         int havaSigned =  null == taPersonSign || !DateUtils.sameDay(LocalDateTime.now(), taPersonSign.getSignDate()) ? 0 : 1;
684 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 700
         return result;
691 701
     }

+ 29
- 0
src/main/java/com/huiju/estateagents/service/impl/TaSharePersonFromServiceImpl.java 파일 보기

@@ -134,4 +134,33 @@ public class TaSharePersonFromServiceImpl extends ServiceImpl<TaSharePersonFromM
134 134
         page.setRecords(list);
135 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
 }