胡轶钦 hace 5 años
padre
commit
fe9098c679

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Ver fichero

@@ -23,6 +23,11 @@ public class CommConstant {
23 23
      */
24 24
     public final static String PERSON_ESTATE_CUSTOMER = "customer";
25 25
 
26
+    /**
27
+     * 人员类型: 客户
28
+     */
29
+    public final static String PERSON_ESTATE_CHANNEL = "channel agent";
30
+
26 31
     /**
27 32
      * 人员类型: 游客
28 33
      */

+ 10
- 5
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Ver fichero

@@ -12,11 +12,8 @@ import com.huiju.estateagents.common.WxUtils;
12 12
 import com.huiju.estateagents.entity.*;
13 13
 import com.huiju.estateagents.event.EventBus;
14 14
 import com.huiju.estateagents.mapper.TaShareMapper;
15
-import com.huiju.estateagents.service.IMiniAppService;
16
-import com.huiju.estateagents.service.ITaCustomerPersonService;
17
-import com.huiju.estateagents.service.ITaPersonService;
15
+import com.huiju.estateagents.service.*;
18 16
 import com.huiju.estateagents.common.JWTUtils;
19
-import com.huiju.estateagents.service.ITaRecommendCustomerService;
20 17
 import me.chanjar.weixin.common.error.WxErrorException;
21 18
 import org.apache.commons.lang3.StringUtils;
22 19
 import org.apache.http.HttpStatus;
@@ -54,6 +51,9 @@ public class MiniAppController {
54 51
     @Autowired
55 52
     private TaShareMapper taShareMapper;
56 53
 
54
+    @Autowired
55
+    private ITaOrgService taOrgService;
56
+
57 57
 
58 58
 
59 59
     /**
@@ -114,7 +114,12 @@ public class MiniAppController {
114 114
 
115 115
             // 获取其余信息
116 116
             Map<String, Object> extraInfo = taPersonService.getExtraInfo(taPerson.getPersonId());
117
-
117
+            if (CommConstant.PERSON_REALTY_CONSULTANT.equals(taPerson.getPersonType())){
118
+                QueryWrapper<TaOrg>orgQueryWrapper = new QueryWrapper<>();
119
+                orgQueryWrapper.eq("org_id",taPerson.getOrgId());
120
+                TaOrg org = taOrgService.getOne(orgQueryWrapper);
121
+                taPerson.setOrg(org);
122
+            }
118 123
             Map<String, Object> result = new HashMap<>();
119 124
             result.put("miniApp", miniResp);
120 125
             result.put("person", taPerson);

+ 74
- 5
src/main/java/com/huiju/estateagents/controller/TaPersonController.java Ver fichero

@@ -2,20 +2,27 @@ package com.huiju.estateagents.controller;
2 2
 
3 3
 
4 4
 import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
7 10
 import com.huiju.estateagents.common.CommConstant;
8 11
 import com.huiju.estateagents.common.JWTUtils;
9
-import com.huiju.estateagents.entity.TaBuildingDynamic;
10
-import com.huiju.estateagents.entity.TaPerson;
11
-import com.huiju.estateagents.entity.TaPersonBuilding;
12
+import com.huiju.estateagents.common.StringUtils;
13
+import com.huiju.estateagents.entity.*;
12 14
 import com.huiju.estateagents.service.ITaPersonService;
15
+import com.huiju.estateagents.service.TaChannelPersonService;
16
+import com.huiju.estateagents.service.TaChannelService;
17
+import org.checkerframework.checker.units.qual.A;
18
+import org.checkerframework.checker.units.qual.C;
13 19
 import org.springframework.beans.factory.annotation.Autowired;
14 20
 import org.springframework.web.bind.annotation.*;
15 21
 
16 22
 import com.huiju.estateagents.base.BaseController;
17 23
 
18 24
 import javax.servlet.http.HttpServletRequest;
25
+import java.time.LocalDateTime;
19 26
 import java.util.ArrayList;
20 27
 import java.util.HashMap;
21 28
 import java.util.List;
@@ -34,6 +41,12 @@ import java.util.Map;
34 41
 public class TaPersonController extends BaseController {
35 42
     @Autowired
36 43
     ITaPersonService taPersonService;
44
+    @Autowired
45
+    TaChannelService taChannelService;
46
+    @Autowired
47
+    TaChannelPersonService taChannelPersonService;
48
+    @Autowired
49
+    ITaUserService taUserService;
37 50
 
38 51
     /**
39 52
      *
@@ -74,10 +87,66 @@ public class TaPersonController extends BaseController {
74 87
 
75 88
     }
76 89
 
77
-    @PutMapping("/wx/registerAgent/{id}")
78
-    public ResponseBean registerAgent(@PathVariable String recommendAgentCode, @PathVariable String channelCode) {
90
+    @PutMapping("/wx/registerConsultant")
91
+    public ResponseBean registerConsultant(@RequestParam Integer orgId,HttpServletRequest request) {
79 92
         ResponseBean responseBean = new ResponseBean();
93
+        String openid = JWTUtils.getSubject(request);
94
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
95
+        if (null == taPersons || taPersons.size() != 1) {
96
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
97
+        }
98
+        TaPerson person = taPersons.get(0);
99
+        QueryWrapper<TaUser>queryWrapper = new QueryWrapper<>();
100
+        queryWrapper.eq("phone",person.getPhone());
101
+        queryWrapper.eq("org_id",orgId);
102
+        List<TaUser> users = taUserService.list(queryWrapper);
103
+        if(users.size()>0){
104
+            TaUser user = users.get(0);
105
+            person.setPersonType(CommConstant.PERSON_REALTY_CONSULTANT);
106
+            person.setUserId(user.getUserId());
107
+            person.setAvatarurl(user.getAvatar());
108
+            taPersonService.updateById(person);
109
+            responseBean.addSuccess(person);
110
+        }else {
111
+            responseBean.addError("您不是置业顾问。");
112
+        }
113
+        return responseBean;
114
+    }
80 115
 
116
+    @PutMapping("/wx/registerAgent")
117
+    public ResponseBean registerAgent(@RequestParam String recommendAgentCode, @RequestParam String channelCode,@RequestParam Integer orgId,HttpServletRequest request) {
118
+        ResponseBean responseBean = new ResponseBean();
119
+        String openid = JWTUtils.getSubject(request);
120
+        List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
121
+        if (null == taPersons || taPersons.size() != 1) {
122
+            return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
123
+        }
124
+        TaPerson person = taPersons.get(0);
125
+        person.setAgentCode(taPersonService.agentCodeGenerator());
126
+        if (!StringUtils.isEmpty(recommendAgentCode)){
127
+            QueryWrapper<TaPerson> agentWrapper = new QueryWrapper();
128
+            agentWrapper.eq("agent_code",recommendAgentCode);
129
+            agentWrapper.eq("org_id",orgId);
130
+            TaPerson agent = taPersonService.getOne(agentWrapper);
131
+            if (null != agent){
132
+                person.setRecommendAgent(agent.getPersonId());
133
+            }
134
+        }
135
+        if(StringUtils.isEmpty(channelCode)){
136
+            person.setPersonType(CommConstant.PERSON_ESTATE_AGENT);
137
+        }else {
138
+            person.setPersonType(CommConstant.PERSON_ESTATE_CHANNEL);
139
+            QueryWrapper<TaChannel> queryWrapper = new QueryWrapper();
140
+            queryWrapper.eq("channel_code",channelCode);
141
+            TaChannel channel = taChannelService.getOne(queryWrapper);
142
+            TaChannelPerson channelPerson = new TaChannelPerson();
143
+            channelPerson.setChannelId(channel.getChannelId());
144
+            channelPerson.setPersonId(person.getPersonId());
145
+            channelPerson.setCreateDate(LocalDateTime.now());
146
+            taChannelPersonService.save(channelPerson);
147
+        }
148
+        taPersonService.updateById(person);
149
+        responseBean.addSuccess(person);
81 150
 
82 151
         return responseBean;
83 152
     }

+ 7
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java Ver fichero

@@ -228,12 +228,19 @@ public class TaPerson implements Serializable {
228 228
 
229 229
     private String fromCode;
230 230
 
231
+    private String orgId;
232
+
231 233
     private Integer userId;
232 234
 
233 235
     private String userPort;
234 236
 
235 237
     private String agentCode;
236 238
 
239
+    private String recommendAgent;
240
+
237 241
     @TableField(exist = false)
238 242
     private Integer isSave;
243
+
244
+    @TableField(exist = false)
245
+    private TaOrg org;
239 246
 }