Преглед на файлове

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

张延森 преди 5 години
родител
ревизия
c42364cc7b

+ 5
- 0
src/main/java/com/huiju/estateagents/bo/request/RaiseOrderRequestBO.java Целия файл

@@ -62,4 +62,9 @@ public class RaiseOrderRequestBO {
62 62
      * 结束时间
63 63
      */
64 64
     private String payEndTime;
65
+
66
+    /**
67
+     * 微信订单号
68
+     */
69
+    private String tradeNo;
65 70
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java Целия файл

@@ -705,4 +705,9 @@ public class CommConstant {
705 705
      * 菜单
706 706
      */
707 707
     public static final Object ADVANCED_TYPE_MENU = "menu";
708
+
709
+    /**
710
+     * 线下缴费
711
+     */
712
+    public static final String PAY_TYPE_OFFLINE = "offLine";
708 713
 }

+ 1
- 1
src/main/java/com/huiju/estateagents/controller/MiniAppController.java Целия файл

@@ -333,7 +333,7 @@ public class MiniAppController extends BaseController {
333 333
 
334 334
             // 定位城市
335 335
             String location = null == lon ? null : lon + "," + lat;
336
-            TdCity tdCity = iTdCityService.getLocationCity(location, orgId, getPersonId(request));
336
+            TdCity tdCity = iTdCityService.getLocationCity(location, orgId, taPerson.getPersonId());
337 337
             result.put("city", tdCity);
338 338
 
339 339
             return ResponseBean.success(result);

+ 22
- 4
src/main/java/com/huiju/estateagents/controller/TaHousingResourcesController.java Целия файл

@@ -228,8 +228,8 @@ public class TaHousingResourcesController extends BaseController {
228 228
         Integer orgId = getOrgId(request);
229 229
         String personId = getPersonId(request);
230 230
 
231
-        logger.info("TaHouseingResourcesController.listHousingResources 接收参数:orgId:{},salesBatchId:{},startPrice:{},endPrice:{},apartmentId:{}",
232
-                orgId, salesBatchId, startPrice, endPrice, apartmentId);
231
+        logger.info("TaHouseingResourcesController.listHousingResources 接收参数:orgId:{},salesBatchId:{},startPrice:{},endPrice:{},apartmentId:{},source:{}",
232
+                orgId, salesBatchId, startPrice, endPrice, apartmentId, source);
233 233
 
234 234
         try {
235 235
             //获取所有楼房的预选热度和认筹热度
@@ -488,11 +488,11 @@ public class TaHousingResourcesController extends BaseController {
488 488
      * @return
489 489
      */
490 490
     @RequestMapping(value = "/admin/house/updateLockingStatus", method = RequestMethod.PUT)
491
-    public ResponseBean updateLockingStatus(Integer houseId, String type, Integer raiseHouseId, String personId,
491
+    public ResponseBean updateLockingStatus(Integer houseId, String type, Integer raiseHouseId, String personId, Integer raiseRecordId,
492 492
                                             HttpServletRequest request) {
493 493
         ResponseBean responseBean = new ResponseBean();
494 494
         try {
495
-            responseBean = iTaHousingResourcesService.updateLockingStatus(houseId, type, getOrgId(request), raiseHouseId, personId);
495
+            responseBean = iTaHousingResourcesService.updateLockingStatus(houseId, type, getOrgId(request), raiseHouseId, personId, raiseRecordId);
496 496
             logger.info("updateLockingStatus 返回结果:", JSONObject.toJSONString(responseBean));
497 497
         } catch (Exception e) {
498 498
             logger.error("updateLockingStatus 异常:", e);
@@ -500,4 +500,22 @@ public class TaHousingResourcesController extends BaseController {
500 500
         }
501 501
         return responseBean;
502 502
     }
503
+
504
+    /**
505
+     * 校验房源认筹状态
506
+     *
507
+     * @return
508
+     */
509
+    @RequestMapping(value = "/wx/check/raise", method = RequestMethod.GET)
510
+    public ResponseBean checkRaise(@RequestParam(value = "houseIds") String houseIds,HttpServletRequest request) {
511
+        ResponseBean responseBean = new ResponseBean();
512
+        try {
513
+            boolean state = iTaHousingResourcesService.checkRaiseState(houseIds,getPersonId(request),getOrgId(request));
514
+            responseBean.addSuccess(state);
515
+        } catch (Exception e) {
516
+            logger.error("校验房源状态 -=- {}", e.getMessage());
517
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_MISSING_PARAMS);
518
+        }
519
+        return responseBean;
520
+    }
503 521
 }

+ 2
- 2
src/main/java/com/huiju/estateagents/controller/TaRaiseHouseController.java Целия файл

@@ -71,12 +71,12 @@ public class TaRaiseHouseController extends BaseController {
71 71
      * @return
72 72
      */
73 73
     @RequestMapping(value = "/admin/taRaiseHouse", method = RequestMethod.POST)
74
-    public ResponseBean taRaiseHouseAdd(TaRaiseHouse taRaiseHouse, HttpServletRequest request) {
74
+    public ResponseBean taRaiseHouseAdd(@RequestBody TaRaiseHouse taRaiseHouse, HttpServletRequest request) {
75 75
         ResponseBean responseBean = new ResponseBean();
76 76
         try {
77 77
 
78 78
             // 校验参数
79
-            if (taRaiseHouse.getRaiseRecordId() != null) {
79
+            if (taRaiseHouse.getRaiseRecordId() == null) {
80 80
                 responseBean.addError("参数错误");
81 81
                 return responseBean;
82 82
             }

+ 31
- 6
src/main/java/com/huiju/estateagents/controller/TaRaiseRecordController.java Целия файл

@@ -194,7 +194,7 @@ public class TaRaiseRecordController extends BaseController {
194 194
                 iTaRaiseRecordService.updateForSubtractRaiseHeat(record.getRaiseRecordId());
195 195
 
196 196
                 //发送订阅消息
197
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"在线选房认筹通知","认筹单已作废","点击详情查看认筹单","具体原因查看详情",false);
197
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"认筹通知","认筹单已作废","点击详情查看认筹单","具体原因查看详情",false);
198 198
             });
199 199
 
200 200
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -241,7 +241,7 @@ public class TaRaiseRecordController extends BaseController {
241 241
                 iTaRaiseRecordService.updateForSubtractRaiseHeat(record.getRaiseRecordId());
242 242
 
243 243
                 //发送订阅消息
244
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"在线选房认筹通知","认筹单已作废","点击详情查看认筹单","具体原因查看详情",false);
244
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"认筹通知","认筹单已作废","点击详情查看认筹单","具体原因查看详情",false);
245 245
             });
246 246
 
247 247
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -291,7 +291,7 @@ public class TaRaiseRecordController extends BaseController {
291 291
                     return responseBean;
292 292
                 }
293 293
                 if (!CommConstant.PAY_STATUS_UNPAID.equals(tr.getPayStatus())) {
294
-                    responseBean.addError(String.format("认筹单编号为%s的记录已缴费或意图款,请重新选择", record.getRaiseRecordId()));
294
+                    responseBean.addError(String.format("认筹单编号为%s的记录为未缴费状态 ,请重新选择", record.getRaiseRecordId()));
295 295
                     return responseBean;
296 296
                 }
297 297
             }
@@ -307,7 +307,7 @@ public class TaRaiseRecordController extends BaseController {
307 307
                 record.setPayStatus(CommConstant.PAY_STATUS_PAID);
308 308
                 record.setUpdateDate(LocalDateTime.now());
309 309
                 //发送订阅消息
310
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"在线选房认筹通知","认筹已缴费","点击详情查看认筹单","您的认筹已成功缴费",false);
310
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"认筹通知","认筹已缴费","点击详情查看认筹单","您的认筹已成功缴费",false);
311 311
             });
