4 Commits

Author SHA1 Message Date
  weiximei 5c0ad3bfcb 置业顾问离职 5 years ago
  weiximei e7d8c662f6 Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev 5 years ago
  weiximei 0081b50176 Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev 5 years ago
  weiximei 54b4e7fef3 提交 5 years ago

+ 5
- 4
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java View File

374
             taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
374
             taUserQueryWrapper.like(!StringUtils.isEmpty(userName),"user_name",userName);
375
             taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
375
             taUserQueryWrapper.like(!StringUtils.isEmpty(phone),"phone",phone);
376
             taUserQueryWrapper.eq(null != status,"status",status);
376
             taUserQueryWrapper.eq(null != status,"status",status);
377
+            taUserQueryWrapper.ne("status", 9);
377
             if(null != isConsultant && isConsultant == 1){
378
             if(null != isConsultant && isConsultant == 1){
378
                 taUserQueryWrapper.eq("is_consultant",true);
379
                 taUserQueryWrapper.eq("is_consultant",true);
379
             }else if (null != isConsultant && isConsultant == 0){
380
             }else if (null != isConsultant && isConsultant == 0){
497
      * @return
498
      * @return
498
      */
499
      */
499
     @RequestMapping(value = "/admin/user/departure/{userId}", method = RequestMethod.PUT)
500
     @RequestMapping(value = "/admin/user/departure/{userId}", method = RequestMethod.PUT)
500
-    public ResponseBean departureUser(@PathVariable("userId") Integer userId) {
501
+    public ResponseBean departureUser(@PathVariable("userId") Integer userId,
502
+                                      @RequestParam(value = "customerIdList", required = false) List<String> customerIdList,
503
+                                      @RequestParam(value = "consultantUserId", required = false) Integer consultantUserId) {
501
         ResponseBean responseBean = new ResponseBean();
504
         ResponseBean responseBean = new ResponseBean();
502
-        responseBean = iTaUserService.departureUser(userId);
503
-
504
-
505
+        responseBean = iTaUserService.departureUser(userId, customerIdList, consultantUserId);
505
         return responseBean;
506
         return responseBean;
506
     }
507
     }
507
 }
508
 }

+ 3
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserService.java View File

46
     /**
46
     /**
47
      * 员工离职
47
      * 员工离职
48
      * @param userId
48
      * @param userId
49
+     * @param customerIdList
50
+     * @param consultantUserId 置业顾问的userId
49
      * @return
51
      * @return
50
      */
52
      */
51
-    ResponseBean departureUser(Integer userId);
53
+    ResponseBean departureUser(Integer userId, List<String> customerIdList, Integer consultantUserId);
52
 }
54
 }

+ 41
- 16
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java View File

21
 import com.huiju.estateagents.mapper.*;
21
 import com.huiju.estateagents.mapper.*;
22
 import com.huiju.estateagents.service.ITaBuildingReportService;
22
 import com.huiju.estateagents.service.ITaBuildingReportService;
23
 import com.huiju.estateagents.service.ITaPersonService;
23
 import com.huiju.estateagents.service.ITaPersonService;
24
+import com.huiju.estateagents.service.ITaRecommendCustomerService;
24
 import com.huiju.estateagents.service.ITdReportService;
25
 import com.huiju.estateagents.service.ITdReportService;
25
 import org.apache.commons.collections.CollectionUtils;
26
 import org.apache.commons.collections.CollectionUtils;
26
 import org.springframework.beans.factory.annotation.Autowired;
27
 import org.springframework.beans.factory.annotation.Autowired;
84
 
85
 
85
 	@Autowired
86
 	@Autowired
86
 	private ITaPersonService iTaPersonService;
87
 	private ITaPersonService iTaPersonService;
88
+
89
+	@Autowired
90
+    private ITaRecommendCustomerService iTaRecommendCustomerService;
87
 	
91
 	
88
 	@Override
92
 	@Override
89
 	public IPage<Map<String,Object>> getPageList(IPage pg) {
93
 	public IPage<Map<String,Object>> getPageList(IPage pg) {
462
     }
466
     }
463
 
467
 
464
 	@Override
468
 	@Override
