ソースを参照

add ant image upload

张延森 5 年 前
コミット
3988efc36b
共有42 個のファイルを変更した1071 個の追加32 個の削除を含む
  1. 6
    0
      pom.xml
  2. 38
    0
      src/main/java/com/huiju/estateagents/base/UserControl.java
  3. 87
    2
      src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java
  4. 15
    0
      src/main/java/com/huiju/estateagents/common/CommConstant.java
  5. 21
    0
      src/main/java/com/huiju/estateagents/common/JWTUtils.java
  6. 11
    6
      src/main/java/com/huiju/estateagents/controller/MiniAppController.java
  7. 9
    6
      src/main/java/com/huiju/estateagents/controller/TaBuildingController.java
  8. 2
    1
      src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java
  9. 192
    0
      src/main/java/com/huiju/estateagents/controller/TaChannelController.java
  10. 150
    0
      src/main/java/com/huiju/estateagents/controller/TaChannelPersonController.java
  11. 80
    3
      src/main/java/com/huiju/estateagents/controller/TaPersonController.java
  12. 3
    1
      src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java
  13. 6
    0
      src/main/java/com/huiju/estateagents/entity/TaBuilding.java
  14. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java
  15. 85
    0
      src/main/java/com/huiju/estateagents/entity/TaChannel.java
  16. 42
    0
      src/main/java/com/huiju/estateagents/entity/TaChannelPerson.java
  17. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaChat.java
  18. 5
    0
      src/main/java/com/huiju/estateagents/entity/TaCheckin.java
  19. 12
    0
      src/main/java/com/huiju/estateagents/entity/TaPerson.java
  20. 4
    0
      src/main/java/com/huiju/estateagents/entity/TaPersonPoints.java
  21. 1
    0
      src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java
  22. 1
    1
      src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java
  23. 2
    2
      src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java
  24. 31
    0
      src/main/java/com/huiju/estateagents/mapper/TaChannelMapper.java
  25. 17
    0
      src/main/java/com/huiju/estateagents/mapper/TaChannelPersonMapper.java
  26. 9
    1
      src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java
  27. 1
    1
      src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java
  28. 2
    2
      src/main/java/com/huiju/estateagents/service/ITaBuildingService.java
  29. 12
    0
      src/main/java/com/huiju/estateagents/service/ITaPersonService.java
  30. 15
    0
      src/main/java/com/huiju/estateagents/service/TaChannelPersonService.java
  31. 15
    0
      src/main/java/com/huiju/estateagents/service/TaChannelService.java
  32. 2
    2
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java
  33. 4
    4
      src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java
  34. 19
    0
      src/main/java/com/huiju/estateagents/service/impl/TaChannelPersonServiceImpl.java
  35. 19
    0
      src/main/java/com/huiju/estateagents/service/impl/TaChannelServiceImpl.java
  36. 28
    0
      src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java
  37. 51
    0
      src/main/resources/application-gzysd.yml
  38. 3
    0
      src/main/resources/mapper/TaBuildingDynamicMapper.xml
  39. 6
    0
      src/main/resources/mapper/TaBuildingMapper.xml
  40. 29
    0
      src/main/resources/mapper/TaChannelMapper.xml
  41. 5
    0
      src/main/resources/mapper/TaChannelPersonMapper.xml
  42. 21
    0
      src/main/resources/mapper/TaPersonMapper.xml

+ 6
- 0
pom.xml ファイルの表示

150
 				<profiles.active>nj</profiles.active>
150
 				<profiles.active>nj</profiles.active>
151
 			</properties>
151
 			</properties>
152
 		</profile>
152
 		</profile>
153
+		<profile>
154
+			<id>gzysd</id>
155
+			<properties>
156
+				<profiles.active>gzysd</profiles.active>
157
+			</properties>
158
+		</profile>
153
 	</profiles>
159
 	</profiles>
154
 	<build>
160
 	<build>
155
 		<plugins>
161
 		<plugins>

+ 38
- 0
src/main/java/com/huiju/estateagents/base/UserControl.java ファイルの表示

1
+package com.huiju.estateagents.base;
2
+
3
+import com.huiju.estateagents.center.taUser.entity.TaUser;
4
+import com.huiju.estateagents.exception.EstaException;
5
+import org.springframework.web.context.request.RequestContextHolder;
6
+import org.springframework.web.context.request.ServletRequestAttributes;
7
+
8
+import javax.servlet.http.HttpSession;
9
+
10
+/**
11
+ * 用户控制
12
+ */
13
+public class UserControl {
14
+
15
+    /**
16
+     * 获取用户信息
17
+     * @return
18
+     */
19
+    public static TaUser getUser() {
20
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
21
+        HttpSession session = servletRequestAttributes.getRequest().getSession();
22
+        TaUser taUser = (TaUser) session.getAttribute("miniapp_user");
23
+        if (null == taUser) {
24
+            throw new EstaException("用户信息不存在, 请登录!");
25
+        }
26
+        return taUser;
27
+    }
28
+
29
+    /**
30
+     * 获取公司 org_id
31
+     * @return
32
+     */
33
+    public static Integer getOrgId() {
34
+        TaUser user = getUser();
35
+        return user.getOrgId();
36
+    }
37
+
38
+}

+ 87
- 2
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java ファイルの表示

1
 package com.huiju.estateagents.center.taUser.controller;
1
 package com.huiju.estateagents.center.taUser.controller;
2
 
2
 
3
+import com.alibaba.fastjson.JSONObject;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
8
 import com.huiju.estateagents.base.ResponseBean;
9
+import com.huiju.estateagents.center.sysUser.entity.SysToken;
10
+import com.huiju.estateagents.center.sysUser.entity.SysUser;
11
+import com.huiju.estateagents.center.sysUser.service.ISysTokenService;
8
 import com.huiju.estateagents.center.taUser.entity.TaUser;
12
 import com.huiju.estateagents.center.taUser.entity.TaUser;
9
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
13
 import com.huiju.estateagents.center.taUser.service.ITaUserService;
10
 import com.huiju.estateagents.common.CommConstant;
14
 import com.huiju.estateagents.common.CommConstant;
15
+import com.huiju.estateagents.common.JWTUtils;
16
+import com.huiju.estateagents.common.MD5Utils;
17
+import com.huiju.estateagents.entity.TaPerson;
11
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
12
 import org.slf4j.LoggerFactory;
19
 import org.slf4j.LoggerFactory;
13
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.web.bind.annotation.*;
21
 import org.springframework.web.bind.annotation.*;
15
 
22
 
23
+import javax.servlet.http.HttpServletRequest;
24
+import java.time.LocalDateTime;
25
+import java.util.HashMap;
16
 import java.util.Map;
26
 import java.util.Map;
17
 
27
 
18
 /**
28
 /**
31
 
41
 
32
     @Autowired
42
     @Autowired
33
     public ITaUserService iTaUserService;
43
     public ITaUserService iTaUserService;
44
+    
45
+    @Autowired
46
+    private ISysTokenService sysTokenService;
34
 
47
 
35
 
48
 
36
     /**
49
     /**
116
         return responseBean;
129
         return responseBean;
117
     }
130
     }
118
     /**
131
     /**
119
-     * 根据id查询对象
120
-     * @param id  实体ID
132
+     * 获取用户信息
121
      */
