|
@@ -192,6 +192,47 @@ public class WxPayServiceImpl implements IWxPayService {
|
192
|
192
|
});
|
193
|
193
|
}
|
194
|
194
|
|
|
195
|
+ @Override
|
|
196
|
+ public void payCancel(TaOrder taOrder) {
|
|
197
|
+ if (taOrder.getTargetType().equals(CommConstant.ORDER_TARGET_TYPE_HOUSE)){
|
|
198
|
+ cancelHouseOrder(taOrder);
|
|
199
|
+ }
|
|
200
|
+ }
|
|
201
|
+
|
|
202
|
+ private void cancelHouseOrder(TaOrder taOrder) {
|
|
203
|
+ TaRaiseRecord taRaiseRecord = taRaiseRecordMapper.selectById(taOrder.getTargetId());
|
|
204
|
+ //获取认筹信息
|
|
205
|
+ TaRaise taRaise = taRaiseMapper.selectById(taRaiseRecord.getRaiseId());
|
|
206
|
+ //判断是自动锁房状态还是手动锁房状态,手动锁房跳过,自动锁房需要解锁
|
|
207
|
+ if (taRaise.getHouseLockingType().equals(CommConstant.HOUSE_LOCKING_TYPE_AUTO)){
|
|
208
|
+ //如果是自动锁房,客户只能锁定一个房源
|
|
209
|
+ QueryWrapper<TaRaiseHouse> taRaiseHouseQueryWrapper = new QueryWrapper<>();
|
|
210
|
+ taRaiseHouseQueryWrapper.eq("org_id",taOrder.getOrgId());
|
|
211
|
+ taRaiseHouseQueryWrapper.eq("raise_record_id",taRaiseRecord.getRaiseRecordId());
|
|
212
|
+ taRaiseHouseQueryWrapper.eq("person_id",taOrder.getPersonId());
|
|
213
|
+ TaRaiseHouse taRaiseHouse = taRaiseHouseMapper.selectOne(taRaiseHouseQueryWrapper);
|
|
214
|
+
|
|
215
|
+ //获取房源
|
|
216
|
+ TaHousingResources taHousingResources = getHousingResourcesById(taRaiseHouse.getHouseId());
|
|
217
|
+
|
|
218
|
+ //校验并自动解锁
|
|
219
|
+ autoUnLockingHouse(taRaiseRecord,taRaiseHouse,taHousingResources);
|
|
220
|
+ }
|
|
221
|
+ }
|
|
222
|
+
|
|
223
|
+ private synchronized void autoUnLockingHouse(TaRaiseRecord taRaiseRecord, TaRaiseHouse taRaiseHouse, TaHousingResources taHousingResources) {
|
|
224
|
+ log.info("正在为客户personId为{}选中的房源id为{}自动解锁",taRaiseHouse.getPersonId(),taRaiseHouse.getHouseId());
|
|
225
|
+ //更改此房源为解锁状态
|
|
226
|
+ taHousingResources.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_UNLOCKED);
|
|
227
|
+ taHousingResourcesMapper.updateById(taHousingResources);
|
|
228
|
+ //更改此认筹旦和房源关系为解锁状态
|
|
229
|
+ taRaiseHouse.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_UNLOCKED);
|
|
230
|
+ taRaiseHouseMapper.updateById(taRaiseHouse);
|
|
231
|
+ //更改认筹单为解锁状态
|
|
232
|
+ taRaiseRecord.setHouseLockingStatus(CommConstant.HOUSE_LOCKING_STATUS_UNLOCKED);
|
|
233
|
+ taRaiseRecordMapper.updateById(taRaiseRecord);
|
|
234
|
+ }
|
|
235
|
+
|
195
|
236
|
/**
|
196
|
237
|
* 插入退款订单并更新认筹单的退款原因
|
197
|
238
|
* @param taOrder
|