胡轶钦 hace 5 años
padre
commit
fe9098c679

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

23
      */
23
      */
24
     public final static String PERSON_ESTATE_CUSTOMER = "customer";
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
 import com.huiju.estateagents.entity.*;
12
 import com.huiju.estateagents.entity.*;
13
 import com.huiju.estateagents.event.EventBus;
13
 import com.huiju.estateagents.event.EventBus;
14
 import com.huiju.estateagents.mapper.TaShareMapper;
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
 import com.huiju.estateagents.common.JWTUtils;
16
 import com.huiju.estateagents.common.JWTUtils;
19
-import com.huiju.estateagents.service.ITaRecommendCustomerService;
20
 import me.chanjar.weixin.common.error.WxErrorException;
17
 import me.chanjar.weixin.common.error.WxErrorException;
21
 import org.apache.commons.lang3.StringUtils;
18
 import org.apache.commons.lang3.StringUtils;
22
 import org.apache.http.HttpStatus;
19
 import org.apache.http.HttpStatus;
54
     @Autowired
51
     @Autowired
55
     private TaShareMapper taShareMapper;
52
     private TaShareMapper taShareMapper;
56
 
53
 
54
+    @Autowired
55
+    private ITaOrgService taOrgService;
56
+
57
 
57
 
58
 
58
 
59
     /**
59
     /**
114
 
114
 
115
             // 获取其余信息
115
             // 获取其余信息
116
             Map<String, Object> extraInfo = taPersonService.getExtraInfo(taPerson.getPersonId());
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
             Map<String, Object> result = new HashMap<>();
123
             Map<String, Object> result = new HashMap<>();
119
             result.put("miniApp", miniResp);
124
             result.put("miniApp", miniResp);
120
             result.put("person", taPerson);
125
             result.put("person", taPerson);

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

2
 
2
 
3
 
3
 
4
 import com.alibaba.fastjson.JSONObject;
4
 import com.alibaba.fastjson.JSONObject;
5
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.baomidou.mybatisplus.core.metadata.IPage;
6
 import com.huiju.estateagents.base.ResponseBean;
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
 import com.huiju.estateagents.common.CommConstant;
10
 import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.common.JWTUtils;
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
 import com.huiju.estateagents.service.ITaPersonService;
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
 import org.springframework.beans.factory.annotation.Autowired;
19
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.web.bind.annotation.*;
20
 import org.springframework.web.bind.annotation.*;
15
 
21
 
16
 import com.huiju.estateagents.base.BaseController;
22
 import com.huiju.estateagents.base.BaseController;
17
 
23
 
18
 import javax.servlet.http.HttpServletRequest;
24
 import javax.servlet.http.HttpServletRequest;
25
+import java.time.LocalDateTime;
19
 import java.util.ArrayList;
26
 import java.util.ArrayList;
20
 import java.util.HashMap;
27
 import java.util.HashMap;
21
 import java.util.List;
28
 import java.util.List;
34
 public class TaPersonController extends BaseController {
41
 public class TaPersonController extends BaseController {
35
     @Autowired
42
     @Autowired
36
     ITaPersonService taPersonService;
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
 
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
         ResponseBean responseBean = new ResponseBean();
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
         return responseBean;
151
         return responseBean;
83
     }
152
     }

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

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