133
      */
122
     @RequestMapping(value="/center/taUser/{id}",method= RequestMethod.GET)
134
     @RequestMapping(value="/center/taUser/{id}",method= RequestMethod.GET)
123
     public ResponseBean taUserGet(@PathVariable Integer id){
135
     public ResponseBean taUserGet(@PathVariable Integer id){
129
             logger.error("taUserDelete -=- {}",e.toString());
141
             logger.error("taUserDelete -=- {}",e.toString());
130
             responseBean.addError(e.getMessage());
142
             responseBean.addError(e.getMessage());
131
         }
143
         }
144
+
145
+        return responseBean;
146
+    }
147
+
148
+    /**
149
+     * 获取当前用户信息
150
+     * @param request
151
+     * @return
152
+     */
153
+    @RequestMapping(value="/admin/taUser/current",method= RequestMethod.GET)
154
+    public ResponseBean taUserGetCurrent(HttpServletRequest request){
155
+        ResponseBean responseBean = new ResponseBean();
156
+        Map map = JWTUtils.getUserIdAndOrgId(request);
157
+        try {
158
+            TaUser taUser = iTaUserService.getById(map.get("userId").toString());
159
+            taUser.setLoginPassword("");
160
+            responseBean.addSuccess(taUser);
161
+        }catch (Exception e){
162
+            e.printStackTrace();
163
+            logger.error("taUserDelete -=- {}",e.toString());
164
+            responseBean.addError(e.getMessage());
165
+        }
132
         return responseBean;
166
         return responseBean;
133
     }
167
     }
168
+    
169
+    /**
170
+     * 用户手机号登录
171
+     * @param paramStr
172
+     * @return
173
+     */
174
+    @PostMapping("/admin/taUser/signin")
175
+    public ResponseBean signin(@RequestBody String paramStr) {
176
+        JSONObject params = JSONObject.parseObject(paramStr);
177
+        if (params == null) {
178
+            return ResponseBean.error("非法参数", ResponseBean.ERROR_MISSING_PARAMS);
179
+        }
180
+    
181
+        String userName = params.getString("loginName");
182
+        String userPassword = params.getString("loginPassword");
183
+    
184
+        //验证用户名密码是否正确
185
+        QueryWrapper<TaUser> sysUserQueryWrapper = new QueryWrapper<>();
186
+        sysUserQueryWrapper.eq("login_name",userName);
187
+        sysUserQueryWrapper.eq("login_password", MD5Utils.md5(userPassword));
188
+        TaUser taUser = iTaUserService.getOne(sysUserQueryWrapper);
189
+        if (taUser == null) {
190
+            return ResponseBean.error("用户名或密码错误", ResponseBean.ERROR_ILLEGAL_PARAMS);
191
+        }
192
+    
193
+        if (taUser.getStatus() != CommConstant.STATUS_NORMAL) {
194
+            return ResponseBean.error("用户状态异常", ResponseBean.ERROR_UNAVAILABLE);
195
+        }
196
+        taUser.setLoginPassword("");
197
+        Map map = new HashMap();
198
+        map.put("userId",taUser.getUserId().toString());
199
+        map.put("orgId",taUser.getOrgId().toString());
200
+        String token = JWTUtils.newTokenByMap(map);
201
+    
202
+        //保存token
203
+        saveToken(token);
204
+    
205
+        Map<String, Object> result = new HashMap<>();
206
+        result.put("token", token);
207
+        result.put("user", taUser);
208
+    
209
+        return ResponseBean.success(result);
210
+    }
211
+    
212
+    
213
+    private void saveToken(String token) {
214
+        SysToken sysToken = new SysToken();
215
+        sysToken.setToken(token);
216
+        sysToken.setExpDate(LocalDateTime.now());
217
+        sysTokenService.save(sysToken);
218
+    }
134
 }
219
 }

+ 15
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java ファイルの表示

18
      */
18
      */
19
     public final static String PERSON_ESTATE_AGENT = "estate agent";
19
     public final static String PERSON_ESTATE_AGENT = "estate agent";
20
 
20
 
21
+    /**
22
+     * 人员类型: 客户
23
+     */
24
+    public final static String PERSON_ESTATE_CUSTOMER = "customer";
25
+
26
+    /**
27
+     * 人员类型: 客户
28
+     */
29
+    public final static String PERSON_ESTATE_CHANNEL = "channel agent";
30
+
31
+    /**
32
+     * 人员类型: 游客
33
+     */
34
+    public final static String PERSON_ESTATE_DRIFT = "drift";
35
+
21
     /**
36
     /**
22
      * 状态: 正常
37
      * 状态: 正常
23
      */
38
      */

+ 21
- 0
src/main/java/com/huiju/estateagents/common/JWTUtils.java ファイルの表示

39
         return null;
39
         return null;
40
     }
40
     }
41
     
41
     
