Your Name 3 лет назад
Родитель
Сommit
f68fe4f509

+ 14
- 0
src/main/java/com/yunzhi/marketing/controller/TaBuildingController.java Просмотреть файл

376
         return taBuildingService.getWxMainBuildingList(cityId, orgId);
376
         return taBuildingService.getWxMainBuildingList(cityId, orgId);
377
     }
377
     }
378
 
378
 
379
+
380
+    /**
381
+     * 我绑定的楼盘
382
+     *
383
+     * @return
384
+     */
385
+    @RequestMapping(value = "/wx/building/mine", method = RequestMethod.GET)
386
+    public ResponseBean getWxMainBuildingList(HttpServletRequest request) {
387
+        Integer orgId = getOrgId(request);
388
+        String personId = getPersonId(request);
389
+        List<TaBuilding> lst = taBuildingService.getBuilidngsOfPerson(orgId, personId);
390
+        return ResponseBean.success(lst);
391
+    }
392
+
379
     /**
393
     /**
380
      * 删除户型
394
      * 删除户型
381
      *
395
      *

+ 1
- 1
src/main/java/com/yunzhi/marketing/controller/TaPersonController.java Просмотреть файл

385
      * 成为驻场顾问
385
      * 成为驻场顾问
386
      *
386
      *
387
      */
387
      */
388
-    @ApiOperation(value = "森哥看这里-wx-成为驻场顾问", notes = "森哥看这里-wx-成为驻场顾问")
388
+    @ApiOperation(value = "wx-成为驻场顾问", notes = "森哥看这里-wx-成为驻场顾问")
389
     @PostMapping("/wx/marketing")
389
     @PostMapping("/wx/marketing")
390
     public ResponseBean marketing(@RequestBody PersonMarketingDTO marketingDTO, HttpServletRequest request) {
390
     public ResponseBean marketing(@RequestBody PersonMarketingDTO marketingDTO, HttpServletRequest request) {
391
         // 当前人员
391
         // 当前人员

+ 1
- 1
src/main/java/com/yunzhi/marketing/controller/TaRecommendCustomerController.java Просмотреть файл

93
      * @return
93
      * @return
94
      */
94
      */
95
     @GetMapping("/wx/marking/customers")
95
     @GetMapping("/wx/marking/customers")
96
-    @ApiOperation(value = "森哥看这里-wx-查询驻场的客户列表", notes = "森哥看这里-wx-查询驻场的客户列表")
96
+    @ApiOperation(value = "wx-查询驻场的客户列表", notes = "森哥看这里-wx-查询驻场的客户列表")
97
     @ApiImplicitParams({
97
     @ApiImplicitParams({
98
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query", value = "第几页"),
98
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query", value = "第几页"),
99
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),
99
             @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query", value = "一页多少行"),

+ 4
- 0
src/main/java/com/yunzhi/marketing/mapper/TaBuildingMapper.java Просмотреть файл

193
      * @return
193
      * @return
194
      */
194
      */
195
     List<TaBuilding> selectByUserId(Integer userId);
195
     List<TaBuilding> selectByUserId(Integer userId);
196
+
197
+    List<TaBuilding> getBuilidngsOfPerson(Integer orgId, String personId);
198
+
199
+    IPage<TaBuilding> getSpecial(IPage<TaBuilding> page, Integer orgId, String cityId);
196
 }
200
 }

+ 5
- 0
src/main/java/com/yunzhi/marketing/service/ITaBuildingService.java Просмотреть файл

1
 package com.yunzhi.marketing.service;
1
 package com.yunzhi.marketing.service;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.yunzhi.marketing.base.ResponseBean;
5
 import com.yunzhi.marketing.base.ResponseBean;
5
 import com.yunzhi.marketing.entity.TaBuilding;
6
 import com.yunzhi.marketing.entity.TaBuilding;
189
      * @return
190
      * @return
190
      */
191
      */
191
     List<TaBuilding> selectByUserId(Integer userId);
192
     List<TaBuilding> selectByUserId(Integer userId);
193
+
194
+    List<TaBuilding> getBuilidngsOfPerson(Integer orgId, String personId);
195
+
196
+    IPage<TaBuilding> getListOfSpecial(IPage<TaBuilding> page, Integer orgId, String cityId);
192
 }
197
 }

+ 34
- 8
src/main/java/com/yunzhi/marketing/service/impl/TaBuildingServiceImpl.java Просмотреть файл

373
         building.setExtendContent(taExtendContents);
373
         building.setExtendContent(taExtendContents);
374
 
374
 
375
         // 添加楼盘特价房源
375
         // 添加楼盘特价房源
376
-        LambdaQueryWrapper<BuildingSpecialRoom> specialRoomLambdaQueryWrapper = new LambdaQueryWrapper<>();
377
-        specialRoomLambdaQueryWrapper.eq(BuildingSpecialRoom::getBuildingId,id);
378
-        LocalDateTime now = LocalDateTime.now();
379
-        specialRoomLambdaQueryWrapper.gt(BuildingSpecialRoom::getStartTime,now);
380
-        specialRoomLambdaQueryWrapper.lt(BuildingSpecialRoom::getEndTime,now);
381
-        specialRoomLambdaQueryWrapper.orderByDesc(BuildingSpecialRoom::getCreateDate);
382
-        List<BuildingSpecialRoom> buildingSpecialRooms = buildingSpecialRoomMapper.selectList(specialRoomLambdaQueryWrapper);
383
-        building.setSpecialRoomList(buildingSpecialRooms);
376
+        building.setSpecialRoomList(getSpecialBy(building));
384
 
377
 
385
         // 添加楼盘项目动态
378
         // 添加楼盘项目动态
386
         LambdaQueryWrapper<Trend> lambdaQueryWrapper =new LambdaQueryWrapper<>();
379
         LambdaQueryWrapper<Trend> lambdaQueryWrapper =new LambdaQueryWrapper<>();
425
         return ResponseBean.success(building);
418
         return ResponseBean.success(building);
426
     }
