Răsfoiți Sursa

智慧餐厅接口修改-根据接口数据格式调整

ZhangManMan 2 ani în urmă
părinte
comite
6edb945e74

+ 1 - 3
src/main/java/com/sky/ioc/controller/life/RestaurantController.java

@@ -86,13 +86,11 @@ public class RestaurantController {
         return restaurantService.getTodayMenu();
     }
 
-    @Autowired
-    BuildingService buildingService;
 
     @ApiOperation("查询智慧生活中订单")
     @PostMapping("getOrderData")
     public ReturnMsg  getOrderData(){
-        return buildingService.getBuildigData();
+        return restaurantService.getOrderData();
     }
 
 

+ 0 - 11
src/main/java/com/sky/ioc/controller/scene/MeetingRoomController.java

@@ -1,22 +1,11 @@
 package com.sky.ioc.controller.scene;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.sky.ioc.entity.params.IocParam;
-import com.sky.ioc.mapper.job.TokenMapper;
 import com.sky.ioc.service.meeting.MeetingRoomService;
 import com.sky.ioc.tool.ReturnMsg;
 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.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.RestTemplate;
-
-import java.util.Map;
 
 @Api(tags ="智慧场景----配置会议")
 @Slf4j

+ 3 - 0
src/main/java/com/sky/ioc/entity/domain/canteen/Order.java