42
+    /**
43
+     * getSubject 获取 jwt subject
44
+     * @param request
45
+     * @return
46
+     */
47
+    public static Map getUserIdAndOrgId(HttpServletRequest request) {
48
+        String jwtHeader = request.getHeader("authorization");
49
+        if (null == jwtHeader || "".equals(jwtHeader.trim())) return null;
50
+        
51
+        String[] jwtAuths = jwtHeader.split("Bearer ");
52
+        if (null == jwtAuths || jwtAuths.length < 2) return null;
53
+        
54
+        try {
55
+            return Jwts.parser().setSigningKey(key).parseClaimsJws(jwtAuths[1]).getBody();
56
+        } catch (Exception e) {
57
+            e.printStackTrace();
58
+        }
59
+        
60
+        return null;
61
+    }
62
+    
42
     /**
63
     /**
43
      * getSubject 获取 jwt subject
64
      * getSubject 获取 jwt subject
44
      * @param request
65
      * @param request

+ 11
- 6
src/main/java/com/huiju/estateagents/controller/MiniAppController.java ファイルの表示

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);
222
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
227
             return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
223
         }
228
         }
224
         TaPerson person = taPersons.get(0);
229
         TaPerson person = taPersons.get(0);
225
-        person.setPersonType(CommConstant.PERSON_ESTATE_AGENT);
230
+        person.setPersonType(CommConstant.PERSON_ESTATE_CUSTOMER);
226
         taPersonService.updateById(person);
231
         taPersonService.updateById(person);
227
         QueryWrapper<TaRecommendCustomer> cus= new QueryWrapper<>();
232
         QueryWrapper<TaRecommendCustomer> cus= new QueryWrapper<>();
228
         cus.eq("phone",phoneNoInfo.getPhoneNumber());
233
         cus.eq("phone",phoneNoInfo.getPhoneNumber());

+ 9
- 6
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java ファイルの表示

23
 import java.time.LocalDateTime;
23
 import java.time.LocalDateTime;
24
 import java.util.ArrayList;
24
 import java.util.ArrayList;
25
 import java.util.List;
25
 import java.util.List;
26
+import java.util.Map;
26
 
27
 
27
 /**
28
 /**
28
  * <p>
29
  * <p>
57
     }
58
     }
58
 
59
 
59
     /**
60
     /**
60
-     * 楼盘列表
61
+     * 楼盘列表 查询所有有效的
61
      * @param pageNum
62
      * @param pageNum
62
      * @param pageSize
63
      * @param pageSize
63
      * @param name
64
      * @param name
69
                                      @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
70
                                      @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize,
70
                                      @RequestParam(value = "name", required = false)String name,
71
                                      @RequestParam(value = "name", required = false)String name,
71
                                      @RequestParam(value = "code", required = false)String code,
72
                                      @RequestParam(value = "code", required = false)String code,
72
-                                     @RequestParam(value = "startDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)LocalDateTime startDate,
73
+                                     @RequestParam(value = "startDate",required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startDate,
73
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
74
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
74
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
75
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
75
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
76
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
76
-                                     @RequestParam(value = "isMain",required = false)Integer isMain){
77
-        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain);
77
+                                     @RequestParam(value = "isMain",required = false)Integer isMain,
78
+                                     @RequestParam(value = "orgId",required = false)Integer orgId){
79
+        return taBuildingService.buildingList(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain, orgId);
78
     }
80
     }
79
 
81
 
80
     /**
82
     /**
94
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
96
                                      @RequestParam(value = "buildingStatus",required = false)String buildingStatus,
95
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
97
                                      @RequestParam(value = "marketStatus",required = false)String marketStatus,
96
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
98
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
97
-                                     @RequestParam(value = "isMain",required = false)Integer isMain){
98
-        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain);
99
+                                     @RequestParam(value = "isMain",required = false)Integer isMain,HttpServletRequest request){
100
+        Map map = JWTUtils.getUserIdAndOrgId(request);
101
+        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,Integer.valueOf(map.get("orgId").toString()));
99
     }
102
     }
100
 
103
 
101
     /**
104
     /**

+ 2
- 1
src/main/java/com/huiju/estateagents/controller/TaBuildingDynamicController.java ファイルの表示

74
                                              @RequestParam(required = false)String name,
74
                                              @RequestParam(required = false)String name,
75
                                              @RequestParam(required = false)Integer cityId,
75
                                              @RequestParam(required = false)Integer cityId,
76
                                              @RequestParam(required = false)String buildingId,
76
                                              @RequestParam(required = false)String buildingId,
77
+                                             @RequestParam(required = false)String title,
77
                                              @RequestParam(required = false)String isEnlist,
78
                                              @RequestParam(required = false)String isEnlist,
78
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time){
79
                                              @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime time){
79
-        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time);
80
+        ResponseBean  responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId,isEnlist,time,title);
80
         return responseBean;
81
         return responseBean;
81
     }
82
     }
82
 
83
 

+ 192
- 0
src/main/java/com/huiju/estateagents/controller/TaChannelController.java ファイルの表示

1
+package com.huiju.estateagents.controller;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.baomidou.mybatisplus.core.metadata.IPage;
6
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7
+import com.huiju.estateagents.base.BaseController;
8
+import com.huiju.estateagents.base.ResponseBean;
9
+
10
+import com.huiju.estateagents.common.JWTUtils;
11
+import com.huiju.estateagents.common.StringUtils;
12
+import com.huiju.estateagents.entity.TaChannel;
13
+import com.huiju.estateagents.entity.TaPerson;
14
+import com.huiju.estateagents.mapper.TaChannelMapper;
15
+import com.huiju.estateagents.service.ITaPersonService;
16
+import com.huiju.estateagents.service.TaChannelService;
17
+import org.apache.http.HttpRequest;
18
+import org.slf4j.Logger;
19
+import org.slf4j.LoggerFactory;
20
+import org.springframework.beans.factory.annotation.Autowired;
21
+import org.springframework.web.bind.annotation.PathVariable;
22
+import org.springframework.web.bind.annotation.RequestBody;
23
+import org.springframework.web.bind.annotation.RequestMapping;
24
+import org.springframework.web.bind.annotation.RequestMethod;
25
+import org.springframework.web.bind.annotation.RequestParam;
26
+import org.springframework.web.bind.annotation.ResponseBody;
27
+import org.springframework.web.bind.annotation.RestController;
28
+
29
+import javax.servlet.http.HttpServletRequest;
30
+import java.util.HashMap;
31
+import java.util.List;
32
+
33
+
34
+/**
35
+ * <p>
36
+    *   前端控制器
37
+    * </p>
38
+ *
39
+ * @author jobob
40
+ * @since 2019-09-17
41
+ */
42
+@RestController
43
+@RequestMapping("/api")
44
+public class TaChannelController extends BaseController {
45
+
46
+    private final Logger logger = LoggerFactory.getLogger(TaChannelController.class);
47
+
48
+    @Autowired
49
+    public TaChannelService taChannelService;
50
+
51
+    @Autowired
52
+    public ITaPersonService taPersonService;
53
+
54
+    @Autowired
55
+    public TaChannelMapper taChannelMapper;
56
+
57
+
58
+    /**
59
+     * 分页查询列表
60
+     * @param pageNum
61
+     * @param pageSize
62
+     * @return
63
+     */
64
+    @RequestMapping(value="/admin/channel",method= RequestMethod.GET)
65
+    public ResponseBean channelList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
66
+                                    @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
67
+                                    @RequestParam(value ="channelId",required = false) Integer channelId,
68
+                                    HttpServletRequest request){
69
+        ResponseBean responseBean = new ResponseBean();
70
+        String orgid = JWTUtils.getSubject(request);
71
+        try {
72
+            //使用分页插件
73
+		    IPage<TaChannel> pg = new Page<>(pageNum, pageSize);
74
+            QueryWrapper<TaChannel> queryWrapper = new QueryWrapper<>();
75
+            queryWrapper.eq(null != channelId, "channel_id", channelId);
76
+            queryWrapper.orderByDesc("create_date");
77
+
78
+            IPage<TaChannel> result = taChannelService.page(pg, queryWrapper);
79
+          HashMap hashMap  = new HashMap<>();
80
+            hashMap.put("result",result);
81
+            // 下拉列表的数据 all
82
+            List<TaChannel> taChannelList = taChannelMapper.selectChannelList();
83
+            hashMap.put("channelNmae",taChannelList);
84
+            responseBean.addSuccess(hashMap);
85
+        }catch (Exception e){
86
+            e.printStackTrace();
87
+            logger.error("channelList -=- {}",e.toString());
88
+            responseBean.addError(e.getMessage());
89
+        }
90
+        return responseBean;
91
+    }
92
+
93
+    /**
94
+     * 保存对象
95
+     * @param channel 实体对象
96
+     * @return
97
+     */
98
+    @RequestMapping(value="/admin/channel",method= RequestMethod.POST)
99
+    public ResponseBean channelAdd(@RequestBody TaChannel channel){
100
+        ResponseBean responseBean = new ResponseBean();
101
+        try {
102
+            // 生成6位数的渠道码
103
+            int channelCode= taChannelMapper.channelCode();
104
+            channel.setChannelCode(String.valueOf(channelCode));
105
+            if (taChannelService.save(channel)){
106
+                responseBean.addSuccess(channel);
107
+            }else {
108
+                responseBean.addError("fail");
109
+            }
110
+        }catch (Exception e){
111
+            e.printStackTrace();
112
+            logger.error("channelAdd -=- {}",e.toString());
113
+            responseBean.addError(e.getMessage());
114
+        }
115
+        return responseBean;
116
+    }
117
+
118
+    /**
119
+     * 根据id删除对象
120
+     * @param id  实体ID
121
+     */
122
+    @ResponseBody
123
+    @RequestMapping(value="/channel/{id}", method= RequestMethod.DELETE)
124
+    public ResponseBean channelDelete(@PathVariable Integer id){
125
+        ResponseBean responseBean = new ResponseBean();
126
+        try {
127
+            if(taChannelService.removeById(id)){
128
+                responseBean.addSuccess("success");
129
+            }else {
130
+                responseBean.addError("fail");
131
+            }
132
+        }catch (Exception e){
133
+            e.printStackTrace();
134
+            logger.error("channelDelete -=- {}",e.toString());
135
+            responseBean.addError(e.getMessage());
136
+        }
137
+        return responseBean;
138
+    }
139
+
140
+    /**
141
+     * 修改对象
142
+     * @param id  实体ID
143
+     * @param channel 实体对象
144
+     * @return
145
+     */
146
+    @RequestMapping(value="/channel/{id}",method= RequestMethod.PUT)
147
+    public ResponseBean channelUpdate(@PathVariable Integer id,
148
+                                        @RequestBody TaChannel channel){
149
+        ResponseBean responseBean = new ResponseBean();
150
+        try {
151
+            if (taChannelService.updateById(channel)){
152
+                responseBean.addSuccess(channel);
153
+            }else {
154
+                responseBean.addError("fail");
155
+            }
156
+        }catch (Exception e){
157
+            e.printStackTrace();
158
+            logger.error("channelUpdate -=- {}",e.toString());
159
+            responseBean.addError(e.getMessage());
160
+        }
161
+        return responseBean;
162
+    }
163
+
164
+    /**
165
+     * 根据id查询对象
166
+     * @param id  实体ID
167
+     */
168
+    @RequestMapping(value="/channel/{id}",method= RequestMethod.GET)
169
+    public ResponseBean channelGet(@PathVariable Integer id){
170
+        ResponseBean responseBean = new ResponseBean();
171
+        try {
172
+            responseBean.addSuccess(taChannelService.getById(id));
173
+        }catch (Exception e){
174
+            e.printStackTrace();
175
+            logger.error("channelDelete -=- {}",e.toString());
176
+            responseBean.addError(e.getMessage());
177
+        }
178
+        return responseBean;
179
+    }
180
+
181
+    /**
182
+     * 渠道管理下的经纪人
183
+     */
184
+    @RequestMapping(value="/admin/channel/broker",method= RequestMethod.GET)
185
+    public  ResponseBean channelBrokerList(@RequestParam(value="name",required = false) String name,
186
+                                           @RequestParam(value="phone",required = false) String phone,
187
+                                           @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
188
+                                           @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
189
+        ResponseBean taPerson =  taPersonService.channelBrokerList(name,phone,pageNum,pageSize);
190
+        return taPerson;
191
+    }
192
+}