419
     }
427
 
420
 
421
+    private List<BuildingSpecialRoom> getSpecialBy(TaBuilding building) {
422
+        LambdaQueryWrapper<BuildingSpecialRoom> specialRoomLambdaQueryWrapper = new LambdaQueryWrapper<>();
423
+        specialRoomLambdaQueryWrapper.eq(BuildingSpecialRoom::getBuildingId, building.getBuildingId());
424
+        LocalDateTime now = LocalDateTime.now();
425
+        specialRoomLambdaQueryWrapper.ge(BuildingSpecialRoom::getStartTime,now);
426
+        specialRoomLambdaQueryWrapper.le(BuildingSpecialRoom::getEndTime,now);
427
+        specialRoomLambdaQueryWrapper.orderByDesc(BuildingSpecialRoom::getCreateDate);
428
+        return buildingSpecialRoomMapper.selectList(specialRoomLambdaQueryWrapper);
429
+    }
430
+
428
     @Override
431
     @Override
429
     public ResponseBean buildingUpdate(String parameter, Integer orgId) {
432
     public ResponseBean buildingUpdate(String parameter, Integer orgId) {
430
         ResponseBean responseBean = new ResponseBean();
433
         ResponseBean responseBean = new ResponseBean();
1259
     public List<TaBuilding> selectByUserId(Integer userId) {
1262
     public List<TaBuilding> selectByUserId(Integer userId) {
1260
         return taBuildingMapper.selectByUserId(userId);
1263
         return taBuildingMapper.selectByUserId(userId);
1261
     }
1264
     }
1265
+
1266
+    @Override
1267
+    public List<TaBuilding> getBuilidngsOfPerson(Integer orgId, String personId) {
1268
+        return taBuildingMapper.getBuilidngsOfPerson(orgId, personId);
1269
+    }
1270
+
1271
+    @Override
1272
+    public IPage<TaBuilding> getListOfSpecial(IPage<TaBuilding> page, Integer orgId, String cityId) {
1273
+        IPage<TaBuilding> result = taBuildingMapper.getSpecial(page, orgId, cityId);
1274
+        List<TaBuilding> lst = result.getRecords();
1275
+        if (lst == null || lst.size() < 1) {
1276
+            return result;
1277
+        }
1278
+
1279
+        for (TaBuilding building : lst) {
1280
+            getBuildingAttaches(building);
1281
+
1282
+            // 查询特价房
1283
+            building.setSpecialRoomList(getSpecialBy(building));
1284
+        }
1285
+
1286
+        return result;
1287
+    }
1262
 }
1288
 }

