فهرست منبع

对接中枢餐厅接口--智能看板

ZhangManMan 2 سال پیش
والد
کامیت
de1a3a6a2c

+ 9 - 1
src/main/java/com/sky/ioc/controller/dashboard/DiningRoomController.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -23,6 +24,8 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("dining_room")
 public class DiningRoomController {
 
+    @Value("${spring.profiles.active}")
+    private String active;
 
     @Autowired
     private RestaurantService restaurantService;
@@ -39,7 +42,12 @@ public class DiningRoomController {
     @ApiOperation("查询智能看板统计画像的餐厅统计消费信息报表")
     @PostMapping("getRestaurantConsumptionChart")
     public ReturnMsg  getPersonnelInfoList(@RequestBody IocParam iocParam){
-        return restaurantService.getRestaurantConsumptionChart(iocParam);
+        if(active.equals("publish")){
+            return restaurantService.getRestaurantConsumptionChartData(iocParam);
+        }else{
+            return restaurantService.getRestaurantConsumptionChart(iocParam);
+        }
+
     }
 
 

+ 2 - 0
src/main/java/com/sky/ioc/service/canteen/RestaurantService.java

@@ -41,4 +41,6 @@ public interface RestaurantService {
     ReturnMsg getConsumptionAnalysisData(IocParam iocParam);
 
     ReturnMsg getPaymentAnalysisData(IocParam iocParam);
+
+    ReturnMsg getRestaurantConsumptionChartData(IocParam iocParam);
 }

+ 36 - 0
src/main/java/com/sky/ioc/service/canteen/impl/RestaurantServiceImpl.java

@@ -682,4 +682,40 @@ public class RestaurantServiceImpl implements RestaurantService {
 
 
     }
+
+    @Override
+    public ReturnMsg getRestaurantConsumptionChartData(IocParam iocParam) {
+        String[] param = {"consumptionAmount","consumptionOrder"};
+        String startStr = iocParam.getTimeRange().getStartDate().replace("/","-");
+        String endStr = iocParam.getTimeRange().getEndDate().replace("/","-");
+        String url = restTemplateConfig.addBaseUrl(CANTEEN_TOTAL_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
+        RestTemplate restTemplate = restTemplateConfig.build();
+        // 发送GET请求
+        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("cod");
+        // 获取响应信息
+        String message = (String)body.get("msg");
+        if(code==200){
+            ArrayList dataList = (ArrayList)body.get("data");
+            List<Label> labels1 = new ArrayList<>();
+            for(int i=0;i<dataList.size();i++){
+                LinkedHashMap json = (LinkedHashMap) dataList.get(i);
+                Label label = new Label();
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put(param[0],MathUtils.division(Double.valueOf(json.get("consumeTotal").toString()),100,2));
+                jsonObject.put(param[1],json.get("count"));
+                label.setJsonObject(jsonObject);
+                label.setLabel(String.valueOf(json.get("time")));
+                labels1.add(label);
+            }
+            return ReturnMsg.ok(labels1);
+
+        }else{
+            log.info("获取餐厅消费分析数据:"+message);
+            return  ReturnMsg.fail(message);
+        }
+    }
 }