|
@@ -1,6 +1,7 @@
|
1
|
1
|
package com.huiju.estateagents.redpack.service.impl;
|
2
|
2
|
|
3
|
3
|
import com.alibaba.excel.EasyExcel;
|
|
4
|
+import com.alibaba.fastjson.JSONObject;
|
4
|
5
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
5
|
6
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
6
|
7
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -168,11 +169,14 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
168
|
169
|
return responseBean;
|
169
|
170
|
}
|
170
|
171
|
|
|
172
|
+ // 计算支付金额
|
|
173
|
+ Double realAmount = amount * (amount * CommConstant.WXMCH_PAY_RATE);
|
|
174
|
+
|
171
|
175
|
// 1.创建订单主表信息
|
172
|
176
|
TaOrgOrder taOrgOrder = new TaOrgOrder();
|
173
|
177
|
taOrgOrder.setOrgId(orgId);
|
174
|
178
|
taOrgOrder.setTradeNo(CommonUtils.generateTradeNo(CommConstant.RECHARGE));
|
175
|
|
- taOrgOrder.setAmount(CommonUtils.yuanToFen(amount));
|
|
179
|
+ taOrgOrder.setAmount(CommonUtils.yuanToFen(realAmount));
|
176
|
180
|
taOrgOrder.setCreateDate(LocalDateTime.now());
|
177
|
181
|
taOrgOrder.setStatus(CommConstant.STATUS_NORMAL);
|
178
|
182
|
taOrgOrder.setTradingStatus(CommConstant.TRADING_STATUS_PROCESSING);
|
|
@@ -189,8 +193,8 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
189
|
193
|
taOrgOrderDetail.setOrderId(taOrgOrder.getOrderId());
|
190
|
194
|
taOrgOrderDetail.setOrgId(orgId);
|
191
|
195
|
taOrgOrderDetail.setItemType(CommConstant.ITEM_TYPE_RECHARGE);
|
192
|
|
- taOrgOrderDetail.setAmount(CommonUtils.yuanToFen(amount));
|
193
|
|
- taOrgOrderDetail.setUnitPrice(CommonUtils.yuanToFen(amount));
|
|
196
|
+ taOrgOrderDetail.setAmount(CommonUtils.yuanToFen(realAmount));
|
|
197
|
+ taOrgOrderDetail.setUnitPrice(CommonUtils.yuanToFen(realAmount));
|
194
|
198
|
taOrgOrderDetail.setQuantity(1);
|
195
|
199
|
taOrgOrderDetail.setStatus(CommConstant.STATUS_NORMAL);
|
196
|
200
|
if (taOrgOrderDetailMapper.insert(taOrgOrderDetail) < 1) {
|
|
@@ -200,7 +204,20 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
200
|
204
|
}
|
201
|
205
|
|
202
|
206
|
// 3.请求微信接口获取支付二维码
|
203
|
|
- return payUnifiedOrder(taOrgOrder, ip);
|
|
207
|
+ ResponseBean payResult = payUnifiedOrder(taOrgOrder, ip);
|
|
208
|
+ if (ResponseBean.CODE_SUCCESS != payResult.getCode()) {
|
|
209
|
+ return payResult;
|
|
210
|
+ }
|
|
211
|
+
|
|
212
|
+ JSONObject obj = new JSONObject();
|
|
213
|
+ obj.put("amount", amount);
|
|
214
|
+ obj.put("realAmount", realAmount);
|
|
215
|
+ obj.put("serviceFee", realAmount - amount);
|
|
216
|
+ obj.put("mchPayRate", CommConstant.WXMCH_PAY_RATE);
|
|
217
|
+ obj.put("payQrCode", payResult.getData());
|
|
218
|
+ obj.put("orderInfo", taOrgOrder);
|
|
219
|
+ responseBean.addSuccess(obj);
|
|
220
|
+ return responseBean;
|
204
|
221
|
}
|
205
|
222
|
|
206
|
223
|
@Override
|
|
@@ -263,7 +280,7 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
263
|
280
|
return responseBean;
|
264
|
281
|
}
|
265
|
282
|
|
266
|
|
- responseBean.addSuccess("success");
|
|
283
|
+ responseBean.addSuccess(taOrgOrder);
|
267
|
284
|
return responseBean;
|
268
|
285
|
}
|
269
|
286
|
|
|
@@ -297,10 +314,10 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
297
|
314
|
}
|
298
|
315
|
|
299
|
316
|
@Override
|
300
|
|
- public ResponseBean listRefundOrderByCondition(Integer pageNum, Integer pageSize, LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId) {
|
|
317
|
+ public ResponseBean listRefundOrderByCondition(Integer pageNum, Integer pageSize, LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, String wxOrderId, String tradeNo, Integer orgId) {
|
301
|
318
|
ResponseBean responseBean = new ResponseBean();
|
302
|
319
|
IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
|
303
|
|
- pg = taOrgOrderMapper.listRefundOrderByCondition(pg, refundStartTime, refundEndTime, orderId, auditStatus, orgId);
|
|
320
|
+ pg = taOrgOrderMapper.listRefundOrderByCondition(pg, refundStartTime, refundEndTime, orderId, wxOrderId, tradeNo, auditStatus, orgId);
|
304
|
321
|
|
305
|
322
|
if (CollectionUtils.isNotEmpty(pg.getRecords())) {
|
306
|
323
|
pg.getRecords().stream().forEach(r -> {
|
|
@@ -315,10 +332,10 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
315
|
332
|
}
|
316
|
333
|
|
317
|
334
|
@Override
|
318
|
|
- public void exportRefundOrderByCondition(LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, Integer orgId, HttpServletResponse response) throws Exception {
|
|
335
|
+ public void exportRefundOrderByCondition(LocalDate refundStartTime, LocalDate refundEndTime, String orderId, String auditStatus, String wxOrderId, String tradeNo, Integer orgId, HttpServletResponse response) throws Exception {
|
319
|
336
|
response.setContentType("application/octet-stream");
|
320
|
337
|
response.setCharacterEncoding("utf-8");
|
321
|
|
- List<AccountRefundRecordExport> records = taOrgOrderMapper.exportRefundOrderByCondition(refundStartTime, refundEndTime, orderId, auditStatus, orgId);
|
|
338
|
+ List<AccountRefundRecordExport> records = taOrgOrderMapper.exportRefundOrderByCondition(refundStartTime, refundEndTime, orderId, wxOrderId, tradeNo, auditStatus, orgId);
|
322
|
339
|
String fileName = URLEncoder.encode("退款订单", "UTF-8");
|
323
|
340
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
324
|
341
|
EasyExcel.write(response.getOutputStream(), AccountRefundRecordExport.class).sheet("退款订单").doWrite(records);
|
|
@@ -333,18 +350,18 @@ public class TaOrgOrderServiceImpl extends ServiceImpl<TaOrgOrderMapper, TaOrgOr
|
333
|
350
|
}
|
334
|
351
|
|
335
|
352
|
@Override
|
336
|
|
- public ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId) {
|
|
353
|
+ public ResponseBean listConsumeOrderByCondition(Integer pageNum, Integer pageSize, LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, String wxOrderId, String tradeNo, Integer orgId) {
|
337
|
354
|
ResponseBean responseBean = new ResponseBean();
|
338
|
355
|
IPage<TaOrgOrder> pg = new Page<>(pageNum, pageSize);
|
339
|
|
- responseBean.addSuccess(taOrgOrderMapper.listConsumeOrderByCondition(pg, startTime, endTime, orderId, status, consumeType, phone, orgId));
|
|
356
|
+ responseBean.addSuccess(taOrgOrderMapper.listConsumeOrderByCondition(pg, startTime, endTime, orderId, status, consumeType, phone, wxOrderId, tradeNo, orgId));
|
340
|
357
|
return responseBean;
|
341
|
358
|
}
|
342
|
359
|
|
343
|
360
|
@Override
|
344
|
|
- public void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, Integer orgId, HttpServletResponse response) throws Exception {
|
|
361
|
+ public void exportConsumeOrderByCondition(LocalDate startTime, LocalDate endTime, String orderId, Integer status, String consumeType, String phone, String wxOrderId, String tradeNo, Integer orgId, HttpServletResponse response) throws Exception {
|
345
|
362
|
response.setContentType("application/octet-stream");
|
346
|
363
|
response.setCharacterEncoding("utf-8");
|
347
|
|
- List<AccountConsumeRecordExport> records = taOrgOrderMapper.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, phone, orgId);
|
|
364
|
+ List<AccountConsumeRecordExport> records = taOrgOrderMapper.exportConsumeOrderByCondition(startTime, endTime, orderId, status, consumeType, wxOrderId, tradeNo, phone, orgId);
|
348
|
365
|
String fileName = URLEncoder.encode("消费订单", "UTF-8");
|
349
|
366
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
350
|
367
|
EasyExcel.write(response.getOutputStream(), AccountConsumeRecordExport.class).sheet("消费订单").doWrite(records);
|