+ 150
- 0
src/main/java/com/huiju/estateagents/controller/TaChannelPersonController.java ファイルの表示

1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.TaChannelPerson;
9
+import com.huiju.estateagents.service.TaChannelPersonService;
10
+import org.slf4j.Logger;
11
+import org.slf4j.LoggerFactory;
12
+import org.springframework.beans.factory.annotation.Autowired;
13
+import org.springframework.web.bind.annotation.PathVariable;
14
+import org.springframework.web.bind.annotation.RequestBody;
15
+import org.springframework.web.bind.annotation.RequestMapping;
16
+import org.springframework.web.bind.annotation.RequestMethod;
17
+import org.springframework.web.bind.annotation.RequestParam;
18
+import org.springframework.web.bind.annotation.ResponseBody;
19
+import org.springframework.web.bind.annotation.RestController;
20
+
21
+/**
22
+ * <p>
23
+    *   前端控制器
24
+    * </p>
25
+ *
26
+ * @author jobob
27
+ * @since 2019-09-17
28
+ */
29
+@RestController
30
+@RequestMapping("/api")
31
+public class TaChannelPersonController extends BaseController {
32
+
33
+    private final Logger logger = LoggerFactory.getLogger(TaChannelPersonController.class);
34
+
35
+    @Autowired
36
+    public TaChannelPersonService iChannelPersonService;
37
+
38
+
39
+    /**
40
+     * 分页查询列表
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/channelPerson",method= RequestMethod.GET)
46
+    public ResponseBean channelPersonList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
47
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
48
+                                          @RequestParam(value = "channelName",required = false)String channelName  ){
49
+        ResponseBean responseBean = new ResponseBean();
50
+        try {
51
+            //使用分页插件
52
+		    IPage<TaChannelPerson> pg = new Page<>(pageNum, pageSize);
53
+            QueryWrapper<TaChannelPerson> queryWrapper = new QueryWrapper<>();
54
+            queryWrapper.orderByDesc("create_date");
55
+
56
+            IPage<TaChannelPerson> result = iChannelPersonService.page(pg, queryWrapper);
57
+            responseBean.addSuccess(result);
58
+        }catch (Exception e){
59
+            e.printStackTrace();
60
+            logger.error("channelPersonList -=- {}",e.toString());
61
+            responseBean.addError(e.getMessage());
62
+        }
63
+        return responseBean;
64
+    }
65
+
66
+    /**
67
+     * 保存对象
68
+     * @param channelPerson 实体对象
69
+     * @return
70
+     */
71
+    @RequestMapping(value="/channelPerson",method= RequestMethod.POST)
72
+    public ResponseBean channelPersonAdd(@RequestBody TaChannelPerson channelPerson){
73
+        ResponseBean responseBean = new ResponseBean();
74
+        try {
75
+            if (iChannelPersonService.save(channelPerson)){
76
+                responseBean.addSuccess(channelPerson);
77
+            }else {
78
+                responseBean.addError("fail");
79
+            }
80
+        }catch (Exception e){
81
+            e.printStackTrace();
82
+            logger.error("channelPersonAdd -=- {}",e.toString());
83
+            responseBean.addError(e.getMessage());
84
+        }
85
+        return responseBean;
86
+    }
87
+
88
+    /**
89
+     * 根据id删除对象
90
+     * @param id  实体ID
91
+     */
92
+    @ResponseBody
93
+    @RequestMapping(value="/channelPerson/{id}", method= RequestMethod.DELETE)
94
+    public ResponseBean channelPersonDelete(@PathVariable Integer id){
95
+        ResponseBean responseBean = new ResponseBean();
96
+        try {
97
+            if(iChannelPersonService.removeById(id)){
98
+                responseBean.addSuccess("success");
99
+            }else {
100
+                responseBean.addError("fail");
101
+            }
102
+        }catch (Exception e){
103
+            e.printStackTrace();
104
+            logger.error("channelPersonDelete -=- {}",e.toString());
105
+            responseBean.addError(e.getMessage());
106
+        }
107
+        return responseBean;
108
+    }
109
+
110
+    /**
111
+     * 修改对象
112
+     * @param id  实体ID
113
+     * @param channelPerson 实体对象
114
+     * @return
115
+     */
116
+    @RequestMapping(value="/channelPerson/{id}",method= RequestMethod.PUT)
117
+    public ResponseBean channelPersonUpdate(@PathVariable Integer id,
118
+                                        @RequestBody TaChannelPerson channelPerson){
119
+        ResponseBean responseBean = new ResponseBean();
120
+        try {
121
+            if (iChannelPersonService.updateById(channelPerson)){
122
+                responseBean.addSuccess(channelPerson);
123
+            }else {
124
+                responseBean.addError("fail");
125
+            }
126
+        }catch (Exception e){
127
+            e.printStackTrace();
128
+            logger.error("channelPersonUpdate -=- {}",e.toString());
129
+            responseBean.addError(e.getMessage());
130
+        }
131
+        return responseBean;
132
+    }
133
+
134
+    /**
135
+     * 根据id查询对象
136
+     * @param id  实体ID
137
+     */
138
+    @RequestMapping(value="/channelPerson/{id}",method= RequestMethod.GET)
139
+    public ResponseBean channelPersonGet(@PathVariable Integer id){
140
+        ResponseBean responseBean = new ResponseBean();
141
+        try {
142
+            responseBean.addSuccess(iChannelPersonService.getById(id));
143
+        }catch (Exception e){
144
+            e.printStackTrace();
145
+            logger.error("channelPersonDelete -=- {}",e.toString());
146
+            responseBean.addError(e.getMessage());
147
+        }
148
+        return responseBean;
149
+    }
150
+}

