liukangdong
2024-10-14 c2d6bdf3172af455881bfd34ae65bdde5dec95ac
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已修改7个文件
165 ■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/InterestedListVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/PCWorkPlatformDataVO.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutDayCountServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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");
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;
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;
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;
}
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());
        }
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);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -525,9 +525,6 @@
        retention.setImgurl(visits.getImgurl());
        retention.setPhone(visits.getPhone());
        retention.setMemberId(visits.getMemberId());
//        retention.setDeviceName(request.getSrcName());
//        retention.setDeviceIndex(request.getSrcIndex());
        return retention;
    }
    private VisitEvent getVisitEventModelByRequestIccm(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) {