Przeglądaj źródła

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

张延森 5 lat temu
rodzic
commit
44c6b0d063

+ 6
- 1
src/main/java/com/huiju/estateagents/center/taUser/entity/TaUser.java Wyświetl plik

@@ -112,7 +112,12 @@ public class TaUser implements Serializable {
112 112
     private String address;
113 113
     private String photo;
114 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 Wyświetl plik

@@ -29,4 +29,6 @@ public interface TaUserMapper extends BaseMapper<TaUser> {
29 29
 	List<TaUser> getUserList(@Param("phone") String phone,@Param("loginName") String loginName,@Param("orgId") Integer orgId);
30 30
 
31 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 Wyświetl plik

@@ -378,7 +378,12 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
378 378
 		if (StringUtils.isEmpty(taUser.getLoginName())) {
379 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 387
 		List<TaUser> taUserList = taUserMapper.getUserList(taUser.getPhone(),taUser.getLoginName(),null);
383 388
 		if (null != taUserList && taUserList.size() > 0) {
384 389
 			throw new Exception("电话号码或登录名重复");
@@ -443,10 +448,18 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
443 448
 		if (StringUtils.isEmpty(taUser.getUserName())) {
444 449
 			throw new Exception("用户名称不能为空");
445 450
 		}
451
+		if (!StringUtils.isEmpty(taUser.getWeight()) && taUser.getWeight().length() > 11){
452
+			throw new Exception("权重最大为11位");
453
+		}
446 454
 		if(StringUtils.isEmpty(taUser.getLoginName()) && taUserBefore.getLoginName().equals(taUserBefore.getPhone())){
447 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 463
 		QueryWrapper<TaUser> wrapper = new QueryWrapper<>();
451 464
 		wrapper.nested(q -> q.eq("phone", taUser.getPhone()).or().eq("login_Name", taUser.getLoginName()));
452 465
 		wrapper.eq("org_id",taUser.getOrgId());
@@ -625,4 +638,23 @@ public class TaUserServiceImpl extends ServiceImpl<TaUserMapper, TaUser> impleme
625 638
 
626 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 Wyświetl plik

@@ -268,6 +268,7 @@ public class TaBuildingController extends BaseController {
268 268
             @RequestParam(required = false) String buildingType, // 项目类型Id
269 269
             @RequestParam(required = false) String houseType, // 户型
270 270
             @RequestParam(required = false) String price,   // 价格
271
+            @RequestParam(required = false) String priceType,   // 价格类型
271 272
             @RequestParam(required = false) String area,    // 面积
272 273
 //            @RequestParam(required = false) Integer minPrice, // 最低价格
273 274
 //            @RequestParam(required = false) Integer maxPrice, // 最高价格
@@ -292,7 +293,7 @@ public class TaBuildingController extends BaseController {
292 293
         List<String[]> priceList = getParamListOf(price);
293 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 Wyświetl plik

@@ -308,4 +308,9 @@ public class TaBuilding implements Serializable {
308 308
      */
309 309
     @TableField(exist = false)
310 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 Wyświetl plik

@@ -57,5 +57,25 @@ public class TaBuildingProjectType implements Serializable {
57 57
 
58 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 Wyświetl plik

@@ -77,7 +77,8 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
77 77
                                          @Param("buildingTypeList") String[] buildingTypeList,
78 78
                                          @Param("priceList") List<String[]> priceList,
79 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 84
      * 根据项目类型Id 查询

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java Wyświetl plik

@@ -127,7 +127,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
127 127
             String[] buildingTypeList,
128 128
             List<String[]> priceList,
129 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 Wyświetl plik

@@ -698,7 +698,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
698 698
             String[] buildingTypeList,
699 699
             List<String[]> priceList,
700 700
             List<String[]> areaList,
701
-            Integer orgId) {
701
+            Integer orgId,String priceType) {
702 702
         IPage<TaBuilding> page = new Page<>(pageNum, pageSize);
703 703
 
704 704
         if(CollectionUtils.isEmpty(targets) && mine){
@@ -716,7 +716,7 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
716 716
 //
717 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 721
         List<TaBuilding> buildingList = result.getRecords();
722 722
         if (CollectionUtils.isNotEmpty(buildingList)) {

+ 8
- 5
src/main/java/com/huiju/estateagents/service/impl/TaPersonVisitRecordServiceImpl.java Wyświetl plik

@@ -133,12 +133,15 @@ public class TaPersonVisitRecordServiceImpl extends ServiceImpl<TaPersonVisitRec
133 133
 			}
134 134
 
135 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 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 146
 			if (CommConstant.H5_SHARE.equals(e.getEventType())) {
144 147
 				e.setActivityName(e.getDrainageName());

+ 6
- 2
src/main/resources/mapper/TaBuildingMapper.xml Wyświetl plik

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

+ 2
- 2
src/main/resources/mapper/TaBuildingProjectTypeMapper.xml Wyświetl plik

@@ -4,11 +4,11 @@
4 4
 
5 5
     <insert id="insertBuildingProjectTypeBatch" parameterType="list" >
6 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 8
         values
9 9
         <foreach collection="list" item="item" separator=",">
10 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 12
         </foreach>
13 13
     </insert>
14 14
 

+ 1
- 1
src/main/resources/mapper/TaPersonMapper.xml Wyświetl plik

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

+ 23
- 0
src/main/resources/mapper/TaUserMapper.xml Wyświetl plik

@@ -87,5 +87,28 @@
87 87
                 </foreach>
88 88
             </if>
89 89
             GROUP BY user_id
90
+            order by t.weight desc, create_date desc
90 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 114
 </mapper>