+ 80
- 3
src/main/java/com/huiju/estateagents/controller/TaPersonController.java ファイルの表示

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
 
90
+    @PutMapping("/wx/registerConsultant")
91
+    public ResponseBean registerConsultant(@RequestParam Integer orgId,HttpServletRequest request) {
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
+    }
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);
150
+
151
+        return responseBean;
152
+    }
153
+
77
     /**
154
     /**
78
      * 绑定卡片
155
      * 绑定卡片
79
      * @param paramStr
156
      * @param paramStr

+ 3
- 1
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java ファイルの表示

199
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
199
                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
200
                                          @RequestParam(value ="entryType",required = false) String entryType,
200
                                          @RequestParam(value ="entryType",required = false) String entryType,
201
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
201
                                          @RequestParam(value ="verifyStatus",required = false) String verifyStatus,
202
-                                         @RequestParam(value = "sex",required = false)Integer sex){
202
+                                         @RequestParam(value = "sex",required = false)Integer sex, HttpServletRequest request){
203
+        String personId = JWTUtils.getSubject(request);
204
+        TaPerson taPerson = taPersonService.getById(personId);
203
         try{
205
         try{
204
             return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex));
206
             return ResponseBean.success(taRecommendCustomerService.getRepCustomerList(pageNumber,pageSize,buildingId,name,tel,consultName,consultTel,entryType,verifyStatus,sex));
205
         }catch (Exception e){
207
         }catch (Exception e){

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java ファイルの表示

183
     private Integer saveNum;
183
     private Integer saveNum;
184
     private Integer shareNum;
184
     private Integer shareNum;
185
 
185
 
186
+    /**
187
+     * 公司Id
188
+     */
189
+    private Integer orgId;
190
+
191
+
186
 
192
 
187
     /**
193
     /**
188
      * 图片
194
      * 图片

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java ファイルの表示

176
     private Integer enlistNum;
176
     private Integer enlistNum;
177
 
177
 
178
     private Integer weight;
178
     private Integer weight;
179
+
180
+    /**
181
+     * 公司Id
182
+     */
183
+    private Integer orgId;
179
 }
184
 }

+ 85
- 0
src/main/java/com/huiju/estateagents/entity/TaChannel.java ファイルの表示

1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import com.baomidou.mybatisplus.annotation.IdType;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import java.time.LocalDateTime;
7
+import java.io.Serializable;
8
+import lombok.Data;
9
+import lombok.EqualsAndHashCode;
10
+import lombok.experimental.Accessors;
11
+
12
+/**
13
+ * <p>
14
+ *  
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2019-09-17
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+@TableName("ta_channel")
24
+public class TaChannel implements Serializable {
25
+
26
+    private static final long serialVersionUID = 1L;
27
+
28
+    /**
29
+     * 渠道id
30
+     */
31
+    @TableId(value = "channel_id", type = IdType.AUTO)
32
+    private Integer channelId;
33
+
34
+    /**
35
+     * 渠道名称
36
+     */
37
+    private String channelName;
38
+
39
+    /**
40
+     * 渠道唯一识别码
41
+     */
42
+    private String channelCode;
43
+
44
+    /**
45
+     * 渠道联系人
46
+     */
47
+    private String channelContact;
48
+
49
+    /**
50
+     * 联系电话
51
+     */
52
+    private String contactTel;
53
+
54
+    /**
55
+     * 经纪人数
56
+     */
57
+    private Integer agentsNum;
58
+
59
+    /**
60
+     * 有效推荐数
61
+     */
62
+    private Integer recommendEffective;
63
+
64
+    /**
65
+     * 邀请经纪人数
66
+     */
67
+    private Integer agentsInvite;
68
+
69
+    /**
70
+     * 创建时间
71
+     */
72
+    private LocalDateTime createDate;
73
+
74
+    /**
75
+     * 公司id
76
+     */
77
+    private Integer orgId;
78
+
79
+    /**
80
+     * 楼盘id
81
+     */
82
+    private String buildingId;
83
+
84
+
85
+}

+ 42
- 0
src/main/java/com/huiju/estateagents/entity/TaChannelPerson.java ファイルの表示

1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.TableName;
4
+import java.time.LocalDateTime;
5
+import java.io.Serializable;
6
+import lombok.Data;
7
+import lombok.EqualsAndHashCode;
8
+import lombok.experimental.Accessors;
9
+
10
+/**
11
+ * <p>
12
+ *  
13
+ * </p>
14
+ *
15
+ * @author jobob
16
+ * @since 2019-09-17
17
+ */
18
+@Data
19
+@EqualsAndHashCode(callSuper = false)
20
+@Accessors(chain = true)
21
+@TableName("ta_channel_person")
22
+public class TaChannelPerson implements Serializable {
23
+
24
+    private static final long serialVersionUID = 1L;
25
+
26
+    /**
27
+     * 人员id
28
+     */
29
+    private String personId;
30
+
31
+    /**
32
+     * 渠道id
33
+     */
34
+    private Integer channelId;
35
+
36
+    /**
37
+     * 创建时间
38
+     */
39
+    private LocalDateTime createDate;
40
+
41
+
42
+}

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaChat.java ファイルの表示

79
      */
79
      */
80
     private String messageType;
80
     private String messageType;
81
 
81
 
82
+    /**
83
+     * 公司Id
84
+     */
85
+    private Integer orgId;
86
+
82
 
87
 
83
 }
88
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaCheckin.java ファイルの表示

64
      */
64
      */
65
     private String activityName;
65
     private String activityName;
66
 
66
 
67
+    /**
68
+     * 公司Id
69
+     */
70
+    private Integer orgId;
71
+
67
 }
