dingxin il y a 6 ans
Parent
révision
0573f55908

+ 5
- 1
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/MonitoringServiceImpl.java Voir le fichier

@@ -63,6 +63,9 @@ public class MonitoringServiceImpl implements IMonitoringService {
63 63
     @Autowired
64 64
     private YinShiProperties yinShiProperties;
65 65
 
66
+    @Autowired
67
+    private ToCommunitiesMapper toCommunitiesMapper;
68
+
66 69
     @Override
67 70
     public ResponseBean getByCommunityId(Integer communityId,Integer pageNo, Integer pageSize) {
68 71
 
@@ -182,6 +185,7 @@ public class MonitoringServiceImpl implements IMonitoringService {
182 185
     public ResponseBean getIntercomHLS(UserElement userElement) {
183 186
         ResponseBean responseBean = new ResponseBean();
184 187
 
188
+        ToCommunities toCommunities = toCommunitiesMapper.selectByPrimaryKey(userElement.getCommunityId());
185 189
         TpUnit tpUnit = tpUnitMapper.selectByPrimaryKey(userElement.getUnitId());
186 190
 
187 191
         /**
@@ -225,7 +229,7 @@ public class MonitoringServiceImpl implements IMonitoringService {
225 229
         map.put("url", tpConfiguration.getConfigurationValue());
226 230
         // 高清视频流地址
227 231
         map.put("url_high", tpConfiguration.getKey());
228
-        map.put("address", tpUnit.getPhaseName() + tpUnit.getBuildingName() + tpUnit.getName());
232
+        map.put("address", toCommunities.getCommunityName() + tpUnit.getPhaseName() + tpUnit.getBuildingName() + tpUnit.getName());
229 233
         map.put("token", tpEquipment.getOpUserUuid());
230 234
         responseBean.addSuccess(map);
231 235
         return responseBean;

+ 4
- 4
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/TpRentalHouseController.java Voir le fichier

@@ -48,8 +48,8 @@ public class TpRentalHouseController extends BaseController {
48 48
 	@ApiImplicitParams({
49 49
 			@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "房间编号"),
50 50
 			@ApiImplicitParam(paramType = "query", dataType = "String", name = "houseName", value = "房间名称"),
51
-			@ApiImplicitParam(paramType = "query", dataType = "String", name = "startPrice", value = "开始价格"),
52
-			@ApiImplicitParam(paramType = "query", dataType = "String", name = "endPrice", value = "结束价格"),
51
+			@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "startPrice", value = "开始价格"),
52
+			@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "endPrice", value = "结束价格"),
53 53
 			@ApiImplicitParam(paramType = "query", dataType = "String", name = "rentalType", value = "租赁方式"),
54 54
 			@ApiImplicitParam(paramType = "query", dataType = "String", name = "houseType", value = "户型"),
55 55
 			@ApiImplicitParam(paramType = "query", dataType = "String", name = "houseStatus", value = "上架状态"),
@@ -60,8 +60,8 @@ public class TpRentalHouseController extends BaseController {
60 60
 	@RequestMapping(value = "/rentals",method = RequestMethod.GET)
61 61
 	public ResponseBean getRentalList(@RequestParam(value = "id") Integer id,
62 62
 	                                @RequestParam(value = "houseName") String houseName,
63
-	                                @RequestParam(value = "startPrice") String startPrice,
64
-	                                @RequestParam(value = "endPrice") String endPrice,
63
+	                                @RequestParam(value = "startPrice") Integer startPrice,
64
+	                                @RequestParam(value = "endPrice") Integer endPrice,
65 65
 	                                @RequestParam(value = "rentalType") String rentalType,
66 66
 	                                @RequestParam(value = "houseType") String houseType,
67 67
 	                                @RequestParam(value = "houseStatus") String houseStatus,

+ 2
- 2
CODE/smart-community/property-api/src/main/java/com/community/huiju/model/TpRentalHouse.java Voir le fichier

@@ -210,13 +210,13 @@ public class TpRentalHouse implements Serializable {
210 210
      * 开始价格
211 211
      */
212 212
     @TableField(exist = false)
213
-    private String startPrice;
213
+    private Integer startPrice;
214 214
     
215 215
     /**
216 216
      * 结束价格
217 217
      */
218 218
     @TableField(exist = false)
219
-    private String endPrice;
219
+    private Integer endPrice;
220 220
     
221 221
     /**
222 222
      * 更新人

+ 1
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/ITpRentalHouseService.java Voir le fichier

@@ -29,7 +29,7 @@ public interface ITpRentalHouseService extends IService<TpRentalHouse> {
29 29
 	 * @param pageSize
30 30
 	 * @return
31 31
 	 */
32
-	ResponseBean getRentalList(Integer id, String houseName, String startPrice, String endPrice, String rentalType, String houseType, String houseStatus, UserElement userElement, Integer pageNum, Integer pageSize);
32
+	ResponseBean getRentalList(Integer id, String houseName, Integer startPrice, Integer endPrice, String rentalType, String houseType, String houseStatus, UserElement userElement, Integer pageNum, Integer pageSize);
33 33
 	
34 34
 	/**
35 35
 	 * 保存长租公寓房间信息

+ 6
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/HotelServiceImpl.java Voir le fichier

@@ -20,6 +20,7 @@ import com.community.huiju.model.TpTicket;
20 20
 import com.community.huiju.model.User;
21 21
 import com.community.huiju.service.IHotelService;
22 22
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
23
+import org.apache.commons.lang3.StringUtils;
23 24
 import org.springframework.beans.factory.annotation.Autowired;
24 25
 import org.springframework.stereotype.Service;
25 26
 
@@ -212,6 +213,11 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, Hotel> implements
212 213
      */
213 214
     @Override
214 215
     public ResponseBean addHotel(Hotel hotel, UserElement userElement) {
216
+        ResponseBean responseBean = new ResponseBean();
217
+        if (StringUtils.isBlank(hotel.getHotelLongitude()) || StringUtils.isBlank(hotel.getHotelLatitude())) {
218
+            responseBean.addError("地理坐标不能为空!");
219
+            return responseBean;
220
+        }
215 221
         if (hotel.getHotelSettingValue()){
216 222
             // 为true时判断tp_hotel_setting是否存在当前小区
217 223
             QueryWrapper<HotelSetting> hotelSettingQuery = new QueryWrapper<>();
@@ -229,7 +235,6 @@ public class HotelServiceImpl extends ServiceImpl<HotelMapper, Hotel> implements
229 235
             queryWrapper.eq("community_id",userElement.getCommunityId());
230 236
             hotelSettingMapper.delete(queryWrapper);
231 237
         }
232
-        ResponseBean responseBean = new ResponseBean();
233 238
         if (null != hotel.getId()){
234 239
             updateHotel(hotel,userElement);
235 240
         }else{

+ 2
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpRentalHouseServiceImpl.java Voir le fichier

@@ -10,6 +10,7 @@ import com.community.huiju.dao.TpRentalHouseMapper;
10 10
 import com.community.huiju.model.TpRentalHouse;
11 11
 import com.community.huiju.model.TpRentalHouseImg;
12 12
 import com.community.huiju.service.ITpRentalHouseService;
13
+import io.swagger.models.auth.In;
13 14
 import org.springframework.beans.factory.annotation.Autowired;
14 15
 import org.springframework.stereotype.Service;
15 16
 
@@ -52,7 +53,7 @@ public class TpRentalHouseServiceImpl extends ServiceImpl<TpRentalHouseMapper, T
52 53
 	 * @return
53 54
 	 */
54 55
 	@Override
55
-	public ResponseBean getRentalList(Integer id, String houseName, String startPrice, String endPrice, String rentalType, String houseType, String houseStatus, UserElement userElement, Integer pageNum, Integer pageSize) {
56
+	public ResponseBean getRentalList(Integer id, String houseName, Integer startPrice, Integer endPrice, String rentalType, String houseType, String houseStatus, UserElement userElement, Integer pageNum, Integer pageSize) {
56 57
 		ResponseBean responseBean = new ResponseBean();
57 58
 		Page page = new Page(pageNum,pageSize);
58 59
 		TpRentalHouse tpRentalHouse = new TpRentalHouse();

+ 2
- 0
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/TpShopServiceImpl.java Voir le fichier

@@ -88,7 +88,9 @@ public class TpShopServiceImpl extends ServiceImpl<TpShopMapper, TpShop> impleme
88 88
 		LocalDateTime localDateTime = LocalDateTime.now();
89 89
 		shop.setCommunityId(communityId);
90 90
 		shop.setCreateUser(userElement.getId());
91
+		shop.setCreateDate(localDateTime);
91 92
 		shop.setUpdateDate(localDateTime);
93
+		shop.setUpdateUser(userElement.getId());
92 94
 		shopMapper.insert(shop);
93 95
 		//添加商铺app首页图片信息
94 96
 		TpShopImg appIndexShopImg = new TpShopImg();

+ 1
- 1
VUECODE/smart-property-manage/src/views/rental/rentalIndex.vue Voir le fichier

@@ -189,7 +189,7 @@ export default {
189 189
       }
190 190
     },
191 191
 	  search() {
192
-      if(this.listQuery.startPrice > this.listQuery.endPrice){
192
+      if(this.listQuery.startPrice != '' && this.listQuery.endPrice != '' && Number(this.listQuery.startPrice) > Number(this.listQuery.endPrice)){
193 193
           this.$message.warning("起始金额不能大于结束金额");
194 194
           return
195 195
       }

+ 18
- 5
VUECODE/smart-property-manage/src/views/shop/shopAdd.vue Voir le fichier

@@ -31,7 +31,7 @@
31 31
           <i v-else class="el-icon-plus avatar-uploader-icon"></i>
32 32
         </el-upload>
33 33
       </el-form-item>
34
-      <el-form-item label="app商铺轮播图" prop="appCarouselImg">
34
+      <el-form-item label="app商铺轮播图(最多六张)" prop="appCarouselImg">
35 35
         <el-upload
36 36
           name="uploadFiles"
37 37
           :limit="6"
@@ -48,13 +48,13 @@
48 48
       </el-form-item>
49 49
       <el-form-item label="权重" prop="sort">
50 50
         <el-input v-model="listData.sort" onkeyup="this.value=this.value.replace(/\D/g,'')"/>
51
-        <span  style="font-size:9%;color:#C0C0C0">{{ '权重值越大,排序越靠前' }}</span>
51
+        <span>权重值越大,排序越靠前</span>
52 52
       </el-form-item>
53 53
       <el-form-item label="商铺类型" prop="shopTypeId">
54 54
         <el-select v-model="listData.shopTypeId" placeholder="商铺类型" clearable class="filter-item">
55 55
           <el-option v-for="item in shopTypeList" :key="item.id" :value="item.id" :label="item.typeName"/>
56 56
         </el-select>
57
-         <a @click="shopSetting"><span style="padding-left:4%;font-size:13%;color:#00BFFF">{{ '维护类型' }}</span></a>
57
+        <a @click="shopSetting"><span style="font-size:20px;padding-left:4%;color:#00BFFF">维护类型</span></a>
58 58
       </el-form-item>
59 59
       <el-form-item label="上架状态" prop="shopStatus">
60 60
         <el-select v-model="listData.shopStatus" placeholder="请选择">
@@ -69,11 +69,12 @@
69 69
         <el-input v-model="listData.shopAddress"/>
70 70
       </el-form-item>
71 71
       <el-form-item label="人均消费" prop="averagePrice">
72
-        <el-input v-model="listData.averagePrice" onkeyup="this.value=this.value.replace(/\D/g,'')"/>
72
+        <el-input v-model="listData.averagePrice" onkeyup="this.value=this.value.replace(/\D/g,'')" placeholder="单位 元/人"/>
73 73
       </el-form-item>
74
-      <el-form-item label="高德坐标">
74
+      <el-form-item label="高德坐标" prop="shopLatitude">
75 75
         <el-input placeholder="经度" v-model="listData.shopLongitude" style="width: 150px;" />
76 76
         <el-input placeholder="纬度" v-model="listData.shopLatitude" style="width: 150px;" />
77
+        <span>在地图上搜索选择酒店位置确定坐标值,供APP端用户导航</span>
77 78
       </el-form-item>
78 79
       <el-form-item label="">
79 80
          <!-- 地图 -->
@@ -162,6 +163,18 @@ export default {
162 163
         appCarouselImg: [
163 164
           { required: true, message: 'app商铺轮播图', trigger: 'blur' }
164 165
         ],
166
+        shopName: [
167
+          { required: true, message: '请输入商铺名称', trigger: 'blur' }
168
+        ],
169
+        shopStatus: [
170
+          { required: true, message: '请输入上架状态', trigger: 'blur' }
171
+        ],
172
+        shopLatitude: [
173
+          { required: true, message: '请输入坐标', trigger: 'blur' }
174
+        ],
175
+        averagePrice: [
176
+          { required: true, message: '请输入人均消费', trigger: 'blur' }
177
+        ]
165 178
       }
166 179
     }
167 180
   },

+ 19
- 3
VUECODE/smart-property-manage/src/views/shop/shopEdit.vue Voir le fichier

@@ -31,7 +31,7 @@
31 31
           <i v-else class="el-icon-plus avatar-uploader-icon"></i>
32 32
         </el-upload>
33 33
       </el-form-item>
34
-      <el-form-item label="app商铺轮播图" prop="appCarouselImg">
34
+      <el-form-item label="app商铺轮播图(最多六张)" prop="appCarouselImg">
35 35
         <el-upload
36 36
           name="uploadFiles"
37 37
           :limit="6"
@@ -54,6 +54,7 @@
54 54
         <el-select v-model="listData.shopTypeId" placeholder="商铺类型" clearable class="filter-item">
55 55
           <el-option v-for="item in shopTypeList" :key="item.id" :value="item.id" :label="item.typeName"/>
56 56
         </el-select>
57
+        <a @click="shopSetting"><span style="font-size:20px;padding-left:4%;color:#00BFFF">维护类型</span></a>
57 58
       </el-form-item>
58 59
       <el-form-item label="上架状态" prop="shopStatus">
59 60
         <el-select v-model="listData.shopStatus" placeholder="请选择">
@@ -62,13 +63,13 @@
62 63
         </el-select>
63 64
       </el-form-item>
64 65
       <el-form-item label="联系电话" prop="shopTel">
65
-        <el-input v-model="listData.shopTel"/>
66
+        <el-input v-model="listData.shopTel" onkeyup="this.value=this.value.replace(/\D/g,'')" />
66 67
       </el-form-item>
67 68
       <el-form-item label="商铺地址" prop="shopAddress">
68 69
         <el-input v-model="listData.shopAddress"/>
69 70
       </el-form-item>
70 71
       <el-form-item label="人均消费" prop="averagePrice">
71
-        <el-input v-model="listData.averagePrice"/>
72
+        <el-input v-model="listData.averagePrice" onkeyup="this.value=this.value.replace(/\D/g,'')" placeholder="单位 元/人"/>
72 73
       </el-form-item>
73 74
       <el-form-item label="高德坐标">
74 75
         <el-input placeholder="经度" v-model="listData.shopLongitude" style="width: 150px;" />
@@ -163,6 +164,18 @@ export default {
163 164
         appCarouselImg: [
164 165
           { required: true, message: 'app商铺轮播图', trigger: 'blur' }
165 166
         ],
167
+        shopName: [
168
+          { required: true, message: '商铺名称', trigger: 'blur' }
169
+        ],
170
+        shopStatus: [
171
+          { required: true, message: '请输入上架状态', trigger: 'blur' }
172
+        ],
173
+        shopLatitude: [
174
+          { required: true, message: '请输入坐标', trigger: 'blur' }
175
+        ],
176
+        averagePrice: [
177
+          { required: true, message: '请输入人均消费', trigger: 'blur' }
178
+        ]
166 179
       }
167 180
     }
168 181
   },
@@ -258,6 +271,9 @@ export default {
258 271
       console.log(this.isRegistered)
259 272
       this.$refs[formName].resetFields()
260 273
     },
274
+    shopSetting(){
275
+       this.$router.push({ name: 'shop-setting'})
276
+    },
261 277
     updateShop() {
262 278
       // 加载框
263 279
       const loading = this.$loading({

+ 1
- 0
VUECODE/smart-property-manage/src/views/shop/shopIndex.vue Voir le fichier

@@ -29,6 +29,7 @@
29 29
       <el-button type="warning" @click="edit">修改</el-button>
30 30
       <el-button type="danger" @click="shelfShop">上架商铺</el-button>
31 31
       <el-button type="danger" @click="obtainedShop">下架商铺</el-button>
32
+      <span>注:权重最大的4个上架且有首页展示图的商铺默认会显示在APP首页(权重相同时按编辑时间从晚到早排序)</span>
32 33
     </div>
33 34
     <el-table
34 35
       v-loading="listLoading"

+ 3
- 1
VUECODE/smart-property-manage/src/views/shop/shopSetting.vue Voir le fichier

@@ -16,6 +16,7 @@
16 16
       <el-button type="primary" @click="add">添加</el-button>
17 17
       <el-button type="warning" @click="edit">修改</el-button>
18 18
       <el-button type="danger" @click="deleteShopType">删除</el-button>
19
+      <span>索引顺序即显示时的先后顺序,不能相同,必须为大于0的整数,数字越小越靠前,如果有1则1号值排会在APP端第一位</span>
19 20
     </div>
20 21
     <el-table
21 22
       v-loading="listLoading"
@@ -30,7 +31,7 @@
30 31
         width="55"/>
31 32
       <el-table-column prop="id" label="编号" align="center"/>
32 33
       <el-table-column prop="typeName" label="商铺类型" align="center"/>
33
-      <el-table-column prop="sort" label="权重" align="center"/>
34
+      <el-table-column prop="sort" label="索引" align="center"/>
34 35
       <el-table-column prop="createDate" label="发布时间" align="center"><template slot-scope="scope">{{ formatDate(scope.row.createDate) }}</template></el-table-column>
35 36
     </el-table>
36 37
     <div class="block">
@@ -111,6 +112,7 @@ export default {
111 112
     },
112 113
     changeSetting() {
113 114
       this.ChangeShopSetting(this.shopSettingValue).then((res) => {
115
+        search()
114 116
       }).catch(() => {
115 117
         console.log('error shopTypeList')
116 118
       })

+ 1
- 1
VUECODE/smart-property-manage/src/views/shop/shopSettingAdd.vue Voir le fichier

@@ -4,7 +4,7 @@
4 4
       <el-form-item label="商铺类型" prop="typeName">
5 5
         <el-input v-model="listQuery.typeName" style="width: 200px;"/>
6 6
       </el-form-item>
7
-      <el-form-item label="权重" prop="sort">
7
+      <el-form-item label="索引" prop="sort">
8 8
         <el-input v-model="listQuery.sort" style="width: 200px;"/>
9 9
       </el-form-item>
10 10
       <el-form-item>

+ 1
- 1
VUECODE/smart-property-manage/src/views/shop/shopSettingEdit.vue Voir le fichier

@@ -4,7 +4,7 @@
4 4
       <el-form-item label="商铺类型" prop="typeName">
5 5
         <el-input v-model="listQuery.typeName" style="width: 200px;"/>
6 6
       </el-form-item>
7
-      <el-form-item label="权重" prop="sort">
7
+      <el-form-item label="索引" prop="sort">
8 8
         <el-input v-model="listQuery.sort" :disabled="listQuery.isSys" style="width: 200px;"/>
9 9
       </el-form-item>
10 10
       <el-form-item>