+ 7
- 1
src/main/java/com/yunzhi/marketing/service/impl/TaPersonServiceImpl.java Просмотреть файл

1318
         if (null == taBuilding){
1318
         if (null == taBuilding){
1319
             return ResponseBean.error("不合法的驻场码", ResponseBean.ERROR_UNAVAILABLE);
1319
             return ResponseBean.error("不合法的驻场码", ResponseBean.ERROR_UNAVAILABLE);
1320
         }
1320
         }
1321
+
1322
+        if (!CommConstant.STATUS_NORMAL.equals(taBuilding.getStatus())) {
1323
+            return ResponseBean.error("该项目状态异常, 不能绑定", ResponseBean.ERROR_UNAVAILABLE);
1324
+        }
1325
+
1321
         // 成为驻场顾问并绑定楼盘
1326
         // 成为驻场顾问并绑定楼盘
1322
         taPerson.setPersonType("marketing");
1327
         taPerson.setPersonType("marketing");
1323
         taPersonMapper.updateById(taPerson);
1328
         taPersonMapper.updateById(taPerson);
1328
         taPersonBuilding.setCreateDate(LocalDateTime.now());
1333
         taPersonBuilding.setCreateDate(LocalDateTime.now());
1329
         taPersonBuildingMapper.insert(taPersonBuilding);
1334
         taPersonBuildingMapper.insert(taPersonBuilding);
1330
 
1335
 
1331
-        return ResponseBean.success("绑定成功");
1336
+        // 返回刚刚绑定的楼盘ID
1337
+        return ResponseBean.success(taBuilding.getBuildingId());
1332
     }
1338
     }
1333
 }
1339
 }

+ 19
- 8
src/main/java/com/yunzhi/marketing/xlk/controller/BuildingSpecialRoomController.java Просмотреть файл

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.yunzhi.marketing.base.BaseController;
6
 import com.yunzhi.marketing.base.BaseController;
7
 import com.yunzhi.marketing.base.ResponseBean;
7
 import com.yunzhi.marketing.base.ResponseBean;
8
+import com.yunzhi.marketing.entity.TaBuilding;
9
+import com.yunzhi.marketing.service.ITaBuildingService;
8
 import com.yunzhi.marketing.xlk.dto.BuildingSpecialRoomDTO;
10
 import com.yunzhi.marketing.xlk.dto.BuildingSpecialRoomDTO;
9
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
11
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
10
 import com.yunzhi.marketing.xlk.service.IBuildingSpecialRoomService;
12
 import com.yunzhi.marketing.xlk.service.IBuildingSpecialRoomService;
14
 import org.slf4j.LoggerFactory;
16
 import org.slf4j.LoggerFactory;
15
 import org.springframework.beans.BeanUtils;
17
 import org.springframework.beans.BeanUtils;
16
 import org.springframework.beans.factory.annotation.Autowired;
18
 import org.springframework.beans.factory.annotation.Autowired;
17
-import org.springframework.web.bind.annotation.PathVariable;
18
-import org.springframework.web.bind.annotation.RequestBody;
19
-import org.springframework.web.bind.annotation.RequestHeader;
20
-import org.springframework.web.bind.annotation.RequestMapping;
21
-import org.springframework.web.bind.annotation.RequestMethod;
22
-import org.springframework.web.bind.annotation.RequestParam;
23
-import org.springframework.web.bind.annotation.ResponseBody;
24
-import org.springframework.web.bind.annotation.RestController;
19
+import org.springframework.web.bind.annotation.*;
25
 
20
 
26
 import javax.servlet.http.HttpServletRequest;