@@ -50,9 +50,12 @@ public class Order {
      * 扫码 16
      * 线下 19
      * 人脸 4
+     * 1-人脸支付,2-卡支付,4-被扫支付
      */
     private Integer  paytype;
 
+    private String phone;
+
 
 
 

+ 29 - 1
src/main/java/com/sky/ioc/entity/domain/carbon/CarCarbon.java

@@ -2,10 +2,38 @@ package com.sky.ioc.entity.domain.carbon;
 
 import lombok.Data;
 /**
- * 车辆排放
+ * 数智双碳--车辆排放
  * */
 @Data
 public class CarCarbon {
 
     private Integer id;
+
+    /**
+     * 车辆编码
+     * */
+    private String carNumber;
+    /**
+     * 行驶时长
+     * */
+    private Integer hours;
+
+    /**
+     * 排放量
+     * */
+    private String discharge;
+
+    /**
+     * 行驶里程
+     * */
+    private String mileage;
+
+    /**
+     * 时间
+     * */
+    private String time;
+    /**
+     * 部门id
+     * */
+    private Integer deptId;
 }

+ 3 - 0
src/main/java/com/sky/ioc/entity/domain/carbon/Carbon.java

@@ -2,6 +2,9 @@ package com.sky.ioc.entity.domain.carbon;
 
 import lombok.Data;
 
+/**
+ * 数智双碳-双碳概览
+ * */
 @Data
 public class Carbon {
     private Integer id;

+ 9 - 0
src/main/java/com/sky/ioc/entity/domain/carbon/PrintCarbon.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.entity.domain.carbon;
+
+import lombok.Data;
+/**
+ * 数智双碳--文印排放
+ * */
+@Data
+public class PrintCarbon {
+}

+ 6 - 4
src/main/java/com/sky/ioc/mapper/CuisineOrderMapper.java

@@ -14,7 +14,7 @@ import java.util.Map;
 @Mapper
 public interface CuisineOrderMapper extends BaseMapper<Order> {
     @Select("<script> " +
-            "SELECT count(DISTINCT user_id) FROM cuisine_order  where 1=1 " +
+            "SELECT count(DISTINCT phone) FROM cuisine_order  where 1=1 " +
             "<if test='iocParam!=null and iocParam.deptId != null '>" +
             " and department_id=#{iocParam.deptId} " +
             "</if>"+
@@ -60,6 +60,10 @@ public interface CuisineOrderMapper extends BaseMapper<Order> {
             "</script>")
     Integer getTotalOrderByCompanyIdAndDeptId(@Param("iocParam") IocParam iocParam);
 
+    /**
+     *  "<if test='iocParam!=null and iocParam.timeRange != null '>" +
+     *             " and a.order_time BETWEEN #{iocParam.timeRange.startDate} AND #{iocParam.timeRange.endDate} " +
+     *             "</if>"+*/
     @Select("<script>" +
             "SELECT count(item.p_name) as total,c.cuisine_name as p_name,item.p_id,c.price,c.cuisine_img from cuisine c " +
             "LEFT JOIN cuisine_order_item  item on c.id= item.p_id  " +
@@ -67,9 +71,7 @@ public interface CuisineOrderMapper extends BaseMapper<Order> {
             "<if test='iocParam!=null and iocParam.deptId != null '>" +
             " and a.department_id=#{iocParam.deptId} " +
             "</if>"+
-            "<if test='iocParam!=null and iocParam.timeRange != null '>" +
-            " and a.order_time BETWEEN #{iocParam.timeRange.startDate} AND #{iocParam.timeRange.endDate} " +
-            "</if>"+
+
             "GROUP BY  item.p_id,c.price,c.cuisine_img,c.cuisine_name ORDER BY total desc limit #{iocParam.limit} " +
             "</script>")
     List<Map<String,String>> getTopListByCompanyIdAndDeptId(@Param("iocParam") IocParam iocParam);

+ 52 - 39
src/main/java/com/sky/ioc/service/canteen/impl/RestaurantServiceImpl.java

@@ -81,28 +81,28 @@ public class RestaurantServiceImpl implements RestaurantService {
     @Override
     public ReturnMsg getPaymentAnalysis(IocParam iocParam) {
         List<Cake> lists = new ArrayList<>();
-        Double offline = cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,19);
-        Double scanningCode =cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,16);
-        Double payCard =cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,1);
-        Double face = cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,4);
-        offline = offline==null?0:offline;
-        scanningCode = scanningCode==null?0:scanningCode;
-        payCard = payCard==null?0:payCard;
-        face = face==null?0:face;
-        Cake cake1 = new Cake();
+       // Double offline = cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,19);
+        Double scanningCode =cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,13);
+        Double payCard =cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,2);
+        Double face = cuisineOrderMapper.getTotalPriceByCompanyIdAndDeptId(iocParam,1);
+       // offline = offline==null?0:offline;
+        scanningCode = scanningCode==null?0:new BigDecimal(scanningCode).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+        payCard = payCard==null?0:new BigDecimal(payCard).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+        face = face==null?0:new BigDecimal(face).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+       // Cake cake1 = new Cake();
         Cake cake2 = new Cake();
         Cake cake3 = new Cake();
         Cake cake4 = new Cake();
-        cake1.setName("线下");
+       // cake1.setName("线下");
         cake2.setName("扫码");
         cake3.setName("人脸");
         cake4.setName("刷卡");
         cake4.setValue(payCard);
         cake3.setValue(face);
         cake2.setValue(scanningCode);
-        cake1.setValue(offline);
+        //cake1.setValue(offline);
         lists.add(cake3);
-        lists.add(cake1);
+       // lists.add(cake1);
         lists.add(cake2);
         lists.add(cake4);
         return ReturnMsg.ok(lists);
@@ -128,6 +128,7 @@ public class RestaurantServiceImpl implements RestaurantService {
         }
         double avgPrice = 0d;
         if (totalPrice > 0) {
+            bigDecimal = bigDecimal.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
             if (totalOrder > 0) {
                 BigDecimal avgPriceDec = bigDecimal.divide(new BigDecimal(totalOrder), 2, RoundingMode.HALF_UP);
                 avgPrice = avgPriceDec.doubleValue();
@@ -221,9 +222,9 @@ public class RestaurantServiceImpl implements RestaurantService {
             Double breakfastPrice = cuisineOrderMapper.getAvgPriceByCompanyIdAndDeptId(iocParam1);
             Double lunchPrice = cuisineOrderMapper.getAvgPriceByCompanyIdAndDeptId(iocParam2);
             Double dinnerPrice = cuisineOrderMapper.getAvgPriceByCompanyIdAndDeptId(iocParam3);
-            breakfastPrice = breakfastPrice==null?0:Double.valueOf(decimalFormat.format(breakfastPrice));
-            lunchPrice = lunchPrice==null?0:Double.valueOf(decimalFormat.format(lunchPrice));
-            dinnerPrice = dinnerPrice==null?0:Double.valueOf(decimalFormat.format(dinnerPrice));
+            breakfastPrice = breakfastPrice==null?0:new BigDecimal(breakfastPrice).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+            lunchPrice = lunchPrice==null?0:new BigDecimal(lunchPrice).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+            dinnerPrice = dinnerPrice==null?0:new BigDecimal(dinnerPrice).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
             jsonObject.put(param[0],totalBreakfastPerson);
             jsonObject.put(param[1],totalLunchPerson);
             jsonObject.put(param[2],totalDinnerPerson);
@@ -284,6 +285,10 @@ public class RestaurantServiceImpl implements RestaurantService {
                     dinner += order.getOrderPrice();
                 }
             }
+            dinner = new BigDecimal(dinner).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+            lunch = new BigDecimal(lunch).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+            breakfast = new BigDecimal(breakfast).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP).doubleValue();
+
         }
         cakeBreakfast.setValue(breakfast);
         cakeDinner.setValue(dinner);
@@ -422,12 +427,12 @@ public class RestaurantServiceImpl implements RestaurantService {
 
     @Override
     public ReturnMsg getOrderData() {
-        cuisineOrderMapper.delete(null);
-        cuisineOderItemMapper.delete(null);
-        int pageNum = 1;
-        for (int k =0;k<10;k++){
+      //  cuisineOrderMapper.delete(null);
+     //   cuisineOderItemMapper.delete(null);
+        int pageNum = 0;
+        for (int k =2;k<5;k++){
             pageNum = k+1;
-            String url =   String.format(CANTEEN_ORDER_URL,"http://"+dataIp)+"?pageNum="+pageNum+"&pageSize=1000";
+            String url =   String.format(CANTEEN_ORDER_URL,"http://"+dataIp)+"?pageNum="+pageNum+"&pageSize=2000";
             Map<String,String> tokenMap = tokenMapper.getNewToken();
             String token ="Bearer eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX2tleSI6IjUwZTU1NTRkLWJjYzYtNGRhMS1iZDUxLWFhNTc3YzU4YTFiNCIsInVzZXJuYW1lIjoiYWRtaW4ifQ.X10VPYJfeeRTka7OtqNPOGMpL4QkW3fR_TfCKXCmO-yXbIIrr_40fcwiVnpXfYVENo_BvXWEACRd-Y6nXsbkog";
             if(tokenMap!=null){
@@ -448,27 +453,35 @@ public class RestaurantServiceImpl implements RestaurantService {
                         LinkedHashMap json = (LinkedHashMap) list.get(i);
                         Order order = new Order();
                         order.setId((Integer) json.get("id"));
-                        order.setOrderId(String.valueOf(json.get("oriId")));
-                        order.setOrderPrice(Double.parseDouble(String.valueOf(json.get("totalFee"))));
-                        order.setOrderTime(String.valueOf(json.get("orderTime")));
-                        order.setPaytype(Integer.parseInt(String.valueOf(json.get("oSource"))));
-                        ArrayList products = (ArrayList) json.get("products");
-                        for(int j=0;j<products.size();j++){
-                            LinkedHashMap product = (LinkedHashMap) products.get(j);
-                            String name = String.valueOf(product.get("name"));
-                            CuisineOrderItem oderItem = new CuisineOrderItem();
-                            Cuisine cuisine = cuisineMapper.getByName(name);
-                            //.selectOne(new LambdaQueryWrapper<Cuisine>().eq(Cuisine::getCuisineName,name));
-                            if(cuisine!=null){
-                                oderItem.setPId(cuisine.getId());
-                                oderItem.setOrderNum(order.getOrderId());
-                                oderItem.setPName(name);
-                                oderItem.setPPrice(Double.parseDouble(String.valueOf(product.get("price"))));
-                                cuisineOderItemMapper.insert(oderItem);
-
+                        Order order1 = cuisineOrderMapper.selectById(order.getId());
+                        if(order1==null){
+                            order.setOrderId(String.valueOf(json.get("oriId")));
+                            order.setOrderPrice(Double.parseDouble(String.valueOf(json.get("totalFee"))));
+                            order.setOrderTime(String.valueOf(json.get("orderTime")));
+                            order.setPaytype(Integer.parseInt(String.valueOf(json.get("oSource"))));
+                            //order.setUserId(Integer.parseInt(String.valueOf(json.get("phone"))));
+                            order.setPhone(String.valueOf(json.get("phone")));
+                            ArrayList products = (ArrayList) json.get("products");
+                            for(int j=0;j<products.size();j++){
+                                LinkedHashMap product = (LinkedHashMap) products.get(j);
+                                String name = String.valueOf(product.get("pName"));
+                                CuisineOrderItem oderItem = new CuisineOrderItem();
+                                Cuisine cuisine = cuisineMapper.getByName(name);
+                                //.selectOne(new LambdaQueryWrapper<Cuisine>().eq(Cuisine::getCuisineName,name));
+                                if(cuisine!=null){
+                                    oderItem.setId((Integer) product.get("id"));
+                                    oderItem.setPId(cuisine.getId());
+                                    oderItem.setOrderNum(order.getOrderId());
+                                    oderItem.setPName(name);
+                                    oderItem.setPPrice(Double.parseDouble(String.valueOf(product.get("pPrice"))));
+                                    cuisineOderItemMapper.insert(oderItem);
+
+                                }
                             }
+                            cuisineOrderMapper.insert(order);
                         }
-                        cuisineOrderMapper.insert(order);
+
+
                     }
                 }