张延森 5 jaren geleden
bovenliggende
commit
1dbb897ba0

+ 4
- 3
src/main/java/com/huiju/estateagents/controller/TaBuildingController.java Bestand weergeven

@@ -321,9 +321,10 @@ public class TaBuildingController extends BaseController {
321 321
      * 微信推荐楼盘列表
322 322
      * @return
323 323
      */
324
-    @RequestMapping(value = "/wx/building/mian", method = RequestMethod.GET)
325
-    public ResponseBean getWxMainBuildingList(){
326
-        return taBuildingService.getWxMainBuildingList();
324
+    @RequestMapping(value = "/wx/building/main", method = RequestMethod.GET)
325
+    public ResponseBean getWxMainBuildingList(HttpServletRequest request){
326
+        Integer orgId = getOrgId(request);
327
+        return taBuildingService.getWxMainBuildingList(orgId);
327 328
     }
328 329
 
329 330
     /**

+ 12
- 0
src/main/java/com/huiju/estateagents/entity/TaBuilding.java Bestand weergeven

@@ -290,4 +290,16 @@ public class TaBuilding implements Serializable {
290 290
      */
291 291
     @TableField(exist = false)
292 292
     private List<TaBuildingImg> buildingListImg;
293
+
294
+    /**
295
+     * 列表封面图
296
+     */
297
+    @TableField(exist = false)
298
+    private String listPoster;
299
+
300
+    /**
301
+     * 标签列表, 逗哈分隔
302
+     */
303
+    @TableField(exist = false)
304
+    private String tags;
293 305
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java Bestand weergeven

@@ -91,4 +91,6 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
91 91
      * @return
92 92
      */
93 93
     int countNumByHeavy(@Param("heavy") Integer heavy, @Param("dynamicId") String dynamicId);
94
+
95
+    List<TaBuilding> selectMainBuildings(@Param("orgId") Integer orgId);
94 96
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/service/ITaBuildingService.java Bestand weergeven

@@ -133,7 +133,7 @@ public interface ITaBuildingService extends IService<TaBuilding> {
133 133
      * 微信小程序 楼盘列表
134 134
      * @return
135 135
      */
136
-    ResponseBean getWxMainBuildingList();
136
+    ResponseBean getWxMainBuildingList(Integer orgId);
137 137
 
138 138
     ResponseBean getWxBuildingById(String buildingId);
139 139
 

+ 50
- 12
src/main/java/com/huiju/estateagents/service/impl/TaBuildingServiceImpl.java Bestand weergeven

@@ -764,18 +764,56 @@ public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuild
764 764
     }
765 765
 
766 766
     @Override
767
-    public ResponseBean getWxMainBuildingList() {
768
-        QueryWrapper<TaBuilding> buildingQueryWrapper = new QueryWrapper<>();
769
-        buildingQueryWrapper.eq("status", 1);
770
-        buildingQueryWrapper.eq("is_main", 1);
771
-        buildingQueryWrapper.orderByAsc("order_no");
772
-        List<TaBuilding> buildingList = taBuildingMapper.selectList(buildingQueryWrapper);
773
-
774
-        for (TaBuilding build:buildingList) {
775
-            getBuildingAttaches(build);
776
-        }
777
-
778
-        return ResponseBean.success(buildingList);
767
+    public ResponseBean getWxMainBuildingList(Integer orgId) {
768
+        List<TaBuilding> buildingList = taBuildingMapper.selectMainBuildings(orgId);
769
+        if (null == buildingList) {
770
+            return ResponseBean.success(new ArrayList<>());
771
+        }
772
+
773
+        for (TaBuilding building : buildingList) {
774
+            String buildingId = building.getBuildingId();
775
+
776
+            // 列表封面
777
+            List<TaBuildingImg> listImage = new ArrayList<>();
778
+            TaBuildingImg img = new TaBuildingImg();
779
+            img.setImgType(CommConstant.BUILDING_IMG_LIST);
780
+            img.setBuildingId(buildingId);
781
+            img.setUrl(building.getListPoster());
782
+            listImage.add(img);
783
+            building.setBuildingListImg(listImage);
784
+
785
+            // tags
786
+            List<TaBuildingTag> tags = new ArrayList<>();
787
+            String[] tagsArray = StringUtils.ifNull(building.getTags(), "").split(",");
788
+            if (null != tagsArray) {
789
+                for(String tagName: tagsArray) {
790
+                    TaBuildingTag tag = new TaBuildingTag();
791
+                    tag.setBuildingId(buildingId);
792
+                    tag.setTagName(tagName);
793
+                    tags.add(tag);
794
+                }
795
+            }
796
+            building.setBuildingTag(tags);
797
+
798
+            // Uv
799
+            IPage<TaUv> pageUv = new Page<>(1, 10);
800
+            QueryWrapper<TaUv> query3 = new QueryWrapper<>();
801
+            query3.eq("be_uv", buildingId);
802
+            query3.eq("tagert_type", CommConstant.FAVOR_PROJECT);
803
+            query3.orderByDesc("create_date");
804
+            IPage<TaUv> uvs = taUvMapper.selectPage(pageUv, query3);
805
+            building.setUvList(uvs);
806
+
807
+            // share num
808
+            IPage<TaShare> pageSN = new Page<>(1, 10);
809
+            pageSN.setTotal(null == building.getShareNum() ? 0l : building.getShareNum());
810
+            building.setShareList(pageSN);
811
+        }
812
+
813
+        IPage<TaBuilding> page = new Page<>(1, 10);
814
+        page.setTotal(buildingList.size());
815
+        page.setRecords(buildingList);
816
+        return ResponseBean.success(page);
779 817
     }
780 818
 
781 819
     @Override

+ 19
- 0
src/main/resources/mapper/TaBuildingMapper.xml Bestand weergeven

@@ -220,4 +220,23 @@
220 220
       </if>
221 221
     </select>
222 222
 
223
+    <select id="selectMainBuildings" resultType="com.huiju.estateagents.entity.TaBuilding">
224
+        SELECT
225
+            t.*,
226
+            s.url AS list_poster,
227
+            GROUP_CONCAT( m.tag_name ) AS tags
228
+        FROM
229
+            ta_building t
230
+        LEFT JOIN ta_building_img s ON t.building_id = s.building_id
231
+        AND s.img_type = 'list'
232
+        LEFT JOIN ta_building_tag m ON t.building_id = m.building_id
233
+        WHERE
234
+            t.org_id = #{orgId}
235
+        AND t.status = 1
236
+        AND t.is_main = 1
237
+        GROUP BY
238
+            t.building_id
239
+        ORDER BY t.order_no
240
+    </select>
241
+
223 242
 </mapper>