312 312
 
313 313
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -379,7 +379,7 @@ public class TaRaiseRecordController extends BaseController {
379 379
                 record.setRefundReason(raiseRecord.getRefundReason());
380 380
                 record.setUpdateDate(LocalDateTime.now());
381 381
                 //发送订阅消息
382
-                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"在线选房认筹通知","认筹已退费","点击详情查看认筹单","您的认筹已成功退费",false);
382
+                iTaRaiseRecordService.sendRaiseMsg(record.getRaiseRecordId(),record.getRaiseId(),"认筹通知","认筹已退费","点击详情查看认筹单","您的认筹已成功退费",false);
383 383
             });
384 384
 
385 385
             if (iTaRaiseRecordService.updateBatchById(raiseRecord.getTaRaiseRecords())) {
@@ -516,7 +516,7 @@ public class TaRaiseRecordController extends BaseController {
516 516
             responseBean.addSuccess(iTaRaiseRecordService.saveRaiseInfo(taRaiseRecord, getOrgId(request), getPersonId(request)));
517 517
         } catch (Exception e) {
518 518
             logger.error("微信端下认筹单 -=- {}", e.toString());
519
-            responseBean.addError(e.getMessage());
519
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_MISSING_PARAMS);
520 520
         }
521 521
         return responseBean;
522 522
     }
@@ -645,4 +645,29 @@ public class TaRaiseRecordController extends BaseController {
645 645
         }
646 646
         return responseBean;
647 647
     }