72
 }

+ 12
- 0
src/main/java/com/huiju/estateagents/entity/TaPerson.java ファイルの表示

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
 
237
+    private String agentCode;
238
+
239
+    private String recommendAgent;
240
+
235
     @TableField(exist = false)
241
     @TableField(exist = false)
236
     private Integer isSave;
242
     private Integer isSave;
243
+
244
+    @TableField(exist = false)
245
+    private int recommendCount;
246
+
247
+    @TableField(exist = false)
248
+    private TaOrg org;
237
 }
249
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/entity/TaPersonPoints.java ファイルの表示

54
      */
54
      */
55
     private LocalDateTime createDate;
55
     private LocalDateTime createDate;
56
 
56
 
57
+    /**
58
+     * 公司Id
59
+     */
60
+    private Integer orgId;
57
 
61
 
58
 }
62
 }

+ 1
- 0
src/main/java/com/huiju/estateagents/interceptor/AccessInterceptor.java ファイルの表示

28
             "/api/taCheckin/activity",
28
             "/api/taCheckin/activity",
29
             "/api/wx/qrcode/scene",
29
             "/api/wx/qrcode/scene",
30
 		    "/api/center/signin",
30
 		    "/api/center/signin",
31
+		    "/api/admin/taUser/signin",
31
     };
32
     };
32
 
33
 
33
     /*
34
     /*

+ 1
- 1
src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java ファイルの表示

27
      * @param page
27
      * @param page
28
      * @return
28
      * @return
29
      */
29
      */
30
-    IPage<TaBuildingDynamic> buildingDynamicList(Page page, @Param("name") String name, @Param("buildingId") String buildingId,@Param("cityId") Integer cityId,@Param("isEnlist") String isEnlist,@Param("time")LocalDateTime time);
30
+    IPage<TaBuildingDynamic> buildingDynamicList(Page page, @Param("name") String name, @Param("buildingId") String buildingId,@Param("cityId") Integer cityId,@Param("isEnlist") String isEnlist,@Param("time")LocalDateTime time,@Param("title") String title);
31
 
31
 
32
     /**
32
     /**
33
      * 详情
33
      * 详情

+ 2
- 2
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java ファイルの表示

28
      * @param page
28
      * @param page
29
      * @return
29
      * @return
30
      */
30
      */
31
-    List<TaBuilding> buildingList(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain);
31
+    List<TaBuilding> buildingList(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain, @Param("orgId") Integer orgId);
32
 
32
 
33
     /**
33
     /**
34
      * 楼盘列表
34
      * 楼盘列表
35
      * @param page
35
      * @param page
36
      * @return
36
      * @return
37
      */
37
      */
38
-    List<TaBuilding> buildingListSelect(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain);
38
+    List<TaBuilding> buildingListSelect(IPage<TaBuilding> page, @Param("Name") String name, @Param("Code")String code,@Param("startDate")LocalDateTime startDate, @Param("buildingStatus")String buildingStatus, @Param("marketStatus")String marketStatus, @Param("cityId")Integer cityId, @Param("isMain")Integer isMain,@Param("orgId") Integer orgId);
39
 
39
 
40
 
40
 
41
     @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")
41
     @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")

+ 31
- 0
src/main/java/com/huiju/estateagents/mapper/TaChannelMapper.java ファイルの表示

1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaChannel;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * <p>
11
+ *   Mapper 接口
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2019-09-17
16
+ */
17
+@Mapper
18
+public interface TaChannelMapper extends BaseMapper<TaChannel> {
19
+
20
+    /**
21
+     * 渠道码
22
+     * @return
23
+     */
24
+    int channelCode();
25
+
26
+    /**
27
+     * 渠道页面下拉列表的所有数据
28
+     * @return
29
+     */
30
+    List<TaChannel> selectChannelList();
31
+}

+ 17
- 0
src/main/java/com/huiju/estateagents/mapper/TaChannelPersonMapper.java ファイルの表示

1
+package com.huiju.estateagents.mapper;
2
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
+import com.huiju.estateagents.entity.TaChannelPerson;
4
+import org.apache.ibatis.annotations.Mapper;
5
+
6
+/**
7
+ * <p>
8
+ *   Mapper 接口
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2019-09-17
13
+ */
14
+@Mapper
15
+public interface TaChannelPersonMapper extends BaseMapper<TaChannelPerson> {
16
+
17
+}

+ 9
- 1
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java ファイルの表示

1
 package com.huiju.estateagents.mapper;
1
 package com.huiju.estateagents.mapper;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
+import com.huiju.estateagents.entity.TaChannel;
4
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.huiju.estateagents.entity.TaPerson;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.huiju.estateagents.po.PersonPO;
7
 import com.huiju.estateagents.po.PersonPO;
162
 
163
 
163
     IPage<TaPerson> getPersonList(IPage<TaPerson> page, @Param("personType")String personType, @Param("name") String name, @Param("phone") String phone,@Param("status") Integer status,@Param("buildingId") String buildingId,@Param("personTags") String personTags);
164
     IPage<TaPerson> getPersonList(IPage<TaPerson> page, @Param("personType")String personType, @Param("name") String name, @Param("phone") String phone,@Param("status") Integer status,@Param("buildingId") String buildingId,@Param("personTags") String personTags);
164
 
165
 
165
-
166
+    /**
167
+     * 渠道下的经纪人
168
+     * @param pg
169
+     * @param name
170
+     * @param phone
171
+     * @return
172
+     */
173
+    IPage<TaPerson> channelBrokerList(IPage<TaChannel> pg, @Param("name") String name, @Param("phone") String phone);
166
 }
174
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingDynamicService.java ファイルの表示

25
      * 项目动态管理列表
25
      * 项目动态管理列表
26
      * @return
26
      * @return
27
      */
27
      */
28
-    ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time);
28
+    ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title);
29
 
29
 
30
     /**
30
     /**
31
      * 项目详情
31
      * 项目详情

+ 2
- 2
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java ファイルの表示

24
      * @param pageSize
24
      * @param pageSize
25
      * @return
25
      * @return
26
      */
26
      */
27
-    ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain);
27
+    ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId);
28
 
28
 
29
     /**
29
     /**
30
      * 楼盘列表
30
      * 楼盘列表
32
      * @param pageSize
32
      * @param pageSize
33
      * @return
33
      * @return
34
      */
34
      */
35
-    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain);
35
+    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId);
36
 
36
 
37
     /**
37
     /**
38
      * 楼盘详情
38
      * 楼盘详情

+ 12
- 0
src/main/java/com/huiju/estateagents/service/ITaPersonService.java ファイルの表示

62
 
62
 
63
 
63
 
64
     List<TaPersonBuilding> getPersonBuildings(String personId);
64
     List<TaPersonBuilding> getPersonBuildings(String personId);
65
+
66
+    String agentCodeGenerator ();
67
+
68
+
69
+
70
+    /**
71
+     * 渠道管理下的经纪人
72
+     * @param name
73
+     * @param phone
74
+     * @return
75
+     */
76
+    ResponseBean channelBrokerList(String name, String phone,Integer pageNum,Integer pageSize);
65
 }
77
 }

