From 39c41cfdc080764a8fce22689feea1e9d6c10350 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 14 十月 2024 09:43:48 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java            |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                   |    5 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java        |   16 ++--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java |   13 ----
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java        |  105 +++++++++++++++++++++++++++++++---
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                    |   21 ++++++
 6 files changed, 130 insertions(+), 32 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index 8b3ec51..1af5c61 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -345,6 +345,25 @@
     }
 
 
+
+
+    public static List<String> getBeforDays(Date currentDate,Integer days){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(currentDate);
+        Date endDate = currentDate; // 鑾峰彇褰撳墠鏃ユ湡
+        calendar.add(Calendar.DAY_OF_YEAR, -days); // 寰�鍓嶆帹7澶�
+        Date startDate = calendar.getTime(); // 鑾峰彇鎺ㄧ畻鍚庣殑鏃ユ湡
+        List<String> list = new ArrayList<>();
+        while (startDate.before(endDate)) {
+            calendar.add(Calendar.DAY_OF_YEAR, 1); // 鑾峰彇涓嬩竴澶╂棩鏈�
+            startDate = calendar.getTime();
+            list.add(DateUtil.dateToString(startDate,"yyyy-MM-dd"));
+            System.out.println(DateUtil.dateToString(startDate,"yyyy-MM-dd"));
+        }
+        return list;
+    }
+
     /**
      * Descrption:鍙栧緱褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓�:YYYYMMDDHHMISS
      *
@@ -2803,7 +2822,7 @@
 //            System.out.println(DateUtil.afterMinutesDate(-5));
 
 
-            DateUtil.getBeforMonth(new Date(),12);
+            DateUtil.getBeforDays(new Date(),7);
 
 //            Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss");
 //            Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss");
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
index eaa4ba3..80a4a9a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java
@@ -18,7 +18,7 @@
 public class InterestedListVO {
 
     @ApiModelProperty(value = "鏁伴噺")
-    private Long num;
+    private Integer num;
 
     @ApiModelProperty(value = "鍚嶇О")
     private String name;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
index 4d1e4dd..73e4b8b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java
@@ -23,37 +23,37 @@
     private Long todayInParkUserNum;
 
     @ApiModelProperty(value = "浠婃棩鍏ュ洯浜烘")
-    private Long todayInUserNum;
+    private Integer todayInUserNum ;
 
     @ApiModelProperty(value = "浠婃棩绂诲洯浜烘")
-    private Long todayOutUserNum;
+    private Integer todayOutUserNum;
 
     @ApiModelProperty(value = "鍦ㄥ洯璁垮浜烘暟")
     private Long inParkVisitUserNum;
 
     @ApiModelProperty(value = "璁垮浜烘")
-    private Long visitUserNum;
+    private Integer visitUserNum;
 
     @ApiModelProperty(value = "绛剧浜烘")
-    private Long signLevelNum;
+    private Integer signLevelNum;
 
     @ApiModelProperty(value = "鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�")
     private Long inParkLwUserNum;
 
     @ApiModelProperty(value = "鐩稿叧鏂瑰叆鍥汉娆�")
-    private Long lwUserInNum;
+    private Integer lwUserInNum;
 
     @ApiModelProperty(value = "鐩稿叧鏂瑰嚭鍥汉娆�")
-    private Long lwUserOutNum;
+    private Integer lwUserOutNum;
 
     @ApiModelProperty(value = "浠婃棩鍦ㄥ洯杞﹁締")
     private Long todayInParkCarNum;
 
     @ApiModelProperty(value = "鍏ュ洯杞︽")
-    private Long todayInCarNum;
+    private Integer todayInCarNum;
 
     @ApiModelProperty(value = "鍑哄洯杞︽")
-    private Long todayOutCarNum;
+    private Integer todayOutCarNum;
 
     @ApiModelProperty(value = "闀挎湡鐩稿叧鏂圭浉鍏虫柟鍒嗗竷 top 5")
     private List<InterestedListVO> lwList;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 04e55fb..3672692 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -138,4 +138,9 @@
     @TableField(exist = false)
     public String excelCompanyName;
 
+
+    @ApiModelProperty(value = "浜烘暟")
+    @TableField(exist = false)
+    private Integer num;
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
index 3aa9286..6d39061 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java
@@ -128,18 +128,7 @@
         if (pageWrap.getModel().getOutVisitorNum() != null) {
             queryWrapper.lambda().eq(InoutDayCount::getOutVisitorNum, pageWrap.getModel().getOutVisitorNum());
         }
-        if (pageWrap.getModel().getSinginVisitorNum() != null) {
-            queryWrapper.lambda().eq(InoutDayCount::getSinginVisitorNum, pageWrap.getModel().getSinginVisitorNum());
-        }
-        if (pageWrap.getModel().getLeaveVisitorNum() != null) {
-            queryWrapper.lambda().eq(InoutDayCount::getLeaveVisitorNum, pageWrap.getModel().getLeaveVisitorNum());
-        }
-        if (pageWrap.getModel().getInOrtherMemberNum() != null) {
-            queryWrapper.lambda().eq(InoutDayCount::getInOrtherMemberNum, pageWrap.getModel().getInOrtherMemberNum());
-        }
-        if (pageWrap.getModel().getOutOrtherMemberNum() != null) {
-            queryWrapper.lambda().eq(InoutDayCount::getOutOrtherMemberNum, pageWrap.getModel().getOutOrtherMemberNum());
-        }
+
         if (pageWrap.getModel().getInSelfMemberNum() != null) {
             queryWrapper.lambda().eq(InoutDayCount::getInSelfMemberNum, pageWrap.getModel().getInSelfMemberNum());
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index a0d43c7..355bb0b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -25,6 +25,7 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
+import com.doumee.dao.admin.response.InterestedListVO;
 import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
@@ -55,6 +56,7 @@
 import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -115,7 +117,8 @@
     private ApproveService approveService;
     @Autowired
     private NoticesJoinMapper noticesJoinMapper;
-
+    @Autowired
+    private InoutDayCountMapper inoutDayCountMapper;
 
     @Override
     public Integer create(Visits visits) {
@@ -1486,36 +1489,118 @@
                             .selectAs(Company::getType,Retention::getCompanyType)
                             .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
             );
+
+            InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>()
+                            .lambda()
+                    .apply(" DATE(TIME_INFO) = CURDATE()  ")
+                    .last(" limit 1 ")
+            );
+
             //浠婃棩鍦ㄥ洯浜烘暟
             pcWorkPlatformDataVO.setTodayInParkUserNum(
                     retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)).count()
             );
-            pcWorkPlatformDataVO.setTodayInUserNum(0L);
-            pcWorkPlatformDataVO.setTodayOutUserNum(0L);
+
+            pcWorkPlatformDataVO.setTodayInUserNum(Constants.ZERO);
+            pcWorkPlatformDataVO.setTodayOutUserNum(Constants.ZERO);
 
             //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
             pcWorkPlatformDataVO.setInParkLwUserNum(
                     retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyType(),Constants.ONE)).count()
             );
-            pcWorkPlatformDataVO.setLwUserInNum(0L);
-            pcWorkPlatformDataVO.setLwUserOutNum(0L);
+            pcWorkPlatformDataVO.setLwUserInNum(Constants.ZERO);
+            pcWorkPlatformDataVO.setLwUserOutNum(Constants.ZERO);
+
 
             //鍦ㄥ洯璁垮鏁伴噺
             pcWorkPlatformDataVO.setInParkVisitUserNum(
                     retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO)&&Objects.isNull(i.getCompanyType())).count()
             );
-            pcWorkPlatformDataVO.setVisitUserNum(0L);
-            pcWorkPlatformDataVO.setSignLevelNum(0L);
+            pcWorkPlatformDataVO.setVisitUserNum(Constants.ZERO);
+            pcWorkPlatformDataVO.setSignLevelNum(Constants.ZERO);
+
             //鍦ㄥ洯杞﹁締
             pcWorkPlatformDataVO.setTodayInParkCarNum(
                     retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
             );
-            pcWorkPlatformDataVO.setTodayInCarNum(0L);
-            pcWorkPlatformDataVO.setTodayOutCarNum(0L);
-
+            pcWorkPlatformDataVO.setTodayInCarNum(Constants.ZERO);
+            pcWorkPlatformDataVO.setTodayOutCarNum(Constants.ZERO);
+            if(Objects.nonNull(inoutDayCount)){
+                //鐩稿叧鏂�
+                pcWorkPlatformDataVO.setLwUserInNum(inoutDayCount.getInOtherMemberNum());
+                pcWorkPlatformDataVO.setLwUserOutNum(inoutDayCount.getOutOtherMemberNum());
+                //璁垮
+                pcWorkPlatformDataVO.setVisitUserNum(inoutDayCount.getInVisitorNum());
+                pcWorkPlatformDataVO.setSignLevelNum(inoutDayCount.getOutVisitorNum());
+                //杞﹁締
+                pcWorkPlatformDataVO.setTodayInCarNum(inoutDayCount.getInCarNum());
+                pcWorkPlatformDataVO.setTodayOutCarNum(inoutDayCount.getOutCarNum());
+                //鎬讳汉鏁�
+                pcWorkPlatformDataVO.setTodayInUserNum(pcWorkPlatformDataVO.getLwUserInNum() + pcWorkPlatformDataVO.getVisitUserNum() + inoutDayCount.getInSelfMemberNum() );
+                pcWorkPlatformDataVO.setTodayOutUserNum(pcWorkPlatformDataVO.getLwUserOutNum() + pcWorkPlatformDataVO.getSignLevelNum() + inoutDayCount.getOutSelfMemberNum() );
+            }
 
         }else if(Constants.equalsInteger(queryType,Constants.TWO)){
+            List<String> weekDays = DateUtil.getBeforDays(new Date(),7);
+            List<InterestedListVO> weekVisitList = new ArrayList<>();
+            List<InterestedListVO> weekCarList = new ArrayList<>();
+            List<InterestedListVO> lwList = new ArrayList<>();
 
+            for (String days:weekDays) {
+                InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>()
+                        .lambda()
+                        .apply(" DATE(TIME_INFO) = '"+days+"' ")
+                        .last("  limit 1  ")
+                );
+                InterestedListVO visitVO = new InterestedListVO();
+                visitVO.setName(days);
+                InterestedListVO carVO = new InterestedListVO();
+                carVO.setName(days);
+                if(Objects.isNull(inoutDayCount)){
+                    visitVO.setNum(Constants.ZERO);
+                    carVO.setNum(Constants.ZERO);
+                }else{
+                    visitVO.setNum(inoutDayCount.getInVisitorNum());
+                    carVO.setNum(inoutDayCount.getInCarNum());
+                }
+                weekVisitList.add(visitVO);
+                weekCarList.add(carVO);
+            }
+            pcWorkPlatformDataVO.setWeekVisitList(weekVisitList );
+            pcWorkPlatformDataVO.setWeekCarList(weekCarList);
+
+//            List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
+//                    new MPJLambdaWrapper<Retention>()
+//                            .selectAll(Retention.class)
+//                            .selectAs(Company::getType,Retention::getCompanyType)
+//                            .selectAs(Company::getName,Retention::getCompanyName)
+//                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+//                            .eq(Company::getType,Constants.ZERO)
+//                            .groupBy(Company::getId,Company::getName)
+//                            .orderByDesc(Retention::getNum)
+//            );
+
+            List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
+                    .eq(Company::getType,Constants.ZERO)
+                    .eq(Company::getIsdeleted,Constants.ZERO)
+            );
+
+            if(CollectionUtils.isNotEmpty(companyList)){
+                List<Integer> companyIds = companyList.stream().map(i->i.getId()).collect(Collectors.toList());
+                List<Retention> retentionList = retentionMapper.selectList(
+                        new QueryWrapper<Retention>().lambda()
+                                .in(Retention::getCompanyId,companyIds)
+                );
+                for (Company company:companyList) {
+                    Integer count = retentionList.stream().filter(i->Constants.equalsInteger(i.getCompanyId(),company.getId())).collect(Collectors.toList()).size();
+                    InterestedListVO lw = new InterestedListVO();
+                    lw.setNum(count);
+                    lw.setName(company.getName());
+                    lwList.add(lw);
+                }
+            }
+
+            pcWorkPlatformDataVO.setLwList(lwList   );
         }else if(Constants.equalsInteger(queryType,Constants.THREE)) {
             MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
             queryWrapper.selectAll(Notices.class);

--
Gitblit v1.9.3