648
+
649
+    /**
650
+     * 微信端客户选择线下缴费就需要把此人的认筹单的缴费状态改为线下缴费
651
+     *
652
+     */
653
+    @RequestMapping(value = "/wx/taRaiseRecord/{raiseRecordId}", method = RequestMethod.PUT)
654
+    public ResponseBean taRaiseRecordUpdate(@PathVariable Integer raiseRecordId,
655
+                                            HttpServletRequest request) {
656
+        ResponseBean responseBean = new ResponseBean();
657
+        try {
658
+            TaRaiseRecord taRaiseRecord = new TaRaiseRecord();
659
+            taRaiseRecord.setRaiseRecordId(raiseRecordId);
660
+            taRaiseRecord.setPayType(CommConstant.PAY_TYPE_OFFLINE);
661
+            if (iTaRaiseRecordService.updateById(taRaiseRecord)) {
662
+                responseBean.addSuccess(taRaiseRecord);
663
+            } else {
664
+                responseBean.addError("fail");
665
+            }
666
+        } catch (Exception e) {
667
+            e.printStackTrace();
668
+            logger.error("taRaiseRecordUpdate -=- {}", e.toString());
669
+            responseBean.addError(e.getMessage());
670
+        }
671
+        return responseBean;
672
+    }
648 673
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/po/TaHousingResourcesPO.java Целия файл

@@ -107,4 +107,10 @@ public class TaHousingResourcesPO extends TaHousingResources {
107 107
      */
108 108
     @TableField(exist = false)
109 109
     private Integer raiseRecordId;
110
+
111
+    /**
112
+     * 是否展示房源价格
113
+     */
114
+    @TableField(exist = false)
115
+    private Boolean displayHousePrice;
110 116
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/po/TaPreselectionRecordPO.java Целия файл

@@ -110,4 +110,10 @@ public class TaPreselectionRecordPO extends TaPreselectionRecord {
110 110
      */
111 111
     @TableField(exist = false)
112 112
     private TaHousingResources housingInfo;
113
+
114
+    /**
115
+     * 是否展示房源价格
116
+     */
117
+    @TableField(exist = false)
118
+    private Boolean displayHousePrice;
113 119
 }

+ 10
- 1
src/main/java/com/huiju/estateagents/service/ITaHousingResourcesService.java Целия файл

@@ -170,5 +170,14 @@ public interface ITaHousingResourcesService extends IService<TaHousingResources>
170 170
      * @param personId
171 171
      * @return
172 172
      */
173
-    ResponseBean updateLockingStatus(Integer houseId, String type, Integer orgId, Integer raiseHouseId, String personId);
173
+    ResponseBean updateLockingStatus(Integer houseId, String type, Integer orgId, Integer raiseHouseId, String personId, Integer raiseRecordId);
174
+
175
+    /**
176
+     * 校验房源的认筹状态
177
+     * @param houseIds
178
+     * @param personId
179
+     * @param orgId
180
+     * @return
181
+     */
182
+    boolean checkRaiseState(String houseIds, String personId, Integer orgId) throws Exception;
174 183
 }

+ 117
- 90
src/main/java/com/huiju/estateagents/service/impl/TaHousingResourcesServiceImpl.java Целия файл

@@ -95,6 +95,9 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
95 95
     @Autowired
96 96
     private TaRaiseMapper taRaiseMapper;
97 97
 