+ 15
- 0
src/main/java/com/huiju/estateagents/service/TaChannelPersonService.java ファイルの表示

1
+package com.huiju.estateagents.service;
2
+import com.baomidou.mybatisplus.extension.service.IService;
3
+import com.huiju.estateagents.entity.TaChannelPerson;
4
+
5
+/**
6
+ * <p>
7
+ *   服务类
8
+ * </p>
9
+ *
10
+ * @author jobob
11
+ * @since 2019-09-17
12
+ */
13
+public interface TaChannelPersonService extends IService<TaChannelPerson> {
14
+
15
+}

+ 15
- 0
src/main/java/com/huiju/estateagents/service/TaChannelService.java ファイルの表示

1
+package com.huiju.estateagents.service;
2
+import com.baomidou.mybatisplus.extension.service.IService;
3
+import com.huiju.estateagents.entity.TaChannel;
4
+
5
+/**
6
+ * <p>
7
+ *   服务类
8
+ * </p>
9
+ *
10
+ * @author jobob
11
+ * @since 2019-09-17
12
+ */
13
+public interface TaChannelService extends IService<TaChannel> {
14
+
15
+}

+ 2
- 2
src/main/java/com/huiju/estateagents/service/impl/TaBuildingDynamicServiceImpl.java ファイルの表示

64
         binder.registerCustomEditor(Date.class, editor);
64
         binder.registerCustomEditor(Date.class, editor);
65
     }
65
     }
66
     @Override
66
     @Override
67
-    public ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time) {
67
+    public ResponseBean iBuildingDynamicList(Integer pageNum, Integer pageSize, String name, String buildingId,Integer cityId,String isEnlist, LocalDateTime time,String title) {
68
         Page<TaBuildingDynamic> page = new Page<>();
68
         Page<TaBuildingDynamic> page = new Page<>();
69
         page.setSize(pageSize == null ? 10 : pageSize);
69
         page.setSize(pageSize == null ? 10 : pageSize);
70
         page.setCurrent(pageNum == null ? 1 : pageNum);
70
         page.setCurrent(pageNum == null ? 1 : pageNum);
71
 
71
 
72
-        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.buildingDynamicList(page, name, buildingId,cityId,isEnlist,time);
72
+        IPage<TaBuildingDynamic> buildingDynamic = buildingDynamicMapper.buildingDynamicList(page, name, buildingId,cityId,isEnlist,time,title);
73
         List<TaBuildingDynamic> buildingDynamicList = buildingDynamic.getRecords();
73
         List<TaBuildingDynamic> buildingDynamicList = buildingDynamic.getRecords();
74
         for (TaBuildingDynamic taBuildingDynamic:buildingDynamicList){
74
         for (TaBuildingDynamic taBuildingDynamic:buildingDynamicList){
75
             QueryWrapper<TaActivityDynamicEnlist> taActivityDynamicEnlist= new QueryWrapper<>();
75
             QueryWrapper<TaActivityDynamicEnlist> taActivityDynamicEnlist= new QueryWrapper<>();

+ 4
- 4
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java ファイルの表示

70
 
70
 
71
 
71
 
72
     @Override
72
     @Override
73
-    public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain) {
73
+    public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId) {
74
         Page<TaBuilding> page = new Page<>();
74
         Page<TaBuilding> page = new Page<>();
75
         page.setSize(pageSize == null ? 10 : pageSize);
75
         page.setSize(pageSize == null ? 10 : pageSize);
76
         page.setCurrent(pageNum == null ? 1 : pageNum);
76
         page.setCurrent(pageNum == null ? 1 : pageNum);
77
-        List<TaBuilding> building = taBuildingMapper.buildingList(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain);
77
+        List<TaBuilding> building = taBuildingMapper.buildingList(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain, orgId);
78
         page.setRecords(building);
78
         page.setRecords(building);
79
 
79
 
80
         return ResponseBean.success(page);
80
         return ResponseBean.success(page);
81
     }
81
     }
82
     @Override
82
     @Override
83
-    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain) {
83
+    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId) {
84
         Page<TaBuilding> page = new Page<>();
84
         Page<TaBuilding> page = new Page<>();
85
         page.setSize(pageSize == null ? 10 : pageSize);
85
         page.setSize(pageSize == null ? 10 : pageSize);
86
         page.setCurrent(pageNum == null ? 1 : pageNum);
86
         page.setCurrent(pageNum == null ? 1 : pageNum);
87
-        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain);
87
+        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId);
88
         page.setRecords(building);
88
         page.setRecords(building);
89
 
89
 
90
         return ResponseBean.success(page);
90
         return ResponseBean.success(page);

+ 19
- 0
src/main/java/com/huiju/estateagents/service/impl/TaChannelPersonServiceImpl.java ファイルの表示

1
+package com.huiju.estateagents.service.impl;
2
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
3
+import com.huiju.estateagents.entity.TaChannelPerson;
4
+import com.huiju.estateagents.mapper.TaChannelPersonMapper;
5
+import com.huiju.estateagents.service.TaChannelPersonService;
6
+import org.springframework.stereotype.Service;
7
+
8
+/**
9
+ * <p>
10
+ *   服务实现类
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-09-17
15
+ */
16
+@Service
17
+public class TaChannelPersonServiceImpl extends ServiceImpl<TaChannelPersonMapper, TaChannelPerson> implements TaChannelPersonService {
18
+
19
+}

+ 19
- 0
src/main/java/com/huiju/estateagents/service/impl/TaChannelServiceImpl.java ファイルの表示

1
+package com.huiju.estateagents.service.impl;
2
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
3
+import com.huiju.estateagents.entity.TaChannel;
4
+import com.huiju.estateagents.mapper.TaChannelMapper;
5
+import com.huiju.estateagents.service.TaChannelService;
6
+import org.springframework.stereotype.Service;
7
+
8
+/**
9
+ * <p>
10
+ *   服务实现类
11
+ * </p>
12
+ *
13
+ * @author jobob
14
+ * @since 2019-09-17
15
+ */
16
+@Service
17
+public class TaChannelServiceImpl extends ServiceImpl<TaChannelMapper, TaChannel> implements TaChannelService {
18
+
19
+}

+ 28
- 0
src/main/java/com/huiju/estateagents/service/impl/TaPersonServiceImpl.java ファイルの表示

609
         return taPersonBuildingMapper.selectList(queryWrapper);
609
         return taPersonBuildingMapper.selectList(queryWrapper);
610
     }
610
     }
611
 
611
 
612
+    @Override
613
+    public ResponseBean channelBrokerList(String name, String phone,Integer pageNum,Integer pageSize) {
614
+        ResponseBean responseBean = new ResponseBean<>();
615
+        IPage<TaChannel> pg = new Page<>(pageNum, pageSize);
616
+        IPage<TaPerson> IPage = taPersonMapper.channelBrokerList(pg,name,phone);
617
+        responseBean.addSuccess(IPage);
618
+        return responseBean;
619
+    }
620
+
612
     @Override
621
     @Override
613
     public IPage<TaPerson> getDriftCustomerList (int pageNumber, int pageSize,String building){
622
     public IPage<TaPerson> getDriftCustomerList (int pageNumber, int pageSize,String building){
614
         QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
623
         QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
644
 
653
 
645
     }
654
     }
