Преглед на файлове

修改后台接口和方法

oyq28 преди 2 години
родител
ревизия
9ae4a872d0

+ 44 - 10
imcs-bt-be/imcs-authority-server/src/main/java/com/github/zuihou/api/OpsAppApi.java

@@ -9,16 +9,17 @@ import com.github.zuihou.business.barrel.entity.EquBarrel;
 import com.github.zuihou.business.barrel.service.EquBarrelService;
 import com.github.zuihou.business.order.entity.Order;
 import com.github.zuihou.business.order.service.OrderService;
-import com.github.zuihou.business.productionresource.dto.ProductionResourcePageDTO;
 import com.github.zuihou.business.productionresource.dto.ReloadMtrDto;
 import com.github.zuihou.business.productionresource.entity.ProductionResource;
 import com.github.zuihou.business.productionresource.service.ProductionTenantResourceService;
 import com.github.zuihou.business.util.CommonUtil;
+import com.github.zuihou.common.util.DateUtil;
 import com.github.zuihou.context.BaseContextHandler;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import com.github.zuihou.utils.DateUtils;
+import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,7 +27,7 @@ import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.util.List;
+import java.util.*;
 
 /**
  * 运维小程序接口
@@ -120,16 +121,33 @@ public class OpsAppApi {
         orderQueryWrap.eq("order_status","SUCCESS").eq("order_equ_id", order.getOrderEquId()).orderByDesc("create_time");
         IPage<Order> list = orderService.pageList(page, orderQueryWrap);
 
-        orderQueryWrap.select("sum(order_amount) as orderSum");
+        orderQueryWrap.select("ifnull(sum(order_amount), 0.0) as orderSum");
         Order sumOrder = orderService.getOne(orderQueryWrap);
-        if (sumOrder== null){
-            sumOrder = Order.builder().build().setOrderSum(BigDecimal.ZERO);
+        if(list.getRecords().size()>0){
+            list.getRecords().add(0, sumOrder);
+        }else{
+            list.setRecords(new ArrayList<Order>(Arrays.asList(sumOrder)));
         }
-        list.getRecords().add(0, sumOrder);
         return R.success(list);
     }
 
 
+    /**
+     * 设备详情接口
+     *
+     * @return
+     */
+    @GetMapping("/orderDetails")
+    public R<Order> orderDetails(@RequestParam("id") Long id) {
+        BaseContextHandler.setTenant("0000");
+        QueryWrap<Order> queryWrap = new QueryWrap<>();
+        queryWrap.eq("id", id);
+        Page<Order> page = new Page<Order>(1L,1);
+        IPage<Order> orderList = orderService.pageList(page, queryWrap);
+        return R.success(orderList.getRecords().size()>0? orderList.getRecords().get(0) : Order.builder().build());
+    }
+
+
     /**
      * 今日订单接口
      *
@@ -181,10 +199,26 @@ public class OpsAppApi {
         return R.success(list);
     }
 
-
-
-
-
+    /**
+     * 订单统计数据
+     *
+     */
+    @GetMapping("/orderStatistics")
+    public R<Map> statisticsList(@RequestParam("equId") Long equId) {
+        BaseContextHandler.setTenant("0000");
+        QueryWrap<Order> orderStatisticWrap = new QueryWrap<>();
+        orderStatisticWrap.eq("id", equId).orderByDesc("create_time");
+        Map<String, String> paramsMap = new HashMap<String,String>();
+        String now = DateUtil.dateToString(new Date());
+        String  sevenAgo = DateUtil.dateToString(DateUtil.getBeforeDate(new Date(), 7));
+        String nextDay = DateUtil.dateToString(DateUtil.getAddSecondsTime(new Date(), 60*60*24*1000));
+        paramsMap.put("now", now);
+        paramsMap.put("sevenAgo", sevenAgo);
+        paramsMap.put("nextDay", nextDay);
+        paramsMap.put("id", equId.toString());
+        Map map = orderService.getStatisticMap(paramsMap);
+        return R.success(map);
+    }
 
 //
     /**

+ 2 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/order/dao/OrderMapper.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -33,4 +34,5 @@ public interface OrderMapper extends SuperMapper<Order> {
 
     OrderDetailDto getOrderDetail(@Param("orderId")Long orderId);
 
+    Map getStatisticMap(Map paramsMap);
 }

+ 3 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/order/service/OrderService.java

@@ -7,6 +7,7 @@ import com.github.zuihou.business.order.entity.Order;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -26,4 +27,6 @@ public interface OrderService extends SuperService<Order> {
     List<Order> getOrderList(Long memberId);
 
     OrderDetailDto getOrderDetail(Long orderId);
+
+    Map getStatisticMap(Map paramsMap);
 }

+ 6 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/order/service/impl/OrderServiceImpl.java

@@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -47,4 +48,9 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
 
         return baseMapper.getOrderDetail(orderId);
     }
+
+    @Override
+    public Map getStatisticMap(Map paramMap) {
+        return baseMapper.getStatisticMap(paramMap);
+    }
 }

+ 58 - 0
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/order/OrderMapper.xml

@@ -113,4 +113,62 @@
               #{orderId}
     </select>
 
+    <select id="getStatisticMap" parameterType="hashMap" resultType="java.util.Map">
+        select sum(num1) as todayNum,
+               sum(num2) as exceptNum,
+               sum(num3) as errMsgNum,
+               sum(num4) as todayAmount,
+               sum(num5) as sevenAmount,
+               sum(num6) as sevenNum
+        from (
+                 select count(1) as num1 ,0 as num2,0 as num3,0 as num4,0 as num5,0 as num6 from bt_order o where 1=1
+                    <if test="now != null">
+                        and o.create_time >= #{now, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="nextDay != null">
+                        and o.create_time <![CDATA[ <= ]]> #{nextDay, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="id != null">
+                        and o.id = #{id}
+                    </if>
+                 union
+                 select 0 as num1, count(1) as num2 ,0 as num3,0 as num4,0 as num5,0 as num6 from bt_order o
+                 union
+                 select 0 as num1,0 as num2,count(1) as num3,0 as num4,0 as num5,0 as num6 from bt_order o
+                 union
+                 select 0 as num1,0 as num2,0 as num3,sum(o.order_amount) as num4,0 as num5,0 as num6 from  bt_order o where 1=1
+                    <if test="now != null">
+                        and o.create_time >= #{now, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="nextDay != null">
+                        and o.create_time <![CDATA[ <= ]]> #{sevenAgo, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="id != null">
+                        and o.id = #{id}
+                    </if>
+                 union
+                 select 0,0,0,0,count(1) as num5,0 from  bt_order o where 1=1
+                    <if test="sevenAgo != null">
+                        and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="now != null">
+                        and o.create_time <![CDATA[ <= ]]> #{now, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="id != null">
+                        and o.id = #{id}
+                    </if>
+                 union
+                 select 0,0,0,0,0,sum(o.order_amount) as num6 from  bt_order o where produce_status = '1'
+                    <if test="sevenAgo != null">
+                        and o.create_time >= #{sevenAgo, jdbcType=TIMESTAMP}
+                     </if>
+                    <if test="now != null">
+                     and o.create_time <![CDATA[ <= ]]> #{now, jdbcType=TIMESTAMP}
+                    </if>
+                    <if test="id != null">
+                     and o.id = #{id}
+                    </if>
+             ) f
+    </select>
+
 </mapper>