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