646
 
655
 
656
+    public String codeGenerator (){
657
+        double r = Math.random();
658
+        int i = (int)(r*100000);
659
+        return String.valueOf(i);
660
+    }
661
+
662
+    @Override
663
+    public String agentCodeGenerator (){
664
+        QueryWrapper<TaPerson>queryWrapper = new QueryWrapper<>();
665
+        while (true){
666
+            String code = codeGenerator();
667
+            queryWrapper.eq("agent_code",code);
668
+            Integer count = taPersonMapper.selectCount(queryWrapper);
669
+            if (count<=0){
670
+                return code;
671
+            }
672
+        }
673
+    }
674
+
647
 
675
 
648
 }
676
 }

+ 51
- 0
src/main/resources/application-gzysd.yml ファイルの表示

1
+server:
2
+  port: 8009
3
+spring:
4
+  application:
5
+    name: estateagents
6
+  datasource:
7
+    username: estateagents
8
+    password: DQ@0lW##kBb2+-jPZ
9
+    url: jdbc:mysql://rm-uf6z3z6jq11x653d77o.mysql.rds.aliyuncs.com:3306/estateagents_17?useUnicode=true&serverTimezone=CTT&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10
+    driver-class-name: com.mysql.cj.jdbc.Driver
11
+    initial-size: 10 # 初始化连接数
12
+    max-active: 20 # 最大连接数
13
+    min-idle: 8 # 最小空闲数
14
+    max-idle: 8 # 最大空闲数
15
+  servlet:
16
+    multipart:
17
+      max-file-size: 10MB
18
+      max-request-size: 50MB
19
+
20
+##mybatis-plus
21
+mybatis-plus:
22
+  configuration:
23
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
24
+    call-setters-on-nulls: true
25
+  mapper-locations: classpath:mapper/*.xml
26
+wx:
27
+  miniapp:
28
+    appid: wxe3b1e683853800b5
29
+    secret: 207dd6d0f807b2dd0d41b57a8184365f
30
+    token:
31
+    aesKey:
32
+    msgDataFormat: JSON
33
+  tpls:
34
+    - name: notice
35
+      id: 6hWKexNlaVpAOvrcWxHHQ_Duz1gRIkg2-Clsktp2-Os
36
+      keywords: 4
37
+    - name: newCustomer
38
+      id: WiBYjqkE9KvwDv1WSq5vnuv5A6FSaOB8ETFcrVmtCEI
39
+      keywords: 4
40
+    - name: mainbiz
41
+      id: IywdSfNPegeg5GB3Q-TVieSYD9DA0im8eI-hF_u0i-4
42
+      keywords: 6
43
+ali:
44
+  accessKeyId: LTAIkc75dpkJw8Lb
45
+  accessKeySecret: v4bvXCaix6vSDTCFfwSAdqV53iFEQw
46
+  oss:
47
+    endpoint: oss-cn-shanghai.aliyuncs.com
48
+    bucketName: estateagents
49
+    bucketURL: https://estateagents.oss-cn-shanghai.aliyuncs.com
50
+
51
+

+ 3
- 0
src/main/resources/mapper/TaBuildingDynamicMapper.xml ファイルの表示

30
         <if test="cityId != 0 and cityId != null">
30
         <if test="cityId != 0 and cityId != null">
31
             and city_id = #{cityId}
31
             and city_id = #{cityId}
32
         </if>
32
         </if>
33
+        <if test="title != null and title != ''">
34
+            and title = #{title}
35
+        </if>
33
         <if test="time != null">
36
         <if test="time != null">
34
             and TO_DAYS(create_date) = TO_DAYS(#{time})
37
             and TO_DAYS(create_date) = TO_DAYS(#{time})
35
         </if>
38
         </if>

+ 6
- 0
src/main/resources/mapper/TaBuildingMapper.xml ファイルの表示

26
             <if test="isMain != null and isMain != ''">
26
             <if test="isMain != null and isMain != ''">
27
                 and  ta_building.is_main = #{isMain}
27
                 and  ta_building.is_main = #{isMain}
28
             </if>
28
             </if>
29
+            <if test="orgId != null">
30
+                and  ta_building.org_id = #{orgId}
31
+            </if>
29
         </where>
32
         </where>
30
         ORDER BY create_date DESC
33
         ORDER BY create_date DESC
31
     </select>
34
     </select>
52
             <if test="isMain != null and isMain != ''">
55
             <if test="isMain != null and isMain != ''">
53
                 and  ta_building.is_main = #{isMain}
56
                 and  ta_building.is_main = #{isMain}
54
             </if>
57
             </if>
58
+            <if test="orgId != null and orgId != ''">
59
+                and  ta_building.org_id = #{orgId}
60
+            </if>
55
         </where>
61
         </where>
56
         ORDER BY create_date DESC
62
         ORDER BY create_date DESC
57
     </select>
63
     </select>

+ 29
- 0
src/main/resources/mapper/TaChannelMapper.xml ファイルの表示

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaChannelMapper">
4
+
5
+    <select id="channelCode" resultType="int">
6
+        drop FUNCTION if exists roundNum;
7
+        create function roundNum() returns int
8
+        begin
9
+        declare x int default 1;
10
+        declare y int default 0;
11
+        declare a int default 20;
12
+        declare b int default 1;
13
+        while (b <![CDATA[ < a ]]> ) do
14
+        set x = (select (select FLOOR(100000 + RAND()*900000))  as num);
15
+        set y = (select count(1) from ta_channel where channel_code = x);
16
+        if y = 0
17
+        then return x;
18
+        END IF;
19
+        set b = b + 1;
20
+        end while;
21
+        return 0;
22
+        end;
23
+        select roundNum();
24
+    </select>
25
+    
26
+    <select id="selectChannelList" resultType="com.huiju.estateagents.entity.TaChannel">
27
+        select * from ta_channel ;
28
+    </select>
29
+</mapper>

+ 5
- 0
src/main/resources/mapper/TaChannelPersonMapper.xml ファイルの表示

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaChannelPersonMapper">
4
+
5
+</mapper>

+ 21
- 0
src/main/resources/mapper/TaPersonMapper.xml ファイルの表示

489
 	GROUP BY a.person_id
489
 	GROUP BY a.person_id
490
     </select>
490
     </select>
491
 
491
 
492
+    <select id="channelBrokerList" resultType="com.huiju.estateagents.entity.TaPerson">
493
+        select
494
+        p.avatarurl,
495
+        p.name,
496
+        p.tel,
497
+        p.sex,
498
+        COUNT(rc.person_id) as recommendCount
499
+        from ta_person p
500
+        LEFT JOIN ta_recommend_customer rc ON p.person_id = rc.person_id and rc.report_recommend_status = 1
501
+        <where>
502
+        <if test="name !=null and name !=''">
503
+            and name = #{name}
504
+        </if>
505
+        <if test="phone !=null and phone !=''">
506
+            and tel = #{phone}
507
+        </if>
508
+        and person_type = 'estate agent'
509
+        </where>
510
+        GROUP BY p.person_id
511
+    </select>
512
+
492
 </mapper>
513
 </mapper>