Browse Source

优化开发者首页

wuxw 2 years ago
parent
commit
5c7710a900

+ 23 - 0
java110-db/src/main/resources/mapper/report/BaseDataStatisticsServiceDaoImplMapper.xml

@@ -370,5 +370,28 @@
         ) a order by a.count desc limit 10
         ) a order by a.count desc limit 10
     </select>
     </select>
 
 
+    <select id="getCommunityFeeDetailCountAnalysis" parameterType="Map" resultType="Map">
+        select DATE_FORMAT(t.create_time,'%Y-%m-%d') createTime,count(1) countValue
+        from pay_fee_detail t
+        where 1=1
+        and t.state in ('1000','1400','1200')
+        and t.create_time &gt; #{startTime}
+        and t.create_time &lt; #{endTime}
+        and t.community_id = #{communityId}
+        group by DATE_FORMAT(t.create_time,'%Y-%m-%d')
+    </select>
+
+    <select id="getCommunityRepairCountAnalysis" parameterType="Map" resultType="Map">
+        select DATE_FORMAT(t.create_time,'%Y-%m-%d') createTime,count(1) countValue
+        from r_repair_pool t
+        where 1=1
+        and t.status_cd = '0'
+        and t.create_time &gt; #{startTime}
+        and t.create_time &lt; #{endTime}
+        and t.community_id = #{communityId}
+        group by DATE_FORMAT(t.create_time,'%Y-%m-%d')
+    </select>
+
+
 
 
 </mapper>
 </mapper>

+ 8 - 0
java110-interface/src/main/java/com/java110/intf/report/IBaseDataStatisticsInnerServiceSMO.java

@@ -1,5 +1,6 @@
 package com.java110.intf.report;
 package com.java110.intf.report;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.room.RoomDto;
 import com.java110.dto.room.RoomDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -66,5 +67,12 @@ public interface IBaseDataStatisticsInnerServiceSMO {
     @RequestMapping(value = "/getCommunityFeeDetailCount", method = RequestMethod.POST)
     @RequestMapping(value = "/getCommunityFeeDetailCount", method = RequestMethod.POST)
     List<Map> getCommunityFeeDetailCount(@RequestBody  Map info);
     List<Map> getCommunityFeeDetailCount(@RequestBody  Map info);
 
 
+    @RequestMapping(value = "/getCommunityRepairCount", method = RequestMethod.POST)
     List<Map> getCommunityRepairCount(@RequestBody Map info);
     List<Map> getCommunityRepairCount(@RequestBody Map info);
+
+    @RequestMapping(value = "/getCommunityFeeDetailCountAnalysis", method = RequestMethod.POST)
+    List<Map> getCommunityFeeDetailCountAnalysis(@RequestBody Map info);
+
+    @RequestMapping(value = "/getCommunityRepairCountAnalysis", method = RequestMethod.POST)
+    List<Map> getCommunityRepairCountAnalysis(@RequestBody Map info);
 }
 }

+ 81 - 0
service-report/src/main/java/com/java110/report/cmd/admin/GetCommunityOperationalAnalysisCmd.java