21
 import javax.servlet.http.HttpServletRequest;
27
 import java.time.LocalDateTime;
22
 import java.time.LocalDateTime;
44
     @Autowired
39
     @Autowired
45
     public IBuildingSpecialRoomService iBuildingSpecialRoomService;
40
     public IBuildingSpecialRoomService iBuildingSpecialRoomService;
46
 
41
 
42
+    @Autowired
43
+    public ITaBuildingService iTaBuildingService;
44
+
47
 
45
 
48
     /**
46
     /**
49
      * 分页查询列表
47
      * 分页查询列表
78
         return responseBean;
76
         return responseBean;
79
     }
77
     }
80
 
78
 
79
+    @GetMapping("/wx/buildingSpecialRoom/building")
80
+    public ResponseBean getListOfBuilding(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
81
+                                          @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
82
+                                          @RequestParam(value ="cityId", required = false) String cityId,
83
+                                          HttpServletRequest request) {
84
+        Integer orgId = getOrgId(request);
85
+        IPage<TaBuilding> page = new Page<>(pageNum, pageSize);
86
+
87
+        IPage<TaBuilding> result = iTaBuildingService.getListOfSpecial(page, orgId, cityId);
88
+
89
+        return ResponseBean.success(result);
90
+    }
91
+
81
     /**
92
     /**
82
      * 保存对象
93
      * 保存对象
83
      * @param buildingSpecialRoomDTO 实体对象
94
      * @param buildingSpecialRoomDTO 实体对象

+ 2
- 0
src/main/java/com/yunzhi/marketing/xlk/service/IBuildingSpecialRoomService.java Просмотреть файл

1
 package com.yunzhi.marketing.xlk.service;
1
 package com.yunzhi.marketing.xlk.service;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
+import com.yunzhi.marketing.entity.TaBuilding;
4
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
6
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
5
 
7
 
6
 /**
8
 /**

+ 8
- 0
src/main/java/com/yunzhi/marketing/xlk/service/impl/BuildingSpecialRoomServiceImpl.java Просмотреть файл

1
 package com.yunzhi.marketing.xlk.service.impl;
1
 package com.yunzhi.marketing.xlk.service.impl;
2
 
2
 
3
+import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
+import com.yunzhi.marketing.entity.TaBuilding;
6
+import com.yunzhi.marketing.mapper.TaBuildingMapper;
4
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
7
 import com.yunzhi.marketing.xlk.entity.BuildingSpecialRoom;
5
 import com.yunzhi.marketing.xlk.mapper.BuildingSpecialRoomMapper;
8
 import com.yunzhi.marketing.xlk.mapper.BuildingSpecialRoomMapper;
6
 import com.yunzhi.marketing.xlk.service.IBuildingSpecialRoomService;
9
 import com.yunzhi.marketing.xlk.service.IBuildingSpecialRoomService;
10
+import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.stereotype.Service;
11
 import org.springframework.stereotype.Service;
8
 
12
 
13
+import java.util.List;
14
+
9
 /**
15
 /**
10
  * <p>
16
  * <p>
11
  * 特价房源表  服务实现类
17
  * 特价房源表  服务实现类
16
  */
22
  */
17
 @Service
23
 @Service
18
 public class BuildingSpecialRoomServiceImpl extends ServiceImpl<BuildingSpecialRoomMapper, BuildingSpecialRoom> implements IBuildingSpecialRoomService {
24
 public class BuildingSpecialRoomServiceImpl extends ServiceImpl<BuildingSpecialRoomMapper, BuildingSpecialRoom> implements IBuildingSpecialRoomService {
25
+    @Autowired
26
+    TaBuildingMapper taBuildingMapper;
19
 
27
 
20
 }
28
 }

+ 1
- 1
src/main/java/com/yunzhi/marketing/xlk/service/impl/ChannelCustomerServiceImpl.java Просмотреть файл

101
     @Override
101
     @Override