465
-	public ResponseBean departureUser(Integer userId) {
469
+	public ResponseBean departureUser(Integer userId, List<String> customerIdList, Integer consultantUserId) {
466
 		ResponseBean responseBean = new ResponseBean();
470
 		ResponseBean responseBean = new ResponseBean();
467
 		TaUser user = this.getById(userId);
471
 		TaUser user = this.getById(userId);
468
 		if (null == user) {
472
 		if (null == user) {
482
 
486
 
483
 		// 更改员工表的用户类型,清空关联关系user_id
487
 		// 更改员工表的用户类型,清空关联关系user_id
484
 
488
 
485
-		// 设置员工离职
486
-		updateUserStatus(user);
489
+        QueryWrapper<TaPerson> userQueryWrapper = new QueryWrapper<>();
490
+        userQueryWrapper.eq("user_id", consultantUserId);
491
+        TaPerson person = iTaPersonService.getOne(userQueryWrapper);
492
+        if (null == person) {
493
+            responseBean.addError("置业顾问未绑定小程序!");
494
+            return responseBean;
495
+        }
487
 
496
 
488
-		QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
489
-		taPersonQueryWrapper.eq("user_id", user.getUserId());
490
-		TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
491
-		// 可能存在置业顾问没有绑定小程序端
492
-		if (null != taPerson) {
493
-			UpdateWrapper<TaPerson> personUpdateWrapper = new UpdateWrapper<>();
494
-			personUpdateWrapper.eq("person_id", taPerson.getPersonId());
495
-			personUpdateWrapper.set("person_type", CommConstant.PERSON_ESTATE_CUSTOMER);
496
-			personUpdateWrapper.set("user_id", null);
497
-			iTaPersonService.update(personUpdateWrapper);
498
-		}
497
+        // 设置员工离职
498
+		updateUserStatus(user);
499
 
499
 
500
+		// 转移客户
501
+        UpdateWrapper<TaRecommendCustomer> updateWrapper = new UpdateWrapper<>();
502
+        updateWrapper.in("customer_id", customerIdList);
503
+        updateWrapper.set("realty_consultant", person.getPersonId());
504
+        boolean update = iTaRecommendCustomerService.update(updateWrapper);
505
+        if (!update) {
506
+            return ResponseBean.error("操作失败!", ResponseBean.ERROR_ILLEGAL_PARAMS);
507
+        }
500
 
508
 
501
 		return ResponseBean.success("操作成功!");
509
 		return ResponseBean.success("操作成功!");
502
 	}
510
 	}
503
 
511
 
504
 	private boolean updateUserStatus(TaUser user) {
512
 	private boolean updateUserStatus(TaUser user) {
505
-		user.setStatus(-1);
506
 		UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
513
 		UpdateWrapper<TaUser> updateWrapper = new UpdateWrapper<>();
507
 		updateWrapper.eq("user_id", user.getUserId());
514
 		updateWrapper.eq("user_id", user.getUserId());
508
-		updateWrapper.set("status", -1);
515
+		updateWrapper.set("status", 9);
516
+
517
+        QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
518
+        taPersonQueryWrapper.eq("user_id", user.getUserId());
519
+        TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
520
+        // 可能存在没有绑定小程序端
521
+        if (null != taPerson) {
522
+            UpdateWrapper<TaPerson> personUpdateWrapper = new UpdateWrapper<>();
523
+            personUpdateWrapper.eq("person_id", taPerson.getPersonId());
524
+
525
+            // 如果是置业顾问,设置为客户类型
526
+            if (user.getIsConsultant() == true) {
527
+                personUpdateWrapper.set("person_type", CommConstant.PERSON_ESTATE_CUSTOMER);
528
+            }
529
+
530
+            personUpdateWrapper.set("user_id", null);
531
+            iTaPersonService.update(personUpdateWrapper);
532
+        }
533
+
509
 		return this.update(updateWrapper);
534
 		return this.update(updateWrapper);
510
 	}
535
 	}
511
 }
536
 }

+ 45
- 0
src/main/java/com/huiju/estateagents/controller/TaRecommendCustomerController.java View File

8
 import com.baomidou.mybatisplus.core.metadata.IPage;
8
 import com.baomidou.mybatisplus.core.metadata.IPage;
9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10
 import com.huiju.estateagents.base.ResponseBean;
10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.taUser.entity.TaUser;
12
+import com.huiju.estateagents.center.taUser.service.ITaUserService;
11
 import com.huiju.estateagents.common.CommConstant;
13
 import com.huiju.estateagents.common.CommConstant;
12
 import com.huiju.estateagents.common.JWTUtils;
14
 import com.huiju.estateagents.common.JWTUtils;
13
 import com.huiju.estateagents.common.StringUtils;
15
 import com.huiju.estateagents.common.StringUtils;
74
     @Autowired
76
     @Autowired
75
     private TaPersonBuildingMapper taPersonBuildingMapper;
77
     private TaPersonBuildingMapper taPersonBuildingMapper;
76
 
78
 
79
+    @Autowired
80
+    private ITaPersonService iTaPersonService;
81
+
82
+    @Autowired
83
+    private ITaUserService iTaUserService;
84
+
77
 
