Sfoglia il codice sorgente

员工列表和楼盘下拉选框后台改造

傅行帆 5 anni fa
parent
commit
ccfe545219

+ 12
- 3
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserController.java Vedi File

@@ -427,9 +427,18 @@ public class TaUserController extends BaseController {
427 427
             taUser.setLoginPassword("");
428 428
             QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
429 429
             taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
430
-            TaPersonBuilding taPersonBuilding = taPersonBuildingService.getOne(taPersonBuildingQueryWrapper);
431
-            if (null != taPersonBuilding){
432
-                taUser.setBuildingId(taPersonBuilding.getBuildingId());
430
+            List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingService.list(taPersonBuildingQueryWrapper);
431
+            //非置业顾问可以授权多个项目
432
+            if (taPersonBuildingList.size() > 0){
433
+                if (taUser.getIsConsultant()){
434
+                    taUser.setBuildingId(taPersonBuildingList.get(0).getBuildingId());
435
+                }else {
436
+                    List<String> buildings = new ArrayList<>();
437
+                    taPersonBuildingList.forEach(e -> {
438
+                        buildings.add(e.getBuildingId());
439
+                    });
440
+                    taUser.setBuildingIds(buildings);
441
+                }
433 442
             }
434 443
             responseBean.addSuccess(taUser);
435 444
         }catch (Exception e){

+ 3
- 0
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Vedi File

@@ -198,4 +198,7 @@ public class TaUser implements Serializable {
198 198
      */
199 199
     @TableField(exist = false)
200 200
     private Integer miniStatus;
201
+
202
+    @TableField(exist = false)
203
+    private List<String> buildingIds = new ArrayList<String>();
201 204
 }

+ 37
- 10
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserServiceImpl.java Vedi File

@@ -364,11 +364,25 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
364 364
 		});
365 365
 		
366 366
 		//保存项目
367
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
368
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
369
-		taPersonBuilding.setUserId(taUser.getUserId());
370
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
371
-		taPersonBuildingMapper.insert(taPersonBuilding);
367
+		if (taUser.getIsConsultant()){
368
+			TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
369
+			taPersonBuilding.setBuildingId(taUser.getBuildingId());
370
+			taPersonBuilding.setUserId(taUser.getUserId());
371
+			taPersonBuilding.setCreateDate(LocalDateTime.now());
372
+			taPersonBuildingMapper.insert(taPersonBuilding);
373
+		}else{
374
+			//非置业顾问可授权多个项目
375
+			List<String> buildingIdList = taUser.getBuildingIds();
376
+			LocalDateTime nowTime = LocalDateTime.now();
377
+			buildingIdList.forEach(e -> {
378
+				TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
379
+				taPersonBuilding.setBuildingId(e);
380
+				taPersonBuilding.setUserId(taUser.getUserId());
381
+				taPersonBuilding.setCreateDate(nowTime);
382
+				taPersonBuildingMapper.insert(taPersonBuilding);
383
+			});
384
+		}
385
+
372 386
 		return taUser;
373 387
 	}
374 388
 	
@@ -424,11 +438,24 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
424 438
 		taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
425 439
 		taPersonBuildingMapper.delete(taPersonBuildingQueryWrapper);
426 440
 		//保存项目
427
-		TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
428
-		taPersonBuilding.setBuildingId(taUser.getBuildingId());
429
-		taPersonBuilding.setUserId(taUser.getUserId());
430
-		taPersonBuilding.setCreateDate(LocalDateTime.now());
431
-		taPersonBuildingMapper.insert(taPersonBuilding);
441
+		if (taUser.getIsConsultant()){
442
+			TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
443
+			taPersonBuilding.setBuildingId(taUser.getBuildingId());
444
+			taPersonBuilding.setUserId(taUser.getUserId());
445
+			taPersonBuilding.setCreateDate(LocalDateTime.now());
446
+			taPersonBuildingMapper.insert(taPersonBuilding);
447
+		}else {
448
+			//非置业顾问可授权多个项目
449
+			List<String> buildingIdList = taUser.getBuildingIds();
450
+			LocalDateTime nowTime = LocalDateTime.now();
451
+			buildingIdList.forEach(e -> {
452
+				TaPersonBuilding taPersonBuilding = new TaPersonBuilding();
453
+				taPersonBuilding.setBuildingId(e);
454
+				taPersonBuilding.setUserId(taUser.getUserId());
455
+				taPersonBuilding.setCreateDate(nowTime);
456
+				taPersonBuildingMapper.insert(taPersonBuilding);
457
+			});
458
+		}
432 459
 		
433 460
 		//更新person
434 461
 		TaPerson taPerson = new TaPerson();

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Vedi File