98
+    @Autowired
99
+    private TaRaiseRecordMapper taRaiseRecordMapper;
100
+
98 101
     /**
99 102
      * 分页获取房源列表
100 103
      *
@@ -277,74 +280,12 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
277 280
         if (null == taRaise) {
278 281
             resourcesPO.setRaiseBtn(false);
279 282
         } else {
280
-            //有认筹表的情况下判断是否认筹过这个房源
281
-            boolean raiseBtnStatus = checkRaiseBtn(taRaise, salesBatchId, personId, houseId, orgId);
282 283
             resourcesPO.setTaRaise(taRaise);
283 284
         }
284 285
 
285 286
         return resourcesPO;
286 287
     }
287 288
 
288
-    /**
289
-     * 校验认筹状态的按钮
290
-     *
291
-     * @param taRaise
292
-     * @param salesBatchId
293
-     * @param personId
294
-     * @param houseId
295
-     * @param orgId
296
-     * @return
297
-     */
298
-    private boolean checkRaiseBtn(TaRaise taRaise, Integer salesBatchId, String personId, Integer houseId, Integer orgId) {
299
-        if (taRaise.getStatus() != CommConstant.STATUS_NORMAL) {
300
-            return false;
301
-        }
302
-        if (taRaise.getNeedPreselection()) {
303
-            //查看是否有当前房源的预选记录
304
-            QueryWrapper<TaPreselectionRecord> preselectionRecordQueryWrapper = new QueryWrapper<>();
305
-            preselectionRecordQueryWrapper.eq("sales_batch_id", salesBatchId);
306
-            preselectionRecordQueryWrapper.eq("building_id", taRaise.getBuildingId());
307
-            preselectionRecordQueryWrapper.eq("org_id", orgId);
308
-            preselectionRecordQueryWrapper.eq("house_id", houseId);
309
-            preselectionRecordQueryWrapper.eq("person_id", personId);
310
-            TaPreselectionRecord taPreselectionRecord = taPreselectionRecordMapper.selectOne(preselectionRecordQueryWrapper);
311
-            if (null == taPreselectionRecord) {
312
-                return false;
313
-            }
314
-        }
315
-        //判断是否在时间之内
316
-
317
-        LocalDateTime raiseStartTime = taRaise.getRaiseStartTime();
318
-        LocalDateTime raiseEndTime = taRaise.getRaiseEndTime();
319
-        LocalDateTime now = LocalDateTime.now();
320
-        if (now.isBefore(raiseStartTime) || now.isAfter(raiseEndTime)) {
321
-            return false;
322
-        }
323
-        //销售批次校验
324
-        TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(salesBatchId);
325
-        if (taSalesBatch.getStatus() != CommConstant.STATUS_NORMAL) {
326
-            return false;
327
-        }
328
-
329
-        //房源信息
330
-        TaHousingResources taHousingResources = taHousingResourcesMapper.selectById(houseId);
331
-        if (taHousingResources.getStatus() != CommConstant.STATUS_NORMAL || CommConstant.HOUSE_LOCKING_STATUS_LOCKED.equals(taHousingResources.getHouseLockingStatus())) {
332
-            return false;
333
-        }
334
-
335
-        //查询我的认筹记录表
336
-        QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
337
-        taRaiseHouseQueryWrapper.eq("org_id", orgId);
338
-        taRaiseHouseQueryWrapper.eq("house_id", houseId);
339
-        taRaiseHouseQueryWrapper.eq("person_id", personId);
340
-        List<TaRaiseHouse> list = taRaiseHouseService.list(taRaiseHouseQueryWrapper);
341
-        if (list.size() > 0) {
342
-            return false;
343
-        }
344
-
345
-        return true;
346
-    }
347
-
348 289
     /**
349 290
      * 校验楼栋信息存不存在
350 291
      *
@@ -709,7 +650,7 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
709 650
     }
710 651
 
711 652
     @Override
712
-    public ResponseBean updateLockingStatus(Integer houseId, String type, Integer orgId, Integer raiseHouseId, String personId) {
653
+    public ResponseBean updateLockingStatus(Integer houseId, String type, Integer orgId, Integer raiseHouseId, String personId, Integer raiseRecordId) {
713 654
         logger.info("updateLockingStatus 接收参数:houseId:{},type:{},orgId:{},raiseHouseId:{},personId:{}",
714 655
                 houseId, type, orgId, raiseHouseId, personId);
715 656
         ResponseBean responseBean = new ResponseBean();
@@ -721,56 +662,66 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
721 662
             return responseBean;
722 663
         }
723 664
 
724
-        QueryWrapper<TaPerson> personQueryWrapper = new QueryWrapper<>();
725
-        personQueryWrapper.eq("person_id", personId);
726
-        TaPerson person = taPersonService.getOne(personQueryWrapper);
727
-        if (person == null) {
728
-            logger.info("updateLockingStatus 用户未找到");
729
-            responseBean.addError("fail");
730
-            return responseBean;
731
-        }
665
+        QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
666
+        taRaiseHouseQueryWrapper.eq("raise_record_id", raiseRecordId);
667
+        taRaiseHouseQueryWrapper.eq("raise_house_id", raiseHouseId);
668
+        TaRaiseHouse taRaiseHouse = taRaiseHouseService.getOne(taRaiseHouseQueryWrapper);
669
+
670
+        QueryWrapper<TaRaiseRecord> taRaiseRecordQueryWrapper = new QueryWrapper<>();
671
+        taRaiseRecordQueryWrapper.eq("raise_record_id", raiseRecordId);
672
+        TaRaiseRecord raiseRecord = taRaiseRecordMapper.selectOne(taRaiseRecordQueryWrapper);
732 673
 
733 674
         // 更新为锁定状态
734
-        if ("lock".equals(type)) {
675
+        if ("locked".equals(type)) {
676
+                // 校验当前房源状态
677
+                if ("locked".equals(po.getHouseLockingStatus())){
678
+                    responseBean.addError("房源已被锁定");
679
+                    return responseBean;
680
+                }
735 681
 
736
-            // 校验当前房源状态
737
-            if (!"locked".equals(po.getHouseLockingStatus())) {
738
-                // 更行房源表状态
739 682
                 TaHousingResources housingResources = new TaHousingResources();
740 683
                 housingResources.setHouseId(po.getHouseId());
741 684
                 housingResources.setHouseLockingStatus("locked");
742
-                housingResources.setHouseLockingPerson(personId);
743
-                housingResources.setUpdateUser(person.getUserId());
685
+                housingResources.setHouseLockingPerson(taRaiseHouse.getPersonId());
744 686
                 housingResources.setUpdateDate(LocalDateTime.now());
687
+                housingResources.setHouseLockingPerson(raiseRecord.getPersonId());
745 688
                 updateById(housingResources);
746 689
 
690
+                //更新认筹单房源锁定状态
691
+                TaRaiseRecord taRaiseRecord = new TaRaiseRecord();
692
+                taRaiseRecord.setRaiseRecordId(raiseRecordId);
693
+                taRaiseRecord.setHouseLockingStatus("locked");
694
+                taRaiseRecordMapper.updateById(taRaiseRecord);
695
+
747 696
                 // 更新关联表状态
748 697
                 TaRaiseHouse raiseHouse = new TaRaiseHouse();
749 698
                 raiseHouse.setRaiseHouseId(raiseHouseId);
750 699
                 raiseHouse.setHouseLockingStatus("locked");
751
-                raiseHouse.setPersonId(personId);
752
-                raiseHouse.setPersonName(person.getName());
753 700
                 responseBean.addSuccess(taRaiseHouseService.updateById(raiseHouse));
754 701
                 return responseBean;
755
-            }
756
-            responseBean.addError("当前房源已为锁定状态");
757
-            return responseBean;
758 702
         }
759 703
 
760 704
         // 更新为解锁状态
761
-        if ("unlock".equals(type)) {
705
+        if ("unlocked".equals(type)) {
706
+                // 校验当前房源状态
707
+                if ("unlocked".equals(po.getHouseLockingStatus())){
708
+                    responseBean.addError("房源已被解锁");
709
+                    return responseBean;
710
+                }
762 711
 
763
-            // 校验当前房源状态
764
-            if ("locked".equals(po.getHouseLockingStatus())) {
765
-                // 更新房源表状态
766 712
                 TaHousingResources housingResources = new TaHousingResources();
767 713
                 housingResources.setHouseId(po.getHouseId());
768 714
                 housingResources.setHouseLockingStatus("unlocked");
769 715
                 housingResources.setHouseLockingPerson("");
770
-                housingResources.setUpdateUser(person.getUserId());
771 716
                 housingResources.setUpdateDate(LocalDateTime.now());
772 717
                 updateById(housingResources);
773 718
 
719
+                //更新认筹单房源锁定状态
720
+                TaRaiseRecord taRaiseRecord = new TaRaiseRecord();
721
+                taRaiseRecord.setRaiseRecordId(raiseRecordId);
722
+                taRaiseRecord.setHouseLockingStatus("unlocked");
723
+                taRaiseRecordMapper.updateById(taRaiseRecord);
724
+
774 725
                 // 更新关联表状态
775 726
                 TaRaiseHouse raiseHouse = new TaRaiseHouse();
776 727
                 raiseHouse.setRaiseHouseId(raiseHouseId);
@@ -779,14 +730,90 @@ public class TaHousingResourcesServiceImpl extends ServiceImpl<TaHousingResource
779 730
                 raiseHouse.setPersonName("");
780 731
                 responseBean.addSuccess(taRaiseHouseService.updateById(raiseHouse));
781 732
                 return responseBean;
782
-            }
783
-            responseBean.addError("当前房源已为解锁状态");
784
-            return responseBean;
785 733
         }
786 734
         responseBean.addError("fail");
787 735
         return responseBean;
788 736
     }
789 737
 
738
+    /**
739
+     * 校验房源的认筹状态
740
+     *
741
+     * @param houseIds
742
+     * @param personId
743
+     * @param orgId
744
+     * @return
745
+     */
746
+    @Override
747
+    public boolean checkRaiseState(String houseIds, String personId, Integer orgId) throws Exception {
748
+        String[] houseIdArr = houseIds.split(",");
749
+        //房源信息
750
+        TaHousingResources taHousingResources = taHousingResourcesMapper.selectById(houseIdArr[0]);
751
+        //通过销售批次信息获取认筹信息
752
+        QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
753
+        taRaiseQueryWrapper.eq("org_id",orgId);
754
+        taRaiseQueryWrapper.eq("sales_batch_id",taHousingResources.getSalesBatchId());
755
+        taRaiseQueryWrapper.eq("building_id",taHousingResources.getBuildingId());
756
+        TaRaise taRaise = taRaiseMapper.selectOne(taRaiseQueryWrapper);
757
+        if (taRaise.getStatus() != CommConstant.STATUS_NORMAL) {
758
+            throw new Exception("认筹单已经作废");
759
+        }
760
+        //校验房源是否同一批次
761
+        for (String houseId : houseIdArr){
762
+            TaHousingResources taHousingResourcesChecked = taHousingResourcesMapper.selectById(houseId);
763
+            if (taHousingResources.getSalesBatchId() != taHousingResourcesChecked.getSalesBatchId()){
764
+                throw new Exception("非同一批次房源");
765
+            }
766
+            if (taRaise.getNeedPreselection()) {
767
+                //查看是否有当前房源的预选记录
768
+                QueryWrapper<TaPreselectionRecord> preselectionRecordQueryWrapper = new QueryWrapper<>();
769
+                preselectionRecordQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
770
+                preselectionRecordQueryWrapper.eq("building_id", taRaise.getBuildingId());
771
+                preselectionRecordQueryWrapper.eq("org_id", orgId);
772
+                preselectionRecordQueryWrapper.eq("house_id", houseId);
773
+                preselectionRecordQueryWrapper.eq("person_id", personId);
774
+                TaPreselectionRecord taPreselectionRecord = taPreselectionRecordMapper.selectOne(preselectionRecordQueryWrapper);
775
+                if (null == taPreselectionRecord) {
776
+                    throw new Exception("需要先预选才能认筹");
777
+                }
778
+            }
779
+            //查询我的认筹记录表
780
+            QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
781
+            taRaiseHouseQueryWrapper.eq("org_id", orgId);
782
+            taRaiseHouseQueryWrapper.eq("house_id", houseId);
783
+            taRaiseHouseQueryWrapper.eq("person_id", personId);
784
+            List<TaRaiseHouse> list = taRaiseHouseService.list(taRaiseHouseQueryWrapper);
785
+            if (list.size() > 0) {
786
+                throw new Exception("您已有认筹单包含当前房源");
787
+            }
788
+
789
+        }
790
+        if (taHousingResources.getStatus() != CommConstant.STATUS_NORMAL) {
791
+            throw new Exception("房源已被取消发布");
792
+        }
793
+        if (CommConstant.HOUSE_LOCKING_STATUS_LOCKED.equals(taHousingResources.getHouseLockingStatus())){
794
+            throw new Exception("房源已被其他客户锁定");
795
+        }
796
+        //销售批次信息
797
+        TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(taHousingResources.getSalesBatchId());
798
+        //销售批次校验
799
+        if (null == taSalesBatch) {
800
+            throw new Exception("无销售批次无法认筹");
801
+        }
802
+        if (taSalesBatch.getStatus() != CommConstant.STATUS_NORMAL) {
803
+            throw new Exception("销售批次已被取消发布");
804
+        }
805
+
806
+        //判断是否在时间之内
807
+        LocalDateTime raiseStartTime = taRaise.getRaiseStartTime();
808
+        LocalDateTime raiseEndTime = taRaise.getRaiseEndTime();
809
+        LocalDateTime now = LocalDateTime.now();
810
+        if (now.isBefore(raiseStartTime) || now.isAfter(raiseEndTime)) {
811
+            throw new Exception("不在认筹时间内");
812
+        }
813
+
814
+        return true;
815
+    }
816
+
790 817
     //更新房号
