傅行帆 5 anos atrás
pai
commit
8750841166

+ 10
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Ver arquivo

@@ -577,4 +577,14 @@ public class CommConstant {
577 577
      */
578 578
     public static final String DYNAMIC_SHARE = "dynamic_share";
579 579
 
580
+    /**
581
+     * 户型
582
+     */
583
+    public static final String APARTMENT_TYPR_APART = "apart";
584
+
585
+    /**
586
+     * 户型全景图
587
+     */
588
+    public static final String PANORAMA_TYPE_APARTMENT = "apartment";
589
+
580 590
 }

+ 195
- 0
src/main/java/com/huiju/estateagents/controller/TaBuildingPanoramaController.java Ver arquivo

@@ -0,0 +1,195 @@
1
+package com.huiju.estateagents.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.base.BaseController;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.entity.TaBuildingApartment;
10
+import com.huiju.estateagents.entity.TaBuildingPanorama;
11
+import com.huiju.estateagents.service.ITaBuildingApartmentService;
12
+import com.huiju.estateagents.service.ITaBuildingPanoramaService;
13
+import org.slf4j.Logger;
14
+import org.slf4j.LoggerFactory;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.web.bind.annotation.*;
17
+
18
+import javax.servlet.http.HttpServletRequest;
19
+import java.util.List;
20
+import java.util.stream.Collectors;
21
+import java.util.stream.Stream;
22
+
23
+/**
24
+ * <p>
25
+    *   前端控制器
26
+    * </p>
27
+ *
28
+ * @author jobob
29
+ * @since 2020-01-30
30
+ */
31
+@RestController
32
+@RequestMapping("/api")
33
+public class TaBuildingPanoramaController extends BaseController {
34
+
35
+    private final Logger logger = LoggerFactory.getLogger(TaBuildingPanoramaController.class);
36
+
37
+    @Autowired
38
+    public ITaBuildingPanoramaService iTaBuildingPanoramaService;
39
+
40
+
41
+    @Autowired
42
+    private ITaBuildingApartmentService taBuildingApartmentService;
43
+
44
+    /**
45
+     * 分页查询列表
46
+     * @param pageNum
47
+     * @param pageSize
48
+     * @return
49
+     */
50
+    @RequestMapping(value="/panorama",method= RequestMethod.GET)
51
+    public ResponseBean taBuildingPanoramaList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
+                                               @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize){
53
+        ResponseBean responseBean = new ResponseBean();
54
+        try {
55
+            //使用分页插件
56
+		    IPage<TaBuildingPanorama> pg = new Page<>(pageNum, pageSize);
57
+            QueryWrapper<TaBuildingPanorama> queryWrapper = new QueryWrapper<>();
58
+            queryWrapper.orderByDesc("create_date");
59
+
60
+            IPage<TaBuildingPanorama> result = iTaBuildingPanoramaService.page(pg, queryWrapper);
61
+            responseBean.addSuccess(result);
62
+        }catch (Exception e){
63
+            e.printStackTrace();
64
+            logger.error("taBuildingPanoramaList -=- {}",e.toString());
65
+            responseBean.addError(e.getMessage());
66
+        }
67
+        return responseBean;
68
+    }
69
+
70
+
71
+    /**
72
+     * 获取全景图的户型列表
73
+     * @return
74
+     */
75
+    @RequestMapping(value="/panorama/apartment",method= RequestMethod.GET)
76
+    public ResponseBean getApartmentList(@RequestParam(value ="buildingId") String buildingId,
77
+                                               HttpServletRequest request){
78
+        ResponseBean responseBean = new ResponseBean();
79
+        try {
80
+            //获取此楼盘下的所有的户型
81
+            QueryWrapper<TaBuildingApartment> queryWrapper = new QueryWrapper<>();
82
+            queryWrapper.eq("status",CommConstant.STATUS_NORMAL);
83
+            queryWrapper.eq("apartment_type",CommConstant.APARTMENT_TYPR_APART);
84
+            queryWrapper.eq("building_id",buildingId);
85
+            queryWrapper.eq("org_id",getOrgId(request));
86
+            List<TaBuildingApartment> apartmentList = taBuildingApartmentService.list(queryWrapper);
87
+
88
+            //获取此楼盘下所有已经有全景图的户型
89
+            QueryWrapper<TaBuildingPanorama> panoramaQueryWrapper = new QueryWrapper<>();
90
+            panoramaQueryWrapper.eq("status",CommConstant.STATUS_NORMAL);
91
+            panoramaQueryWrapper.eq("panorama_type",CommConstant.PANORAMA_TYPE_APARTMENT);
92
+            panoramaQueryWrapper.eq("building_id",buildingId);
93
+            panoramaQueryWrapper.eq("org_id",getOrgId(request));
94
+            List<TaBuildingPanorama> panoramaList = iTaBuildingPanoramaService.list(panoramaQueryWrapper);
95
+            //去除已经有全景图的户型
96
+            List<TaBuildingApartment> resultList = apartmentList.stream().filter(x -> !x.getApartmentId().equals(panoramaList.stream().map(e -> e.getApartmentId()))).collect(Collectors.toList());
97
+
98
+            responseBean.addSuccess(resultList);
99
+        }catch (Exception e){
100
+            e.printStackTrace();
101
+            logger.error("getApartmentList -=- {}",e.toString());
102
+            responseBean.addError(e.getMessage());
103
+        }
104
+        return responseBean;
105
+    }
106
+
107
+    /**
108
+     * 保存对象
109
+     * @param taBuildingPanorama 实体对象
110
+     * @return
111
+     */
112
+    @RequestMapping(value="/admin/panorama",method= RequestMethod.POST)
113
+    public ResponseBean taBuildingPanoramaAdd(@RequestBody TaBuildingPanorama taBuildingPanorama){
114
+        ResponseBean responseBean = new ResponseBean();
115
+        try {
116
+            if (iTaBuildingPanoramaService.save(taBuildingPanorama)){
117
+                responseBean.addSuccess(taBuildingPanorama);
118
+            }else {
119
+                responseBean.addError("fail");
120
+            }
121
+        }catch (Exception e){
122
+            e.printStackTrace();
123
+            logger.error("taBuildingPanoramaAdd -=- {}",e.toString());
124
+            responseBean.addError(e.getMessage());
125
+        }
126
+        return responseBean;
127
+    }
128
+
129
+    /**
130
+     * 根据id删除对象--逻辑删除
131
+     * @param id  实体ID
132
+     */
133
+    @ResponseBody
134
+    @RequestMapping(value="/admin/panorama/{id}", method= RequestMethod.DELETE)
135
+    public ResponseBean taBuildingPanoramaDelete(@PathVariable Integer id){
136
+        ResponseBean responseBean = new ResponseBean();
137
+        try {
138
+            TaBuildingPanorama taBuildingPanorama = new TaBuildingPanorama();
139
+            taBuildingPanorama.setPanoramaId(id);
140
+            taBuildingPanorama.setStatus(CommConstant.STATUS_UNACCALIMED);
141
+            if(iTaBuildingPanoramaService.updateById(taBuildingPanorama)){
142
+                responseBean.addSuccess("success");
143
+            }else {
144
+                responseBean.addError("fail");
145
+            }
146
+        }catch (Exception e){
147
+            e.printStackTrace();
148
+            logger.error("taBuildingPanoramaDelete -=- {}",e.toString());
149
+            responseBean.addError(e.getMessage());
150
+        }
151
+        return responseBean;
152
+    }
153
+
154
+    /**
155
+     * 修改对象
156
+     * @param id  实体ID
157
+     * @param taBuildingPanorama 实体对象
158
+     * @return
159
+     */
160
+    @RequestMapping(value="/admin/panorama/{id}",method= RequestMethod.PUT)
161
+    public ResponseBean taBuildingPanoramaUpdate(@PathVariable Integer id,
162
+                                        @RequestBody TaBuildingPanorama taBuildingPanorama){
163
+        ResponseBean responseBean = new ResponseBean();
164
+        try {
165
+            taBuildingPanorama.setPanoramaId(id);
166
+            if (iTaBuildingPanoramaService.updateById(taBuildingPanorama)){
167
+                responseBean.addSuccess(taBuildingPanorama);
168
+            }else {
169
+                responseBean.addError("fail");
170
+            }
171
+        }catch (Exception e){
172
+            e.printStackTrace();
173
+            logger.error("taBuildingPanoramaUpdate -=- {}",e.toString());
174
+            responseBean.addError(e.getMessage());
175
+        }
176
+        return responseBean;
177
+    }
178
+
179
+    /**
180
+     * 根据id查询对象
181
+     * @param id  实体ID
182
+     */
183
+    @RequestMapping(value="/panorama/{id}",method= RequestMethod.GET)
184
+    public ResponseBean taBuildingPanoramaGet(@PathVariable Integer id){
185
+        ResponseBean responseBean = new ResponseBean();
186
+        try {
187
+            responseBean.addSuccess(iTaBuildingPanoramaService.getById(id));
188
+        }catch (Exception e){
189
+            e.printStackTrace();
190
+            logger.error("taBuildingPanoramaDelete -=- {}",e.toString());
191
+            responseBean.addError(e.getMessage());
192
+        }
193
+        return responseBean;
194
+    }
195
+}