@@ -0,0 +1,81 @@
+package com.java110.report.cmd.admin;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.CmdContextUtils;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.store.StoreDto;
+import com.java110.intf.report.IBaseDataStatisticsInnerServiceSMO;
+import com.java110.intf.store.IStoreInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+import java.util.*;
+
+/**
+ * 查询小区运营数据
+ */
+@Java110Cmd(serviceCode = "admin.getCommunityOperationalAnalysis")
+public class GetCommunityOperationalAnalysisCmd extends Cmd {
+
+    @Autowired
+    private IStoreInnerServiceSMO storeInnerServiceSMOImpl;
+
+    @Autowired
+    private IBaseDataStatisticsInnerServiceSMO baseDataStatisticsInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
+
+        String storeId = CmdContextUtils.getStoreId(context);
+
+        StoreDto storeDto = new StoreDto();
+        storeDto.setStoreId(storeId);
+        storeDto.setStoreTypeCd(StoreDto.STORE_TYPE_ADMIN);
+        int count = storeInnerServiceSMOImpl.getStoreCount(storeDto);
+        if (count < 1) {
+            throw new CmdException("非法操作,请用系统管理员账户操作");
+        }
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        String startTime = reqJson.getString("startTime");
+        String endTime = reqJson.getString("endTime");
+        if (StringUtil.isEmpty(startTime)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_MONTH, -7);
+            startTime = DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_B);
+        }
+        if (StringUtil.isEmpty(endTime)) {
+            endTime = DateUtil.getAddDayStringB(new Date(), 1);
+        }
+
+        reqJson.put("startTime", startTime);
+        reqJson.put("endTime", endTime);
+
+        //todo 查询小区七天内缴费订单数
+        JSONObject data = new JSONObject();
+
+        //todo 查询小区缴费订单数
+        List<Map> feeDetailData = baseDataStatisticsInnerServiceSMOImpl.getCommunityFeeDetailCountAnalysis(reqJson);
+        data.put("feeDetailData", feeDetailData);
+
+        //todo 查询小区报修单订单数
+        List<Map> repairData = baseDataStatisticsInnerServiceSMOImpl.getCommunityRepairCountAnalysis(reqJson);
+        data.put("repairData", repairData);
+
+        context.setResponseEntity(ResultVo.createResponseEntity(data));
+
+    }
+}

+ 4 - 0
service-report/src/main/java/com/java110/report/dao/IBaseDataStatisticsServiceDao.java

@@ -53,4 +53,8 @@ public interface IBaseDataStatisticsServiceDao {
     List<Map> getCommunityFeeDetailCount(Map info);
     List<Map> getCommunityFeeDetailCount(Map info);
 
 
     List<Map> getCommunityRepairCount(Map info);
     List<Map> getCommunityRepairCount(Map info);
+
+    List<Map> getCommunityFeeDetailCountAnalysis(Map info);
+
+    List<Map> getCommunityRepairCountAnalysis(Map info);
 }
 }

+ 12 - 0
service-report/src/main/java/com/java110/report/dao/impl/BaseDataStatisticsServiceDaoImpl.java

@@ -86,4 +86,16 @@ public class BaseDataStatisticsServiceDaoImpl extends BaseServiceDao implements
         List<Map> infos = sqlSessionTemplate.selectList("baseDataStatisticsServiceDaoImpl.getCommunityRepairCount", info);
         List<Map> infos = sqlSessionTemplate.selectList("baseDataStatisticsServiceDaoImpl.getCommunityRepairCount", info);
         return infos;
         return infos;
     }
     }
+
+    @Override
+    public List<Map> getCommunityFeeDetailCountAnalysis(Map info) {
+        List<Map> infos = sqlSessionTemplate.selectList("baseDataStatisticsServiceDaoImpl.getCommunityFeeDetailCountAnalysis", info);
+        return infos;
+    }
+
+    @Override
+    public List<Map> getCommunityRepairCountAnalysis(Map info) {
+        List<Map> infos = sqlSessionTemplate.selectList("baseDataStatisticsServiceDaoImpl.getCommunityRepairCountAnalysis", info);
+        return infos;
+    }
 }
 }

+ 12 - 0
service-report/src/main/java/com/java110/report/smo/impl/BaseDataStatisticsInnerServiceSMOImpl.java

@@ -108,4 +108,16 @@ public class BaseDataStatisticsInnerServiceSMOImpl extends BaseServiceSMO implem
         List<Map> infos = baseDataStatisticsServiceDaoImpl.getCommunityRepairCount(info);
         List<Map> infos = baseDataStatisticsServiceDaoImpl.getCommunityRepairCount(info);
         return infos;
         return infos;
     }
     }
+
+    @Override
+    public List<Map> getCommunityFeeDetailCountAnalysis(@RequestBody Map info) {
+        List<Map> infos = baseDataStatisticsServiceDaoImpl.getCommunityFeeDetailCountAnalysis(info);
+        return infos;
+    }
+
+    @Override
+    public List<Map> getCommunityRepairCountAnalysis(@RequestBody Map info) {
+        List<Map> infos = baseDataStatisticsServiceDaoImpl.getCommunityRepairCountAnalysis(info);
+        return infos;
+    }
 }
 }