Browse Source

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

张延森 5 years ago
parent
commit
44c6b0d063

+ 6
- 1
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java View File

112
     private String address;
112
     private String address;
113
     private String photo;
113
     private String photo;
114
     private String description;
114
     private String description;
115
-    
115
+
116
+    /**
117
+     * 权重
118
+     */
119
+    private String weight;
120
+
116
     /**
121
     /**
117
      * 是否置业顾问
122
      * 是否置业顾问
118
      */
123
      */

+ 2
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserMapper.java View File

29
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("loginName") String loginName,@Param("orgId") Integer orgId);
29
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("loginName") String loginName,@Param("orgId") Integer orgId);
30
 
30
 
31
     IPage<TaUser> seleUserList(IPage pg,@Param("taUser") TaUser taUser,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
31
     IPage<TaUser> seleUserList(IPage pg,@Param("taUser") TaUser taUser,@Param("personBuildingList") List<TaPersonBuilding> personBuildingList);
32
+
33
+    Integer validateWeight(@Param("buildingIds") List<String> buildingIds, @Param("buildingId") String buildingId, @Param("weight") String weight, @Param("userId")Integer userId);
32
 }
34
 }

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

378
 		if (StringUtils.isEmpty(taUser.getLoginName())) {
378
 		if (StringUtils.isEmpty(taUser.getLoginName())) {
379
 			taUser.setLoginName(taUser.getPhone());
379
 			taUser.setLoginName(taUser.getPhone());
380
 		}
380
 		}
381
-		
381
+
382
+		boolean weightCount = validateWeight(taUser, "add");
383
+		if(weightCount){
384
+			throw new Exception("同一项目下权重值不能重复");
385
+		}
386
+
382
 		List<TaUser> taUserList = taUserMapper.getUserList(taUser.getPhone(),taUser.getLoginName(),null);
387
 		List<TaUser> taUserList = taUserMapper.getUserList(taUser.getPhone(),taUser.getLoginName(),null);
383
 		if (null != taUserList && taUserList.size() > 0) {
388
 		if (null != taUserList && taUserList.size() > 0) {
384
 			throw new Exception("电话号码或登录名重复");
389
 			throw new Exception("电话号码或登录名重复");
443
 		if (StringUtils.isEmpty(taUser.getUserName())) {
448
 		if (StringUtils.isEmpty(taUser.getUserName())) {
444
 			throw new Exception("用户名称不能为空");
449
 			throw new Exception("用户名称不能为空");
445
 		}
450
 		}
451
+		if (!StringUtils.isEmpty(taUser.getWeight()) && taUser.getWeight().length() > 11){
452
+			throw new Exception("权重最大为11位");
453
+		}
446
 		if(StringUtils.isEmpty(taUser.getLoginName()) && taUserBefore.getLoginName().equals(taUserBefore.getPhone())){
454
 		if(StringUtils.isEmpty(taUser.getLoginName()) && taUserBefore.getLoginName().equals(taUserBefore.getPhone())){
447
 			taUser.setLoginName(taUser.getPhone());
455
 			taUser.setLoginName(taUser.getPhone());
448
 		}
456
 		}
449
 
457
 
458
+		boolean weightCount = validateWeight(taUser, "update");
459
+		if(weightCount){
460
+			throw new Exception("同一项目下权重值不能重复");
461
+		}
462
+
450
 		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
463
 		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
451
 		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));
464
 		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));
452
 		wrapper.eq("org_id",taUser.getOrgId());
465
 		wrapper.eq("org_id",taUser.getOrgId());
625
 
638
 
626
 		return this.update(updateWrapper);
639
 		return this.update(updateWrapper);
627
 	}
640
 	}
641
+
642
+	public boolean validateWeight(TaUser taUser, String operateType){
643
+		Integer count;
644
+		if(taUser.getIsConsultant() != null && taUser.getIsConsultant()){
645
+			String buildingId = taUser.getBuildingId();
646
+			String weight = taUser.getWeight();
647
+			count = taUserMapper.validateWeight(null, buildingId, weight, operateType.equals("add") ? null : taUser.getUserId());
648
+		}else{
649
+			List<String> buildingIds = taUser.getBuildingIds();
650
+			String weight = taUser.getWeight();
651
+			count = taUserMapper.validateWeight(buildingIds, null, weight, operateType.equals("add") ? null : taUser.getUserId());
652
+		}
653
+
654
+		if (count > 0 ){
655
+			return true;
656
+		}
657
+		return false;
658
+	}
659
+
628
 }