+ 6
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java Ver arquivo

@@ -302,4 +302,10 @@ public class TaBuilding implements Serializable {
302 302
      */
303 303
     @TableField(exist = false)
304 304
     private String tags;
305
+
306
+    /**
307
+     * 全景图
308
+     */
309
+    @TableField(exist = false)
310
+    private List<TaBuildingPanorama> panoramaList;
305 311
 }

+ 79
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingPanorama.java Ver arquivo

@@ -0,0 +1,79 @@
1
+package com.huiju.estateagents.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import lombok.Data;
6
+import lombok.EqualsAndHashCode;
7
+import lombok.experimental.Accessors;
8
+
9
+import java.io.Serializable;
10
+import java.time.LocalDateTime;
11
+
12
+/**
13
+ * <p>
14
+ *  
15
+ * </p>
16
+ *
17
+ * @author jobob
18
+ * @since 2020-01-30
19
+ */
20
+@Data
21
+@EqualsAndHashCode(callSuper = false)
22
+@Accessors(chain = true)
23
+public class TaBuildingPanorama implements Serializable {
24
+
25
+    private static final long serialVersionUID = 1L;
26
+
27
+    /**
28
+     * 全景图ID 全景图ID
29
+     */
30
+    @TableId(value = "panorama_id", type = IdType.AUTO)
31
+    private Integer panoramaId;
32
+
33
+    /**
34
+     * 公司id
35
+     */
36
+    private Integer orgId;
37
+
38
+    /**
39
+     * 楼盘id
40
+     */
41
+    private String buildingId;
42
+
43
+    /**
44
+     * 户型ID
45
+     */
46
+    private String apartmentId;
47
+
48
+    /**
49
+     * 全景图类型 全景图类型building指楼盘全景图,apartment指户型全景图
50
+     */
51
+    private String panoramaType;
52
+
53
+    /**
54
+     * 全景内容
55
+     */
56
+    private String content;
57
+
58
+    /**
59
+     * 全景封面
60
+     */
61
+    private String coverImg;
62
+
63
+    /**
64
+     * 全景图链接地址
65
+     */
66
+    private String panoramaLink;
67
+
68
+    /**
69
+     * 创建时间
70
+     */
71
+    private LocalDateTime createDate;
72
+
73
+    /**
74
+     * 状态
75
+     */
76
+    private Integer status;
77
+
78
+
79
+}