85
 
78
     /**
86
     /**
79
      * 我的客户列表
87
      * 我的客户列表
99
         return taRecommendCustomerService.getMyCustList(openid, keywords, pageNumber, pageSize);
107
         return taRecommendCustomerService.getMyCustList(openid, keywords, pageNumber, pageSize);
100
     }
108
     }
101
 
109
 
110
+    /**
111
+     * 我的客户列表
112
+     * @param pageNumber
113
+     * @param pageSize
114
+     * @param keywords
115
+     * @param request
116
+     * @return
117
+     */
118
+    @GetMapping("/admin/customer/list/{userId}")
119
+    @ApiOperation(value = "查询我的客户列表", notes = "查询我的客户列表")
120
+    @ApiImplicitParams({
121
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"),
122
+            @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"),
123
+            @ApiImplicitParam(dataTypeClass = String.class, name = "keywords", paramType = "query",value = "搜索关键字,目前仅支持姓名")
124
+    })
125
+    public ResponseBean getAdminMyCustList(@RequestParam int pageNumber,
126
+                                           @RequestParam int pageSize,
127
+                                           @RequestParam(required = false) String keywords,
128
+                                           @PathVariable("userId") Integer userId,
129
+                                           HttpServletRequest request) {
130
+        if (pageNumber < 0 || pageSize < 0) {
131
+            return ResponseBean.error("分页参数不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
132
+        }
133
+
134
+        TaUser user = iTaUserService.getById(userId);
135
+        if (null == user) {
136
+            return ResponseBean.error("员工不存在!", ResponseBean.ERROR_ILLEGAL_PARAMS);
137
+        }
138
+        QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
139
+        personQueryWrapper.eq("user_id", userId);
140
+        TaPerson person = iTaPersonService.getOne(personQueryWrapper);
141
+        if (null == person) {
142
+            return ResponseBean.error("未绑定小程序!", ResponseBean.ERROR_ILLEGAL_PARAMS);
143
+        }
144
+        return taRecommendCustomerService.getAdminMyCustList(person.getMiniOpenid(), keywords, pageNumber, pageSize);
145
+    }
146
+
102
     /**
147
     /**
103
      * 客户详情
148
      * 客户详情
104
      * @param id
149
      * @param id

+ 10
- 0
src/main/java/com/huiju/estateagents/service/ITaRecommendCustomerService.java View File

137
      * @return
137
      * @return
138
      */
138
      */
139
     ResponseBean updateMyCust(TaRecommendCustomer taRecommendCustomer, String openid);
139
     ResponseBean updateMyCust(TaRecommendCustomer taRecommendCustomer, String openid);
140
+
141
+    /**
142
+     * 查询置业顾问的 归属客户
143
+     * @param openid
144
+     * @param keywords
145
+     * @param pageNumber
146
+     * @param pageSize
147
+     * @return
148
+     */
149
+    ResponseBean getAdminMyCustList(String openid, String keywords, int pageNumber, int pageSize);
140
 }
150
 }

+ 22
- 0
src/main/java/com/huiju/estateagents/service/impl/TaRecommendCustomerServiceImpl.java View File

86
         return ResponseBean.success(result);
86
         return ResponseBean.success(result);
87
     }
87
     }
88
 
88
 
89
+    @Override
90
+    public ResponseBean getAdminMyCustList(String openid, String keywords, int pageNumber, int pageSize) {
91
+        List<TaPerson> taPersons = getPersonsByOpenId(openid);
92
+        if (null == taPersons || taPersons.size() != 1) {
93
+            return ResponseBean.error("验证当前人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
94
+        }
95
+
96
+        TaPerson taPerson = taPersons.get(0);
97
+
98
+        IPage<TaRecommendCustomer> page = new Page<>();
99
+        page.setCurrent(pageNumber);
100
+        page.setSize(pageSize);
101
+
102
+        QueryWrapper<TaRecommendCustomer> query = new QueryWrapper<>();
103
+        query.eq("realty_consultant", taPerson.getPersonId());
104
+        query.like(null != keywords && "".equals(keywords.trim()), "name", keywords);
105
+        query.orderByDesc("report_date");
106
+
107
+        IPage<TaRecommendCustomer> result = taRecommendCustomerMapper.selectPage(page, query);
108
+        return ResponseBean.success(result);
109
+    }
110
+
89
     @Override
111
     @Override
90
     public ResponseBean getCustDetail(String id) {
112
     public ResponseBean getCustDetail(String id) {
91
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectById(id);
113
         TaRecommendCustomer taRecommendCustomer = taRecommendCustomerMapper.selectById(id);