|
@@ -12,8 +12,10 @@ import com.szwl.model.bean.good;
|
|
|
import com.szwl.model.bo.R;
|
|
|
import com.szwl.model.bo.ResponseModel;
|
|
|
import com.szwl.model.entity.TAdmin;
|
|
|
+import com.szwl.model.entity.TCoinOrder;
|
|
|
import com.szwl.model.entity.TOrder;
|
|
|
import com.szwl.model.query.TOrderParam;
|
|
|
+import com.szwl.service.TCoinOrderService;
|
|
|
import com.szwl.service.TOrderService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -41,6 +43,9 @@ public class ApiInterContriller {
|
|
|
@Autowired
|
|
|
private TOrderService orderService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TCoinOrderService coinOrderService;
|
|
|
+
|
|
|
@ApiOperation("获取订单数据")
|
|
|
@PostMapping("/getOrder")
|
|
|
public ResponseModel<?> remoteProduction(@RequestHeader("x-api-key") String apiKey, @RequestBody TOrderParam orderParam) throws ParseException {
|
|
@@ -77,56 +82,95 @@ public class ApiInterContriller {
|
|
|
Date endDate = simpleDateFormat.parse(endTime);
|
|
|
// 检验时间是否超过一个月
|
|
|
if (dayTime(startDate, endDate)) {
|
|
|
- return R.fail(ResponseCodesEnum.A0001, "时间跨度超过一个月");
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "The query time exceeds one month");
|
|
|
}
|
|
|
// 单页大小不能超过2000
|
|
|
if (size > 1000) {
|
|
|
- return R.fail(ResponseCodesEnum.A0001, "size大小不能超过1000");
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, "The size cannot exceed 1000");
|
|
|
}
|
|
|
- // 查询
|
|
|
- LambdaQueryWrapper<TOrder> query = Wrappers.lambdaQuery();
|
|
|
- query.eq(TOrder::getAdminId, adminId);
|
|
|
- query.eq(TOrder::getStatus, status);
|
|
|
- if (StringUtils.isNotEmpty(clientId)) {
|
|
|
- query.eq(TOrder::getClientId, clientId);
|
|
|
- }
|
|
|
- query.between(TOrder::getCreateDate, startDate, endDate);
|
|
|
- query.orderByDesc(TOrder::getCreateDate);
|
|
|
- Page<TOrder> page = new Page<>(current, size, true);
|
|
|
- IPage<TOrder> iPage = orderService.page(page, query);
|
|
|
- List<TOrder> orderList = iPage.getRecords();
|
|
|
+ String ifForeign = admin.getIfForeign();
|
|
|
// 封装数据
|
|
|
EsOrderList esOrderList = new EsOrderList();
|
|
|
long total = 0;
|
|
|
List<EsOrder> orders = new ArrayList<>();
|
|
|
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- if (!orderList.isEmpty()) {
|
|
|
- total = iPage.getTotal();
|
|
|
- for (TOrder order : orderList) {
|
|
|
- EsOrder esOrder = new EsOrder();
|
|
|
- esOrder.setChannel(order.getFrpCode());
|
|
|
- esOrder.setClientId(order.getClientId());
|
|
|
- esOrder.setPrice(order.getPrice());
|
|
|
- esOrder.setRefundAmount(order.getRefundAmount());
|
|
|
- esOrder.setSn(order.getSn());
|
|
|
- if(status == 3){
|
|
|
- esOrder.setTime(formatter.format(order.getRefundDate()));
|
|
|
- esOrder.setTime(formatter.format(order.getRefundDate()));
|
|
|
- }else {
|
|
|
- //时间要转变
|
|
|
- esOrder.setTime(formatter.format(order.getCreateDate()));
|
|
|
- esOrder.setTime(formatter.format(order.getCreateDate()));
|
|
|
+ if (StringUtils.isNotEmpty(ifForeign) && ifForeign.equals("1")) {
|
|
|
+ // 查询线下订单
|
|
|
+ LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TCoinOrder::getAdminId, adminId);
|
|
|
+ if (StringUtils.isNotEmpty(clientId)) {
|
|
|
+ query.eq(TCoinOrder::getClientId, clientId);
|
|
|
+ }
|
|
|
+ query.between(TCoinOrder::getPayDate, startDate, endDate);
|
|
|
+ query.orderByDesc(TCoinOrder::getPayDate);
|
|
|
+ Page<TCoinOrder> page = new Page<>(current, size, true);
|
|
|
+ IPage<TCoinOrder> iPage = coinOrderService.page(page, query);
|
|
|
+ List<TCoinOrder> records = iPage.getRecords();
|
|
|
+ // 封装数据
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ if (!records.isEmpty()) {
|
|
|
+ total = iPage.getTotal();
|
|
|
+ for (TCoinOrder record : records) {
|
|
|
+ EsOrder esOrder = new EsOrder();
|
|
|
+ String payType = checkPayType(record.getPayType());
|
|
|
+ esOrder.setChannel(payType);
|
|
|
+ esOrder.setClientId(record.getClientId());
|
|
|
+ esOrder.setPrice(record.getPrice());
|
|
|
+ esOrder.setRefundAmount(record.getRefundAmount());
|
|
|
+ esOrder.setSn(record.getSn());
|
|
|
+ esOrder.setTime(formatter.format(record.getPayDate()));
|
|
|
+ esOrder.setStatus(String.valueOf(record.getStatus()));
|
|
|
+ List<good> goods = new ArrayList<>();
|
|
|
+ good goo = new good();
|
|
|
+ goo.setGoodsName(record.getProductName());
|
|
|
+ goo.setPrice(record.getPrice());
|
|
|
+ goo.setSuccess(true);
|
|
|
+ goods.add(goo);
|
|
|
+ esOrder.setGoods(goods);
|
|
|
+ orders.add(esOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 查询
|
|
|
+ LambdaQueryWrapper<TOrder> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TOrder::getAdminId, adminId);
|
|
|
+ query.eq(TOrder::getStatus, status);
|
|
|
+ if (StringUtils.isNotEmpty(clientId)) {
|
|
|
+ query.eq(TOrder::getClientId, clientId);
|
|
|
+ }
|
|
|
+ query.between(TOrder::getCreateDate, startDate, endDate);
|
|
|
+ query.orderByDesc(TOrder::getCreateDate);
|
|
|
+ Page<TOrder> page = new Page<>(current, size, true);
|
|
|
+ IPage<TOrder> iPage = orderService.page(page, query);
|
|
|
+ List<TOrder> orderList = iPage.getRecords();
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ if (!orderList.isEmpty()) {
|
|
|
+ total = iPage.getTotal();
|
|
|
+ for (TOrder order : orderList) {
|
|
|
+ EsOrder esOrder = new EsOrder();
|
|
|
+ esOrder.setChannel(order.getFrpCode());
|
|
|
+ esOrder.setClientId(order.getClientId());
|
|
|
+ esOrder.setPrice(order.getPrice());
|
|
|
+ esOrder.setRefundAmount(order.getRefundAmount());
|
|
|
+ esOrder.setSn(order.getSn());
|
|
|
+ if(status == 3){
|
|
|
+ esOrder.setTime(formatter.format(order.getRefundDate()));
|
|
|
+ esOrder.setTime(formatter.format(order.getRefundDate()));
|
|
|
+ }else {
|
|
|
+ //时间要转变
|
|
|
+ esOrder.setTime(formatter.format(order.getCreateDate()));
|
|
|
+ esOrder.setTime(formatter.format(order.getCreateDate()));
|
|
|
+ }
|
|
|
+ esOrder.setStatus(String.valueOf(order.getStatus()));
|
|
|
+ esOrder.setTrxNo(order.getTrxNo());
|
|
|
+ List<good> goods = new ArrayList<>();
|
|
|
+ good goo = new good();
|
|
|
+ goo.setGoodsName(order.getProductName());
|
|
|
+ goo.setPrice(order.getPrice());
|
|
|
+ goo.setSuccess(true);
|
|
|
+ goods.add(goo);
|
|
|
+ esOrder.setGoods(goods);
|
|
|
+ orders.add(esOrder);
|
|
|
}
|
|
|
- esOrder.setStatus(String.valueOf(order.getStatus()));
|
|
|
- esOrder.setTrxNo(order.getTrxNo());
|
|
|
- List<good> goods = new ArrayList<>();
|
|
|
- good goo = new good();
|
|
|
- goo.setGoodsName(order.getProductName());
|
|
|
- goo.setPrice(order.getPrice());
|
|
|
- goo.setSuccess(true);
|
|
|
- goods.add(goo);
|
|
|
- esOrder.setGoods(goods);
|
|
|
- orders.add(esOrder);
|
|
|
}
|
|
|
}
|
|
|
esOrderList.setTotal(total);
|
|
@@ -148,4 +192,26 @@ public class ApiInterContriller {
|
|
|
long daysBetween = ChronoUnit.DAYS.between(startLocalDate, endLocalDate);
|
|
|
return daysBetween > 31;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断支付方式
|
|
|
+ */
|
|
|
+ public String checkPayType(Integer payType) {
|
|
|
+ if (payType != null) {
|
|
|
+ if (payType == 0) {
|
|
|
+ return "No-Pay";
|
|
|
+ } else if (payType == 1) {
|
|
|
+ return "Coin";
|
|
|
+ } else if (payType == 2) {
|
|
|
+ return "Cash";
|
|
|
+ } else if (payType == 3) {
|
|
|
+ return "Coin + Cash";
|
|
|
+ } else if (payType == 4) {
|
|
|
+ return "Credit card";
|
|
|
+ } else if (payType == 5) {
|
|
|
+ return "E-PAYMENT";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "Other";
|
|
|
+ }
|
|
|
}
|