|
@@ -8,8 +8,9 @@ import com.huiju.estateagents.base.ResponseBean;
|
8
|
8
|
import com.huiju.estateagents.bo.request.HousingRaiseRequestBO;
|
9
|
9
|
import com.huiju.estateagents.bo.request.RaiseOrderRequestBO;
|
10
|
10
|
import com.huiju.estateagents.bo.request.RaiseRecordRequestBO;
|
11
|
|
-import com.huiju.estateagents.entity.TaRaiseRecord;
|
12
|
|
-import com.huiju.estateagents.mapper.TaRaiseRecordMapper;
|
|
11
|
+import com.huiju.estateagents.common.CommConstant;
|
|
12
|
+import com.huiju.estateagents.entity.*;
|
|
13
|
+import com.huiju.estateagents.mapper.*;
|
13
|
14
|
import com.huiju.estateagents.po.TaHousingResourcesPO;
|
14
|
15
|
import com.huiju.estateagents.service.ITaRaiseRecordService;
|
15
|
16
|
import org.slf4j.Logger;
|
|
@@ -17,6 +18,9 @@ import org.slf4j.LoggerFactory;
|
17
|
18
|
import org.springframework.beans.factory.annotation.Autowired;
|
18
|
19
|
import org.springframework.stereotype.Service;
|
19
|
20
|
|
|
21
|
+import java.time.LocalDateTime;
|
|
22
|
+import java.util.List;
|
|
23
|
+
|
20
|
24
|
/**
|
21
|
25
|
* <p>
|
22
|
26
|
* 认筹单(认筹记录表) 服务实现类
|
|
@@ -33,6 +37,21 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
|
33
|
37
|
@Autowired
|
34
|
38
|
private TaRaiseRecordMapper taRaiseRecordMapper;
|
35
|
39
|
|
|
40
|
+ @Autowired
|
|
41
|
+ private TaRaiseMapper taRaiseMapper;
|
|
42
|
+
|
|
43
|
+ @Autowired
|
|
44
|
+ private TaHousingResourcesMapper taHousingResourcesMapper;
|
|
45
|
+
|
|
46
|
+ @Autowired
|
|
47
|
+ private TaSalesBatchMapper taSalesBatchMapper;
|
|
48
|
+
|
|
49
|
+ @Autowired
|
|
50
|
+ private TaPersonMapper taPersonMapper;
|
|
51
|
+
|
|
52
|
+ @Autowired
|
|
53
|
+ private TaRaiseHouseMapper taRaiseHouseMapper;
|
|
54
|
+
|
36
|
55
|
@Override
|
37
|
56
|
public ResponseBean listHousingRaiseByCondition(HousingRaiseRequestBO requestBO, Integer pageNumber, Integer pageSize) {
|
38
|
57
|
logger.info("TaRaiseRecordServiceImpl.listRaiseRecordByCondition 接收参数:bo:{},pageNumber:{},pageSize:{}", JSONObject.toJSONString(requestBO), pageNumber, pageSize);
|
|
@@ -62,4 +81,92 @@ public class TaRaiseRecordServiceImpl extends ServiceImpl<TaRaiseRecordMapper, T
|
62
|
81
|
responseBean.addSuccess(taRaiseRecordMapper.listRaiseOrderByCondition(pg, orderRequestBO));
|
63
|
82
|
return responseBean;
|
64
|
83
|
}
|
|
84
|
+
|
|
85
|
+ /**
|
|
86
|
+ * 小程序端保存认筹单信息
|
|
87
|
+ *
|
|
88
|
+ * @param taRaiseRecord
|
|
89
|
+ * @param orgId
|
|
90
|
+ * @param personId
|
|
91
|
+ * @return
|
|
92
|
+ */
|
|
93
|
+ @Override
|
|
94
|
+ public TaRaiseRecord saveRaiseInfo(TaRaiseRecord taRaiseRecord, Integer orgId, String personId) throws Exception {
|
|
95
|
+ List<Integer> houseList = taRaiseRecord.getHouseList();
|
|
96
|
+ if (houseList.size() < 1){
|
|
97
|
+ throw new Exception("请选择房源!");
|
|
98
|
+ }
|
|
99
|
+ //获取认筹信息
|
|
100
|
+ TaRaise taRaise = taRaiseMapper.selectById(taRaiseRecord.getRaiseId());
|
|
101
|
+ //如果是自动锁房就要判断里面的房源有没有被锁住
|
|
102
|
+ if (taRaise.getHouseLockingType().equals(CommConstant.HOUSE_LOCKING_TYPE_AUTO)){
|
|
103
|
+ if (houseList.size() > 0){
|
|
104
|
+ throw new Exception("此认筹为自动锁房只能选择一个房源!");
|
|
105
|
+ }
|
|
106
|
+ //获取房源详细信息
|
|
107
|
+ TaHousingResources taHousingResources = taHousingResourcesMapper.selectById(houseList.get(0));
|
|
108
|
+ if (null == taHousingResources){
|
|
109
|
+ throw new Exception("此房源不存在!");
|
|
110
|
+ }
|
|
111
|
+ if (taHousingResources.getHouseLockingStatus().equals(CommConstant.HOUSE_LOCKING_STATUS_LOCKED)){
|
|
112
|
+ throw new Exception("此房源已被锁定!");
|
|
113
|
+ }
|
|
114
|
+ //检验成功的话先锁定房源
|
|
115
|
+ lockedHouseResources(taHousingResources);
|
|
116
|
+ }
|
|
117
|
+ //插入认筹单
|
|
118
|
+ saveRaiseRecord(taRaiseRecord,orgId,personId,taRaise);
|
|
119
|
+
|
|
120
|
+ return taRaiseRecord;
|
|
121
|
+ }
|
|
122
|
+
|
|
123
|
+ /**
|
|
124
|
+ * 插入认筹单
|
|
125
|
+ * @param taRaiseRecord
|
|
126
|
+ */
|
|
127
|
+ private void saveRaiseRecord(TaRaiseRecord taRaiseRecord, Integer orgId, String personId,TaRaise taRaise) {
|
|
128
|
+ List<Integer> houseList = taRaiseRecord.getHouseList();
|
|
129
|
+ //销售批次信息
|
|
130
|
+ TaSalesBatch taSalesBatch = taSalesBatchMapper.selectById(taRaiseRecord.getSalesBatchId());
|
|
131
|
+ //获取用户信息
|
|
132
|
+
|
|
133
|
+ taRaiseRecord.setOrgId(orgId);
|
|
134
|
+ taRaiseRecord.setBuildingId(taSalesBatch.getBuildingId());
|
|
135
|
+ taRaiseRecord.setPersonId(personId);
|
|
136
|
+ taRaiseRecord.setHouseNum(houseList.size());
|
|
137
|
+ if (taRaise.getHouseLockingType().equals(CommConstant.HOUSE_LOCKING_TYPE_AUTO)){
|
|
138
|
+ taRaiseRecord.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_LOCKED);
|
|
139
|
+ }
|
|
140
|
+ taRaiseRecord.setStatus(CommConstant.STATUS_NORMAL);
|
|
141
|
+ taRaiseRecord.setPayStatus(CommConstant.PAY_STATUS_UNPAID);
|
|
142
|
+ taRaiseRecord.setPayType(taRaise.getPayType());
|
|
143
|
+ taRaiseRecord.setCreateDate(LocalDateTime.now());
|
|
144
|
+ //插入认筹单信息
|
|
145
|
+ taRaiseRecordMapper.insert(taRaiseRecord);
|
|
146
|
+
|
|
147
|
+ //插入房源与认筹单关系表
|
|
148
|
+ TaPerson taPerson = taPersonMapper.selectById(personId);
|
|
149
|
+ houseList.forEach(e -> {
|
|
150
|
+ TaRaiseHouse taRaiseHouse = new TaRaiseHouse();
|
|
151
|
+ taRaiseHouse.setHouseId(e);
|
|
152
|
+ taRaiseHouse.setCreateDate(LocalDateTime.now());
|
|
153
|
+ if (taRaise.getHouseLockingType().equals(CommConstant.HOUSE_LOCKING_TYPE_AUTO)){
|
|
154
|
+ taRaiseHouse.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_LOCKED);
|
|
155
|
+ }
|
|
156
|
+ taRaiseHouse.setOrgId(orgId);
|
|
157
|
+ taRaiseHouse.setPersonId(personId);
|
|
158
|
+ taRaiseHouse.setPersonName(taPerson.getName());
|
|
159
|
+ taRaiseHouse.setRaiseRecordId(taRaiseRecord.getRaiseRecordId());
|
|
160
|
+ taRaiseHouseMapper.insert(taRaiseHouse);
|
|
161
|
+ });
|
|
162
|
+ }
|
|
163
|
+
|
|
164
|
+ /**
|
|
165
|
+ * 锁定房源
|
|
166
|
+ * @param taHousingResources
|
|
167
|
+ */
|
|
168
|
+ private synchronized void lockedHouseResources(TaHousingResources taHousingResources) {
|
|
169
|
+ taHousingResources.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_LOCKED);
|
|
170
|
+ taHousingResourcesMapper.updateById(taHousingResources);
|
|
171
|
+ }
|
65
|
172
|
}
|