102
     public ResponseBean markingChannelCustomer(MarkingChannelCustomerDTO params) {
102
     public ResponseBean markingChannelCustomer(MarkingChannelCustomerDTO params) {
103
         // 渠道推荐的客户
103
         // 渠道推荐的客户
104
-        if ("channel".equals(params.getType())) {
104
+        if ("report".equals(params.getType())) {
105
             ChannelCustomer customer = channelCustomerMapper.selectById(params.getId());
105
             ChannelCustomer customer = channelCustomerMapper.selectById(params.getId());
106
             // 审核通过 先查看在ta_recommend_customer 手机号是否存在
106
             // 审核通过 先查看在ta_recommend_customer 手机号是否存在
107
             LambdaQueryWrapper<TaRecommendCustomer> queryWrapper = new LambdaQueryWrapper<>();
107
             LambdaQueryWrapper<TaRecommendCustomer> queryWrapper = new LambdaQueryWrapper<>();

+ 28
- 0
src/main/resources/mapper/TaBuildingMapper.xml Просмотреть файл

766
         INNER JOIN ( SELECT x.institution_code FROM xlk_user_institution t LEFT JOIN xlk_institution x ON t.institution_id = x.institution_id WHERE t.user_id = #{userId}) g ON i.institution_code LIKE g.institution_code
766
         INNER JOIN ( SELECT x.institution_code FROM xlk_user_institution t LEFT JOIN xlk_institution x ON t.institution_id = x.institution_id WHERE t.user_id = #{userId}) g ON i.institution_code LIKE g.institution_code
767
         )
767
         )
768
     </select>
768
     </select>
769
+    <select id="getBuilidngsOfPerson" resultType="com.yunzhi.marketing.entity.TaBuilding">
770
+        SELECT
771
+            *
772
+        FROM
773
+            ta_building t
774
+                INNER JOIN ta_person_building s ON t.building_id = s.building_id
775
+                AND s.person_id = #{personId}
776
+        WHERE
777
+            t.org_id = #{orgId}
778
+          AND t.`status` = 1
779
+        ORDER BY
780
+            t.create_date DESC
781
+    </select>
782
+    <select id="getSpecial" resultType="com.yunzhi.marketing.entity.TaBuilding">
783
+        SELECT
784
+            DISTINCT t.*
785
+        FROM
786
+        ta_building t
787
+        INNER JOIN xlk_building_special_room s ON t.org_id = s.org_id
788
+            AND t.building_id = s.building_id
789
+            AND s.start_time &lt;= now( )
790
+            AND s.end_time &gt;= now( )
791
+        WHERE
792
+            t.org_id = 1
793
+            AND t.`status` = 1
794
+        ORDER BY
795
+            t.create_date DESC
796
+    </select>
769
 
797
 
770
 </mapper>
798
 </mapper>

+ 11
- 3
src/main/resources/mapper/TaRecommendCustomerMapper.xml Просмотреть файл

949
             t.phone,
949
             t.phone,
950
             t.picture,
950
             t.picture,
951
             t.sex,
951
             t.sex,
952
-            "customer" AS type
952
+            "customer" AS type,
953
+            t.building_id as buildingId,
954
+            t.realty_consultant as consultant,
955
+            t.status as customerStatus,
956
+            null as channelStatus
953
         FROM
957
         FROM
954
             ta_recommend_customer t
958
             ta_recommend_customer t
955
-        INNER JOIN ta_person p ON t.recommend_person = p.person_id
959
+--         INNER JOIN ta_person p ON t.recommend_person = p.person_id
956
         WHERE
960
         WHERE
957
             t.building_id = #{buildingId}
961
             t.building_id = #{buildingId}
958
         <if test="keywords != null and keywords !=''">
962
         <if test="keywords != null and keywords !=''">
965
             phone,
969
             phone,
966
             picture,
970
             picture,
967
             sex,
971
             sex,
968
-            "channel" AS type
972
+            "report" AS type,
973
+            null as buildingId,
974
+            null as consultant,
975
+            null as customerStatus,
976
+            status as channelStatus
969
         FROM
977
         FROM
970
             xlk_channel_customer
978
             xlk_channel_customer
971
         WHERE
979
         WHERE