660
 }

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

268
             @RequestParam(required = false) String buildingType, // 项目类型Id
268
             @RequestParam(required = false) String buildingType, // 项目类型Id
269
             @RequestParam(required = false) String houseType, // 户型
269
             @RequestParam(required = false) String houseType, // 户型
270
             @RequestParam(required = false) String price,   // 价格
270
             @RequestParam(required = false) String price,   // 价格
271
+            @RequestParam(required = false) String priceType,   // 价格类型
271
             @RequestParam(required = false) String area,    // 面积
272
             @RequestParam(required = false) String area,    // 面积
272
 //            @RequestParam(required = false) Integer minPrice, // 最低价格
273
 //            @RequestParam(required = false) Integer minPrice, // 最低价格
273
 //            @RequestParam(required = false) Integer maxPrice, // 最高价格
274
 //            @RequestParam(required = false) Integer maxPrice, // 最高价格
292
         List<String[]> priceList = getParamListOf(price);
293
         List<String[]> priceList = getParamListOf(price);
293
         List<String[]> areaList = getParamListOf(area);
294
         List<String[]> areaList = getParamListOf(area);
294
 
295
 
295
-        return taBuildingService.getWxBuildingList(pageNumber, pageSize, name, targets, cityId,mine, houseTypeList, buildingTypeList, priceList, areaList,orgId);
296
+        return taBuildingService.getWxBuildingList(pageNumber, pageSize, name, targets, cityId,mine, houseTypeList, buildingTypeList, priceList, areaList,orgId,priceType);
296
     }
297
     }
297
 
298
 
298
 
299
 

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java View File

308
      */
308
      */
309
     @TableField(exist = false)
309
     @TableField(exist = false)
310
     private List<TaBuildingPanorama> panoramaList;
310
     private List<TaBuildingPanorama> panoramaList;
311
+
312
+    /**
313
+     * 户型类型id
314
+     */
315
+    private Integer buildingTypeId;
311
 }
316
 }

+ 20
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingProjectType.java View File

57
 
57
 
58
     private String buildingTypeName;
58
     private String buildingTypeName;
59
 
59
 
60
+    /**
61
+     * 最低价
62
+     */
63
+    private Integer startPrice;
64
+
65
+    /**
66
+     * 最高价
67
+     */
68
+    private Integer endPrice;
69
+
70
+    /**
71
+     * 价格类型
72
+     */
73
+    private String priceType;
74
+
75
+    /**
76
+     * 销售状态
77
+     */
78
+    private String marketStatus;
79
+
60
 
80
 
61
 }
81
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java View File

77
                                          @Param("buildingTypeList") String[] buildingTypeList,
77
                                          @Param("buildingTypeList") String[] buildingTypeList,
78
                                          @Param("priceList") List<String[]> priceList,
78
                                          @Param("priceList") List<String[]> priceList,
79
                                          @Param("areaList") List<String[]> areaList,
79
                                          @Param("areaList") List<String[]> areaList,
80
-                                         @Param("orgId")Integer orgId);
80
+                                         @Param("orgId")Integer orgId,
81
+                                         @Param("priceType") String priceType);
81
 
82
 