@@ -141,7 +141,7 @@ public class TaBuildingController extends BaseController {
141 141
                                      @RequestParam(value = "cityId",required = false)Integer cityId,
142 142
                                      @RequestParam(value = "isMain",required = false)Integer isMain,
143 143
                                            HttpServletRequest request){
144
-        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,getOrgId(request));
144
+        return taBuildingService.buildingListSelect(pageNum,pageSize,name,code,startDate,buildingStatus,marketStatus,cityId,isMain,getOrgId(request),getUserId(request));
145 145
     }
146 146
 
147 147
     /**

+ 3
- 3
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java Vedi File

@@ -1,12 +1,11 @@
1 1
 package com.huiju.estateagents.mapper;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 4
 import com.huiju.estateagents.entity.TaBuilding;
6 5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
+import com.huiju.estateagents.entity.TaPersonBuilding;
7 7
 import org.apache.ibatis.annotations.Mapper;
8 8
 import org.apache.ibatis.annotations.Param;
9
-import org.apache.ibatis.annotations.Select;
10 9
 import org.apache.ibatis.annotations.Update;
11 10
 
12 11
 import java.time.LocalDateTime;
@@ -33,9 +32,10 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
33 32
     /**
34 33
      * 楼盘列表
35 34
      * @param page
35
+     * @param
36 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,@Param("orgId") Integer orgId);
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, @Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
39 39
 
40 40
 
41 41
     @Update("UPDATE ta_building  SET ${field} = IFNULL(${field}, 0) + #{increment}  WHERE building_id = #{buildingId}")

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java Vedi File

@@ -31,7 +31,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
31 31
      * @param pageSize
32 32
      * @return
33 33
      */
34
-    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId);
34
+    ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId,Integer userId);
35 35
 
36 36
     /**
37 37
      * 楼盘详情

+ 17
- 2
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Vedi File

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
8 8
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
9 9
 import com.google.common.collect.Lists;
10 10
 import com.huiju.estateagents.base.ResponseBean;
11
+import com.huiju.estateagents.center.taUser.entity.TaUser;
12
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11 13
 import com.huiju.estateagents.common.CommConstant;
12 14
 import com.huiju.estateagents.common.DateUtils;
13 15
 import com.huiju.estateagents.common.StringUtils;
@@ -88,6 +90,12 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
88 90
     @Autowired
89 91
     private ITaBuildingMapRelationService iTaBuildingMapRelationService;
90 92
 
93
+    @Autowired
94
+    private TaUserMapper taUserMapper;
95
+
96
+    @Autowired
97
+    private TaPersonBuildingMapper taPersonBuildingMapper;
98
+
91 99
     @Override
92 100
     public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId) {
93 101
         Page<TaBuilding> page = new Page<>();
@@ -123,11 +131,18 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
123 131
         return ResponseBean.success(page);
124 132
     }
125 133
     @Override
126
-    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId) {
134
+    public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain,Integer orgId,Integer userId) {
127 135
         Page<TaBuilding> page = new Page<>();
128 136
         page.setSize(pageSize == null ? 10 : pageSize);
129 137
         page.setCurrent(pageNum == null ? 1 : pageNum);
130
-        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId);
138
+        TaUser taUser = taUserMapper.selectById(userId);
139
+        QueryWrapper<TaPersonBuilding> taPersonBuildingQueryWrapper = new QueryWrapper<>();
140
+        taPersonBuildingQueryWrapper.eq("user_id",taUser.getUserId());
141
+        List<TaPersonBuilding> taPersonBuildingList = taPersonBuildingMapper.selectList(taPersonBuildingQueryWrapper);
142
+        if (null != taUser.getIsAdmin() && taUser.getIsAdmin()){
143
+            taPersonBuildingList = new ArrayList<>();
144
+        }
145
+        List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain,orgId,taPersonBuildingList);
131 146
         page.setRecords(building);
132 147
 
133 148
         return ResponseBean.success(page);

+ 6
- 0
src/main/resources/mapper/TaBuildingMapper.xml Vedi File

@@ -59,6 +59,12 @@
59 59
             <if test="orgId != null and orgId != ''">
60 60
                 and  ta_building.org_id = #{orgId}
61 61
             </if>
62
+            <if test="personBuildingList != null and personBuildingList.size > 0">
63
+                AND ta_building.building_id in
64
+                <foreach collection="personBuildingList" item="personBuilding" open="(" close=")" separator=",">
65
+                    #{personBuilding.buildingId}
66
+                </foreach>
67
+            </if>
62 68
         </where>
63 69
         ORDER BY create_date DESC,status asc
64 70
     </select>