|
@@ -4,6 +4,7 @@ package com.szwl.controller;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -14,6 +15,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.szwl.constant.AirwallexConstant;
|
|
import com.szwl.constant.AirwallexConstant;
|
|
import com.szwl.constant.HuifuConstant;
|
|
import com.szwl.constant.HuifuConstant;
|
|
import com.szwl.feign.bean.SzwlFeign;
|
|
import com.szwl.feign.bean.SzwlFeign;
|
|
|
|
+import com.szwl.mapper.TCoinOrderMapper;
|
|
import com.szwl.model.bo.R;
|
|
import com.szwl.model.bo.R;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.entity.*;
|
|
import com.szwl.model.entity.*;
|
|
@@ -21,15 +23,15 @@ import com.szwl.service.TAirwallexMchService;
|
|
import com.szwl.service.TAirwallexWalletService;
|
|
import com.szwl.service.TAirwallexWalletService;
|
|
import com.szwl.service.TCoinOrderService;
|
|
import com.szwl.service.TCoinOrderService;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
-
|
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -46,6 +48,8 @@ public class TCoinOrderController {
|
|
TCoinOrderService coinOrderService;
|
|
TCoinOrderService coinOrderService;
|
|
SzwlFeign szwlFeign;
|
|
SzwlFeign szwlFeign;
|
|
TAirwallexWalletService airwallexWalletService;
|
|
TAirwallexWalletService airwallexWalletService;
|
|
|
|
+ @Resource
|
|
|
|
+ TCoinOrderMapper coinOrderMapper;
|
|
|
|
|
|
public TCoinOrderController(TCoinOrderService coinOrderService, SzwlFeign szwlFeign, TAirwallexWalletService airwallexWalletService) {
|
|
public TCoinOrderController(TCoinOrderService coinOrderService, SzwlFeign szwlFeign, TAirwallexWalletService airwallexWalletService) {
|
|
this.coinOrderService = coinOrderService;
|
|
this.coinOrderService = coinOrderService;
|
|
@@ -53,6 +57,30 @@ public class TCoinOrderController {
|
|
this.airwallexWalletService = airwallexWalletService;
|
|
this.airwallexWalletService = airwallexWalletService;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "查询某范围内的设备的订单总和")
|
|
|
|
+ @GetMapping("/sumPriceLatLon")
|
|
|
|
+ public ResponseModel<?> sumPriceLatLon(String latitude1, String latitude2, String longitude1, String longitude2){
|
|
|
|
+ if (StringUtils.isEmpty(latitude1) || StringUtils.isEmpty(latitude2) || StringUtils.isEmpty(longitude1) || StringUtils.isEmpty(longitude2)) {
|
|
|
|
+ return R.fail("参数不能为空");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 根据经纬度查设备信息
|
|
|
|
+ List<TEquipment> equipmentsByLatLon = R.getDataIfSuccess(szwlFeign.getEquipmentByLatLon(latitude1, latitude2, longitude1, longitude2));
|
|
|
|
+ if (equipmentsByLatLon.isEmpty()) {
|
|
|
|
+ return R.ok(0);
|
|
|
|
+ }
|
|
|
|
+ BigDecimal sumPrice = new BigDecimal(0);
|
|
|
|
+ for (TEquipment equipment : equipmentsByLatLon) {
|
|
|
|
+ String clientId = equipment.getClientId();
|
|
|
|
+ // 根据clientId查订单总额
|
|
|
|
+ BigDecimal priceByClientId = coinOrderMapper.sumPriceByClientId(clientId);
|
|
|
|
+
|
|
|
|
+ if (Objects.nonNull(priceByClientId)) {
|
|
|
|
+ sumPrice = sumPrice.add(priceByClientId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.ok(equipmentsByLatLon.size() + "台设备的总销售额是:" + sumPrice);
|
|
|
|
+ }
|
|
|
|
|
|
@ApiOperation(value = "添加海外订单")
|
|
@ApiOperation(value = "添加海外订单")
|
|
@PostMapping("/addCoinOrder")
|
|
@PostMapping("/addCoinOrder")
|