791 818
     private void updateRoom(TaHousingResources taHousingResources) {
792 819
         TaBuildingRoom taBuildingRoom = new TaBuildingRoom();

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/TaRaiseRecordServiceImpl.java Целия файл

@@ -149,7 +149,7 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
149 149
         saveRaiseRecord(taRaiseRecord, orgId, personId, taRaise);
150 150
 
151 151
         //发送订阅消息
152
-        sendRaiseMsg(taRaiseRecord.getRaiseRecordId(), personId, "在线选房认筹通知", "已提交认筹", "点击详情查看认筹单", "房源紧俏,请赶紧缴费", true);
152
+        sendRaiseMsg(taRaiseRecord.getRaiseRecordId(), personId, "认筹通知", "已提交认筹", "点击详情查看认筹单", "房源紧俏,请赶紧缴费", true);
153 153
 
154 154
         return taRaiseRecord;
155 155
     }

+ 15
- 15
src/main/java/com/huiju/estateagents/service/impl/TdCityServiceImpl.java Целия файл

@@ -72,25 +72,11 @@ public class TdCityServiceImpl extends ServiceImpl<TdCityMapper, TdCity> impleme
72 72
         if (jsonObject.getString("status").equals("1")) {
73 73
             JSONObject addressComponent = jsonObject.getJSONObject("regeocode").getJSONObject("addressComponent");
74 74
             String citycode = addressComponent.getString("citycode");
75
-            QueryWrapper<TdCity> queryWrapper = new QueryWrapper<>();
76
-            queryWrapper.eq("citycode", citycode);
77
-            queryWrapper.eq("leveltype", 2);
78
-            List<TdCity> tdCities = tdCityMapper.selectList(queryWrapper);
79
-            if (tdCities.size() > 0) {
80
-                List<TdCity> cityList = selectWxCity(null, orgId);
81
-                Integer cityId = tdCities.get(0).getId();
82
-                for (TdCity tdCity : cityList) {
83
-                    if (tdCity.getId().equals(cityId)) {
84
-                        return tdCity;
85
-                    }
86
-                }
87
-            }
88
-//            return null;
89
-
90 75
             // 保存用户位置信息
91 76
             if (StringUtils.isNotBlank(personId)) {
92 77
                 ExecutorService threadPool = Executors.newCachedThreadPool();
93 78
                 threadPool.execute(() -> {
79
+                    logger.info("保存用户位置信息开始");
94 80
                     TaPersonPositon record = new TaPersonPositon();
95 81
                     try {
96 82
                         String[] locationArr = location.split(",");
@@ -113,6 +99,20 @@ public class TdCityServiceImpl extends ServiceImpl<TdCityMapper, TdCity> impleme
113 99
                 });
114 100
             }
115 101
 
102
+            QueryWrapper<TdCity> queryWrapper = new QueryWrapper<>();
103
+            queryWrapper.eq("citycode", citycode);
104
+            queryWrapper.eq("leveltype", 2);
105
+            List<TdCity> tdCities = tdCityMapper.selectList(queryWrapper);
106
+            if (tdCities.size() > 0) {
107
+                List<TdCity> cityList = selectWxCity(null, orgId);
108
+                Integer cityId = tdCities.get(0).getId();
109
+                for (TdCity tdCity : cityList) {
110
+                    if (tdCity.getId().equals(cityId)) {
111
+                        return tdCity;
112
+                    }
113
+                }
114
+            }
115
+//            return null;
116 116
         }
117 117
 
118 118
         // 没有匹配到则返回默认城市

+ 4
- 4
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java Целия файл

@@ -225,11 +225,11 @@ public class WxPayServiceImpl implements IWxPayService {
225 225
                 e.setPayTime(LocalDateTime.now());
226 226
                 if (orderInfo.get("refund_status").equals(WXPayConstants.SUCCESS)){
227 227
                     //发送订阅消息
228
-                    taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"在线选房认筹通知","线上退费成功","点击详情查看认筹单","线上退费成功",false);
228
+                    taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"认筹通知","线上退费成功","点击详情查看认筹单","线上退费成功",false);
229 229
                 }