+ 18
- 0
src/main/java/com/huiju/estateagents/mapper/TaBuildingPanoramaMapper.java Ver arquivo

@@ -0,0 +1,18 @@
1
+package com.huiju.estateagents.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.huiju.estateagents.entity.TaBuildingPanorama;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ *   Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author jobob
13
+ * @since 2020-01-30
14
+ */
15
+@Mapper
16
+public interface TaBuildingPanoramaMapper extends BaseMapper<TaBuildingPanorama> {
17
+
18
+}

+ 16
- 0
src/main/java/com/huiju/estateagents/service/ITaBuildingPanoramaService.java Ver arquivo

@@ -0,0 +1,16 @@
1
+package com.huiju.estateagents.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.entity.TaBuildingPanorama;
5
+
6
+/**
7
+ * <p>
8
+ *   服务类
9
+ * </p>
10
+ *
11
+ * @author jobob
12
+ * @since 2020-01-30
13
+ */
14
+public interface ITaBuildingPanoramaService extends IService<TaBuildingPanorama> {
15
+
16
+}

+ 20
- 0
src/main/java/com/huiju/estateagents/service/impl/TaBuildingPanoramaServiceImpl.java Ver arquivo

@@ -0,0 +1,20 @@
1
+package com.huiju.estateagents.service.impl;
2
+
3
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
+import com.huiju.estateagents.entity.TaBuildingPanorama;
5
+import com.huiju.estateagents.mapper.TaBuildingPanoramaMapper;
6
+import com.huiju.estateagents.service.ITaBuildingPanoramaService;
7
+import org.springframework.stereotype.Service;
8
+
9
+/**
10
+ * <p>
11
+ *   服务实现类
12
+ * </p>
13
+ *
14
+ * @author jobob
15
+ * @since 2020-01-30
16
+ */
17
+@Service
18
+public class TaBuildingPanoramaServiceImpl extends ServiceImpl<TaBuildingPanoramaMapper, TaBuildingPanorama> implements ITaBuildingPanoramaService {
19
+
20
+}