82
     /**
83
     /**
83
      * 根据项目类型Id 查询
84
      * 根据项目类型Id 查询

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

127
             String[] buildingTypeList,
127
             String[] buildingTypeList,
128
             List<String[]> priceList,
128
             List<String[]> priceList,
129
             List<String[]> areaList,
129
             List<String[]> areaList,
130
-            Integer orgId);
130
+            Integer orgId,String priceType);
131
 
131
 
132
     /**
132
     /**
133
      * 微信小程序 楼盘列表
133
      * 微信小程序 楼盘列表

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

698
             String[] buildingTypeList,
698
             String[] buildingTypeList,
699
             List<String[]> priceList,
699
             List<String[]> priceList,
700
             List<String[]> areaList,
700
             List<String[]> areaList,
701
-            Integer orgId) {
701
+            Integer orgId,String priceType) {
702
         IPage<TaBuilding> page = new Page<>(pageNum, pageSize);
702
         IPage<TaBuilding> page = new Page<>(pageNum, pageSize);
703
 
703
 
704
         if(CollectionUtils.isEmpty(targets) && mine){
704
         if(CollectionUtils.isEmpty(targets) && mine){
716
 //
716
 //
717
 //        IPage<TaBuilding> result = taBuildingMapper.selectPage(page, buildingQueryWrapper);
717
 //        IPage<TaBuilding> result = taBuildingMapper.selectPage(page, buildingQueryWrapper);
718
 
718
 
719
-        IPage<TaBuilding> result = taBuildingMapper.selectBuildingPage(page, name, cityId, targets, houseTypeList, buildingTypeList, priceList, areaList,orgId);
719
+        IPage<TaBuilding> result = taBuildingMapper.selectBuildingPage(page, name, cityId, targets, houseTypeList, buildingTypeList, priceList, areaList,orgId,priceType);
720
 
720
 
721
         List<TaBuilding> buildingList = result.getRecords();
721
         List<TaBuilding> buildingList = result.getRecords();
722
         if (CollectionUtils.isNotEmpty(buildingList)) {
722
         if (CollectionUtils.isNotEmpty(buildingList)) {

+ 8
- 5
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java View File

133
 			}
133
 			}
134
 
134
 
135
 			QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
135
 			QueryWrapper<TaPerson> queryWrapper = new QueryWrapper<>();
136
-			queryWrapper.eq("user_id", e.getSharePersonId()).or().eq("person_id", e.getSharePersonId());
136
+			queryWrapper.eq("person_id", e.getSharePersonId());
137
 			TaPerson userShareInfo = taPersonMapper.selectOne(queryWrapper);
137
 			TaPerson userShareInfo = taPersonMapper.selectOne(queryWrapper);
138
-			if (userShareInfo != null) {
139
-				e.setShareName(userShareInfo.getNickname());
140
-				e.setShareTel(userShareInfo.getPhone());
141
-			}
138
+
139
+			QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
140
+			taPersonQueryWrapper.eq("user_id", e.getSharePersonId());
141
+			TaPerson taPersonUser = taPersonMapper.selectOne(taPersonQueryWrapper);
142
+
143
+			e.setShareName(userShareInfo == null ? taPersonUser.getNickname() : userShareInfo.getNickname());
144
+			e.setShareTel(userShareInfo == null ? taPersonUser.getPhone() :userShareInfo.getPhone());
142
 
145
 
143
 			if (CommConstant.H5_SHARE.equals(e.getEventType())) {
146
 			if (CommConstant.H5_SHARE.equals(e.getEventType())) {
144
 				e.setActivityName(e.getDrainageName());
147
 				e.setActivityName(e.getDrainageName());

+ 6
- 2
src/main/resources/mapper/TaBuildingMapper.xml View File

133
                         <foreach collection="priceList" item="priceArr" open="(" close=")" separator=" OR ">
133
                         <foreach collection="priceList" item="priceArr" open="(" close=")" separator=" OR ">
134
                             (
134
                             (
135
                                 <if test='priceArr[0] != null and priceArr[0] != ""'>
135
                                 <if test='priceArr[0] != null and priceArr[0] != ""'>
136
-                                    <![CDATA[ price >= ${priceArr[0]}  ]]>
136
+                                    <![CDATA[ startPrice >= ${priceArr[0]}  ]]>
137
                                 </if>
137
                                 </if>
138
                                 <if test='priceArr.length > 1 and priceArr[0] != null and priceArr[0] != ""'>
138
                                 <if test='priceArr.length > 1 and priceArr[0] != null and priceArr[0] != ""'>
139
                                     AND
139
                                     AND
140
                                 </if>
140
                                 </if>
141
                                 <if test='priceArr.length > 1 and priceArr[1] != null and priceArr[1] != ""'>
141
                                 <if test='priceArr.length > 1 and priceArr[1] != null and priceArr[1] != ""'>
142
-                                    <![CDATA[ price <= ${priceArr[1]}  ]]>
142
+                                    <![CDATA[ endPrice <= ${priceArr[1]}  ]]>
143
                                 </if>
143
                                 </if>
144
                             )
144
                             )
145
                         </foreach>
145
                         </foreach>
146
                     </if>
146
                     </if>
147
 
147
 
148
+                    <if test="priceType != null and priceType != ''">
149
+                        and price_type = #{priceType}
150
+                    </if>
151
+
148
                     <if test="buildingTypeList != null and buildingTypeList.length > 0">
152
                     <if test="buildingTypeList != null and buildingTypeList.length > 0">
149
                         AND building_type_id in
153
                         AND building_type_id in
150
                         <foreach collection="buildingTypeList" item="buildingType" open="(" close=")" separator=",">
154
                         <foreach collection="buildingTypeList" item="buildingType" open="(" close=")" separator=",">

+ 2
- 2
src/main/resources/mapper/TaBuildingProjectTypeMapper.xml View File

4
 
4
 
5
     <insert id="insertBuildingProjectTypeBatch" parameterType="list" >
5
     <insert id="insertBuildingProjectTypeBatch" parameterType="list" >
6
         insert into ta_building_project_type
6
         insert into ta_building_project_type
7
-        (building_id, price, decoration, rights_year, status, building_type_id, building_type_name)
7
+        (building_id, price, decoration, rights_year, status, building_type_id, building_type_name, start_price, end_price, price_type, market_status)
8
         values
8
         values
9
         <foreach collection="list" item="item" separator=",">
9
         <foreach collection="list" item="item" separator=",">
10
             (#{buildingId}, #{item.price}, #{item.decoration}, #{item.rightsYear}
10
             (#{buildingId}, #{item.price}, #{item.decoration}, #{item.rightsYear}
11
-            , #{item.status}, #{item.buildingTypeId}, #{item.buildingTypeName})
11
+            , #{item.status}, #{item.buildingTypeId}, #{item.buildingTypeName} , #{item.startPrice}, #{item.endPrice}, #{item.priceType}, #{item.marketStatus})
12
         </foreach>
12
         </foreach>
13
     </insert>
13
     </insert>
14
 
14
 

+ 1
- 1
src/main/resources/mapper/TaPersonMapper.xml View File

50
         and t.org_id = #{orgId}
50
         and t.org_id = #{orgId}
51
         and u.org_id = #{orgId}
51
         and u.org_id = #{orgId}
52
         and u.status = 1
52
         and u.status = 1
53
-        ORDER BY
53
+        ORDER BY u.weight desc,
54
             t.create_date DESC
54
             t.create_date DESC
55
     </select>
55
     </select>
56
 
56
 

+ 23
- 0
src/main/resources/mapper/TaUserMapper.xml View File

87
                 </foreach>
87
                 </foreach>
88
             </if>
88
             </if>
89
             GROUP BY user_id
89
             GROUP BY user_id
90
+            order by t.weight desc, create_date desc
90
     </select>
91
     </select>
92
+
93
+    <select id="validateWeight" resultType="integer">
94
+      select count(*) from ta_user t
95
+      LEFT JOIN ta_person_building a on t.user_id = a.user_id
96
+      where 1=1
97
+      <if test="weight != null and weight != ''">
98
+          and t.weight = #{weight}
99
+      </if>
100
+      <if test="buildingIds != null and buildingIds.size() > 0 ">
101
+          and a.building_id in
102
+          <foreach collection="buildingIds" item="item" index="index" open="(" close=")" separator=",">
103
+              #{item}
104
+          </foreach>
105
+      </if>
106
+      <if test="buildingId != null and buildingId != '' ">
107
+          and a.building_id = #{buildingId}
108
+      </if>
109
+      <if test="userId != null and userId != ''">
110
+          and t.user_id != #{userId}
111
+      </if>
112
+    </select>
113
+
91
 </mapper>
114
 </mapper>