230 230
                 if (!orderInfo.get("refund_status").equals(WXPayConstants.SUCCESS)){
231 231
                     //发送订阅消息
232
-                    taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"在线选房认筹通知","线上退费失败","点击详情查看认筹单","请联系置业顾问",false);
232
+                    taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getPersonId(),"认筹通知","线上退费失败","点击详情查看认筹单","请联系置业顾问",false);
233 233
                 }
234 234
             }
235 235
             taOrderMapper.updateById(e);
@@ -294,7 +294,7 @@ public class WxPayServiceImpl implements IWxPayService {
294 294
         taRaiseRecord.setRefundReason(taOrder.getRefundReason());
295 295
         taRaiseRecordMapper.updateById(taRaiseRecord);
296 296
         //发送订阅消息
297
-        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"在线选房认筹通知","认筹正在退费","点击详情查看认筹单","正在等待微信或银行到账",false);
297
+        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"认筹通知","认筹正在退费","点击详情查看认筹单","正在等待微信或银行到账",false);
298 298
     }
299 299
 
300 300
     /**
@@ -352,7 +352,7 @@ public class WxPayServiceImpl implements IWxPayService {
352 352
         taRaiseRecordMapper.updateById(taRaiseRecord);
353 353
 
354 354
         //发送订阅消息
355
-        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"在线选房认筹通知","认筹支付成功","点击详情查看认筹单","已付款成功",false);
355
+        taRaiseRecordService.sendRaiseMsg(taRaiseRecord.getRaiseRecordId(),taRaiseRecord.getRaiseId(),"认筹通知","认筹支付成功","点击详情查看认筹单","已付款成功",false);
356 356
     }
357 357
 
358 358
     /**

+ 16
- 33
src/main/resources/mapper/TaHousingResourcesMapper.xml Целия файл

@@ -8,7 +8,7 @@
8 8
         FROM
9 9
         (
10 10
         SELECT
11
-        t.house_id,
11
+        t.*,
12 12
         (
13 13
         CASE
14 14
         WHEN ( SELECT num_char_extract ( t.term_name, 2 ) + 0 ) = 0 THEN
@@ -27,51 +27,30 @@
27 27
         ( SELECT num_char_extract ( t.unit_name, 2 ) ) ELSE ( SELECT num_char_extract ( t.unit_name, 2 ) + 0 )
28 28
         END
29 29
         ) unitNamePre,
30
-        t.building_id,
31
-        t.block_id,
32
-        t.block_name,
33
-        t.sales_batch_id,
34
-        t.unit_id,
35
-        t.unit_name,
36
-        t.floor_id,
37
-        t.floor_name,
38
-        t.room_id,
39
-        t.room_name,
40
-        t.price,
41
-        t.heat,
42
-        t.real_heat,
43
-        t.apartment_id,
44
-        t.`status`,
45
-        t.org_id,
46 30
         t2.inside_area,
47 31
         t2.building_area,
48
-        t2.apartment_name,
49
-        t3.term_id,
50
-        t.term_name,
51
-        t.raise_heat,
52
-        t.raise_real_heat,
53
-        t.house_locking_status
32
+        t2.apartment_name
54 33
         FROM
55 34
         ta_housing_resources t
56 35
         LEFT JOIN ta_building_apartment t2 ON t.apartment_id = t2.apartment_id
57
-        LEFT JOIN ta_building_block t3 ON t.block_id = t3.block_id
58 36
         LEFT JOIN ta_sales_batch t4 ON t.sales_batch_id = t4.sales_batch_id
59 37
         <if test="source == 'raiseChoose'">
60 38
             LEFT JOIN ta_raise_house t5 ON t.house_id = t5.house_id
61 39
             LEFT JOIN ta_raise_record t6 ON t6.raise_record_id = t5.raise_record_id
40
+            LEFT JOIN ta_raise t7 ON t.sales_batch_id = t7.sales_batch_id
62 41
         </if>
63 42
         WHERE
64
-        t.sales_batch_id = #{salesBatchId}
65
-        AND t.org_id = #{orgId}
66
-        AND t.`status` > 0
67
-        AND t4.`status` = 1
43
+            t.sales_batch_id = #{salesBatchId}
44
+            AND t.org_id = #{orgId}
45
+            AND t.`status` > 0
46
+            AND t4.`status` = 1
68 47
         <if test = "source == 'raiseChoose'">
69 48
             AND ( t6.`status` != 0 OR t6.`status` IS NULL )
49
+            AND (t.house_locking_status  != 'locked' OR t.house_locking_status IS NULL)
50
+            AND t7.raise_start_time &lt;= now( ) AND t7.raise_end_time &gt;= now()
70 51
             <if test="personId != null and personId != ''">
71
-                AND t6.person_id != #{personId}
52
+                AND (t6.person_id != #{personId} OR t6.person_id IS NULL)
72 53
             </if>
73
-            AND (t.house_locking_status  != 'locked'
74
-            OR t.house_locking_status IS NULL)
75 54
         </if>
76 55
         <choose>
77 56
             <when test=" endPrice != null and startPrice == null">
@@ -90,6 +69,8 @@
90 69
             AND t.apartment_id = #{apartmentId}
91 70
         </if>
92 71
         ) t5
72
+        GROUP BY
73
+        t5.house_id
93 74
         ORDER BY
94 75
         t5.termNamePre,
95 76
         t5.blockNamePre,
@@ -332,7 +313,8 @@
332 313
     <update id="batchUpdateRaiseHeat">
333 314
         UPDATE ta_housing_resources t
334 315
         SET t.raise_heat = #{raiseHeat},
335
-        t.update_user = #{updateUser}
316
+        t.update_user = #{updateUser},
317
+        t.update_date =now()
336 318
         WHERE
337 319
         t.org_id = #{orgId}
338 320
         AND t.sales_batch_id = #{salesBatchId}
@@ -345,7 +327,8 @@
345 327
     <update id="batchUpdateHeat">
346 328
         UPDATE ta_housing_resources t
347 329
         SET t.heat = #{heat},
348
-        t.update_user = #{updateUser}
330
+        t.update_user = #{updateUser},
331
+        t.update_date =now()
349 332
         WHERE
350 333
         t.org_id = #{orgId}
351 334
         AND t.sales_batch_id = #{salesBatchId}

+ 2
- 1
src/main/resources/mapper/TaPreselectionRecordMapper.xml Целия файл

@@ -14,7 +14,8 @@
14 14
             t2.apartment_id,
15 15
             t2.building_id buildingId,
16 16
             t2.`status` housingStatus,
17
-            t3.`status` saleBatchStatus
17
+            t3.`status` saleBatchStatus,
18
+            t3.display_house_price
18 19
         FROM
19 20
             ta_preselection_record t
20 21
         LEFT JOIN ta_housing_resources t2 ON t.house_id = t2.house_id

+ 3
- 0
src/main/resources/mapper/TaRaiseRecordMapper.xml Целия файл

@@ -165,6 +165,9 @@
165 165
             <if test = "bo.transactionId != null and bo.transactionId != ''">
166 166
                 AND t2.transaction_id = #{bo.transactionId}
167 167
             </if>
168
+            <if test = "bo.tradeNo != null and bo.tradeNo != ''">
169
+                AND t2.trade_no = #{bo.tradeNo}
170
+            </if>
168 171
             <if test = "bo.refundNo != null and bo.refundNo != ''">
169 172
                 AND t2.refund_no = #{bo.refundNo}
170 173
             </if>