+ 12
- 0
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Ver arquivo

@@ -102,6 +102,9 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
102 102
     @Autowired
103 103
     public ITaBuildingIntentionService iTaBuildingIntentionService;
104 104
 
105
+    @Autowired
106
+    private ITaBuildingPanoramaService taBuildingPanoramaService;
107
+
105 108
     @Override
106 109
     public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain, Integer orgId,List<TaPersonBuilding> taPersonBuildingList) {
107 110
         Page<TaBuilding> page = new Page<>();
@@ -292,6 +295,15 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
292 295
         List<TaBuildingMapRelation> mapRelationList = iTaBuildingMapRelationService.list(mapRelationQueryWrapper);
293 296
         building.setMapJson(mapRelationList.size() > 0 ? JSONObject.toJSONString(mapRelationList) : null);
294 297
 
298
+        //查询关联的全景图列表
299
+        QueryWrapper<TaBuildingPanorama> panoramaQueryWrapper = new QueryWrapper<>();
300
+        panoramaQueryWrapper.eq("building_id", building.getBuildingId());
301
+        panoramaQueryWrapper.eq("org_id", building.getOrgId());
302
+        panoramaQueryWrapper.eq("status", CommConstant.STATUS_NORMAL);
303
+        panoramaQueryWrapper.orderByDesc("create_date");
304
+        List<TaBuildingPanorama> panoramaList = taBuildingPanoramaService.list(panoramaQueryWrapper);
305
+        building.setPanoramaList(panoramaList);
306
+
295 307
         return ResponseBean.success(building);
296 308
     }
297 309
 

+ 1
- 1
src/main/resources/application-dev.yml Ver arquivo

@@ -6,7 +6,7 @@ spring:
6 6
   datasource:
7 7
     username: estateagents
8 8
     password: estateagents
9
-    url: jdbc:mysql://47.101.36.130:3306/estateagents_3.5.1_dev?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
9
+    url: jdbc:mysql://47.101.36.130:3306/estateagents_3.5.1_test?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull
10 10
     driver-class-name: com.mysql.cj.jdbc.Driver
11 11
     initial-size: 10 # 初始化连接数
12 12
     max-active: 20 # 最大连接数

+ 5
- 0
src/main/resources/mapper/TaBuildingPanoramaMapper.xml Ver arquivo

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.mapper.TaBuildingPanoramaMapper">
4
+
5
+</mapper>