server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -35,6 +35,8 @@ public static final String MDJ_LW_REQUIRED = "MDJ_LW_REQUIRED"; public static final String MDJ_VISIT_REQUIRED = "MDJ_VISIT_REQUIRED"; public static final String EDS_PWD ="!@#$%^&QWERTY" ; public static final String ROOT_PATH = ""; public static final String FILE_DIR = ""; public static Date getBirthdyByCardNo(String idCard){ server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/CarsQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.doumee.dao.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author T14 */ @Data @ApiModel("é¿æè½¦æ¥è¯¢") public class CarsQuery { @ApiModelProperty(value = "å ³é®å") private String keyWords; @ApiModelProperty(value = "å ¬å¸åç§°") private String companyName; @ApiModelProperty(value = "车çå·") private String carNo; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.doumee.dao.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author T14 */ @Data @ApiModel("宿¶å¨åºäººåæ¥è¯¢") public class RetentionQuery { @ApiModelProperty(value = "å§å/ææºå·") private String keyWords; @ApiModelProperty(value = "å ¬å¸/é¨é¨åç§°") private String companyName; @ApiModelProperty(value = "人åç±»å") private Integer type; @ApiModelProperty(value = "å¼å§æ¶é´") private Date startTime; @ApiModelProperty(value = "ç»ææ¶é´") private Date endTime; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.doumee.dao.admin.response; import com.doumee.core.annotation.excel.ExcelColumn; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author T14 */ @Data public class CarsDTO { @ApiModelProperty(value = "车çå·") @ExcelColumn(name="车çå·") private String code; @ApiModelProperty(value = "车åºç¼ç ï¼å ³èparks)") @ExcelColumn(name="车åºç¼ç ï¼å ³èparks)") private Integer parkId; @ApiModelProperty(value = "车åºåç§°") @ExcelColumn(name="车åºåç§°") private Integer parkName; @ApiModelProperty(value = "å½å±äººç¼ç ") @ExcelColumn(name="å½å±äººç¼ç ") private Integer memberId; @ApiModelProperty(value = "å½å±äººç¼ç ") @ExcelColumn(name="å½å±äººåç§°") private String memberName; @ApiModelProperty(value = "å½å±äººç¼ç ") @ExcelColumn(name="å½å±äººç±»å") private Integer memberType; @ApiModelProperty(value = "å½å±äººç¼ç ") @ExcelColumn(name="å½å±äººæå¨é¨é¨") private String companyName; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "æ¶é´ç±»å 0é¿æææ 1æ¶é´æ®µ") @ExcelColumn(name="æ¶é´ç±»å 0é¿æææ 1æ¶é´æ®µ") private Integer timeType; @ApiModelProperty(value = "å¼å§æ¶é´") @ExcelColumn(name="å¼å§æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date startTime; @ApiModelProperty(value = "ç»ææ¶é´") @ExcelColumn(name="ç»ææ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date endTime; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") private Date createDate; } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/ParkBookJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.ParkBook; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.springframework.stereotype.Repository; /** * @author T14 */ @Repository public interface ParkBookJoinMapper extends MPJJoinMapper<ParkBook> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/RetentionJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.Retention; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.springframework.stereotype.Repository; /** * @author T14 */ @Repository public interface RetentionJoinMapper extends MPJJoinMapper<Retention> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,11 +22,11 @@ public class Retention { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ApiModelProperty(value = "主é®") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ApiModelProperty(value = "å建人ç¼ç ") @ExcelColumn(name="å建人ç¼ç ") private Integer creator; @@ -34,7 +35,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ApiModelProperty(value = "æ´æ°äººç¼ç ") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @@ -43,7 +44,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @@ -51,7 +52,7 @@ @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "æå±ç»ç»ç¼ç (å ³ècompany表)", example = "1") @ApiModelProperty(value = "æå±ç»ç»ç¼ç (å ³ècompany表)") @ExcelColumn(name="æå±ç»ç»ç¼ç (å ³ècompany表)") private Integer companyId; @@ -63,7 +64,7 @@ @ExcelColumn(name="å¥åº·ç ") private String imgurl; @ApiModelProperty(value = "ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å é¨åå·¥", example = "1") @ApiModelProperty(value = "ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å é¨åå·¥") @ExcelColumn(name="ç±»å 0å³å¡è®¿å®¢ 1æ®é访客 2å é¨åå·¥") private Integer type; @@ -101,7 +102,7 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date eventDate; @ApiModelProperty(value = "访客ID(å ³èmember)", example = "1") @ApiModelProperty(value = "访客ID(å ³èmember)") @ExcelColumn(name="访客ID(å ³èmember)") private Integer memberId; @@ -109,4 +110,18 @@ @ExcelColumn(name="äºä»¶ç±»åç ") private String eventCode; @ApiModelProperty(value = "å ¬å¸ç»ç»") @ExcelColumn(name="å ¬å¸ç»ç»") @TableField(exist = false) public String companyName; @ApiModelProperty(value = "è®¿å®¢ç¨æ·ç±»å") @ExcelColumn(name="è®¿å®¢ç¨æ·ç±»å") @TableField(exist = false) private Integer memberType; @ApiModelProperty(value = "é¨ç¦åç§°") @ExcelColumn(name="é¨ç¦åç§°") @TableField(exist = false) private String srcName; } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -163,4 +163,8 @@ @ExcelColumn(name="被访é®äººæå±ç»ç»id") private String beVisitedPersonOrgId; @ApiModelProperty(value = "被访é®äººæå±ç»ç»id") @ExcelColumn(name="被访é®äººæå±ç»ç»id") private String idcardDecode; } server/dmvisit_service/src/main/java/com/doumee/service/business/CarsService.java
@@ -2,6 +2,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.request.CarsQuery; import com.doumee.dao.admin.response.CarsDTO; import com.doumee.dao.business.model.Cars; import java.util.List; @@ -94,4 +96,11 @@ * @return long */ long count(Cars cars); /** * é¿æè½¦æ¥è¯¢ * @param pageWrap * @return */ PageData<CarsDTO> findCarPage(PageWrap<CarsQuery> pageWrap); } server/dmvisit_service/src/main/java/com/doumee/service/business/RetentionService.java
@@ -2,7 +2,10 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.model.Retention; import com.doumee.dao.business.model.TrainTime; import java.util.List; /** @@ -94,4 +97,7 @@ * @return long */ long count(Retention retention); PageData<Retention> findTrainTimePage(PageWrap<RetentionQuery> pageWrap); } server/dmvisit_service/src/main/java/com/doumee/service/business/TrainTimeService.java
@@ -2,6 +2,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.model.TrainTime; import java.util.List; server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -3,13 +3,17 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.CarsQuery; import com.doumee.dao.admin.response.CarsDTO; import com.doumee.dao.business.CarsMapper; import com.doumee.dao.business.model.Cars; import com.doumee.dao.business.join.ParkBookJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.CarsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -26,6 +30,9 @@ @Autowired private CarsMapper carsMapper; @Autowired private ParkBookJoinMapper parkBookJoinMapper; @Override public Integer create(Cars cars) { @@ -161,4 +168,30 @@ QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars); return carsMapper.selectCount(wrapper); } @Override public PageData<CarsDTO> findCarPage(PageWrap<CarsQuery> pageWrap) { MPJLambdaWrapper<ParkBook> wrapper = new MPJLambdaWrapper<>(); IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); Utils.MP.blankToNull(pageWrap.getModel()); wrapper.leftJoin(Member.class,Member::getId,ParkBook::getMemberId) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId); wrapper.selectAs(ParkBook::getCarCode,CarsDTO::getCode) .selectAs(ParkBook::getParkId,CarsDTO::getParkId) .selectAs(ParkBook::getRemark,CarsDTO::getRemark) .selectAs(Parks::getName,CarsDTO::getParkName) .selectAs(ParkBook::getMemberId,CarsDTO::getMemberId) .selectAs(Member::getName,CarsDTO::getMemberName) .selectAs(Member::getType,CarsDTO::getMemberType) .selectAs(Company::getName,CarsDTO::getCompanyName) .selectAs(ParkBook::getTimeType,CarsDTO::getTimeType) .selectAs(ParkBook::getStartTime,CarsDTO::getStartTime) .selectAs(ParkBook::getEndTime,CarsDTO::getEndTime) .selectAs(ParkBook::getCreateDate,CarsDTO::getCreateDate); wrapper.orderByDesc(ParkBook::getCreateDate); IPage<CarsDTO> carsDTOIPage = parkBookJoinMapper.selectJoinPage(page, CarsDTO.class, wrapper); return PageData.from(carsDTOIPage); } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -1,20 +1,28 @@ package com.doumee.service.business.impl; import cn.hutool.core.lang.PatternPool; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ReUtil; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.RetentionQuery; import com.doumee.dao.business.RetentionMapper; import com.doumee.dao.business.model.Retention; import com.doumee.dao.business.join.RetentionJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.RetentionService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; /** * å¨å人åä¿¡æ¯ è¡¨ï¼æ»çï¼Serviceå®ç° @@ -26,6 +34,10 @@ @Autowired private RetentionMapper retentionMapper; @Autowired private RetentionJoinMapper retentionJoinMapper; @Override public Integer create(Retention retention) { @@ -171,4 +183,43 @@ QueryWrapper<Retention> wrapper = new QueryWrapper<>(retention); return retentionMapper.selectCount(wrapper); } @Override public PageData<Retention> findTrainTimePage(PageWrap<RetentionQuery> pageWrap) { //æ¯å¦æ¯æ°å boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«ä¸æ boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«è±æ boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); IPage<Retention> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Retention> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); queryWrapper.leftJoin(Company.class,Company::getId,Retention::getId) .leftJoin(Member.class,Member::getId,Retention::getMemberId) .leftJoin(DeviceEvent.class,DeviceEvent::getEventId,Retention::getEventCode); queryWrapper.selectAll(Retention.class) .selectAs(Company::getName,Retention::getCompanyName) .selectAs(Member::getType,Retention::getMemberType) .selectAs(DeviceEvent::getSrcName,Retention::getSrcName); queryWrapper.like(number,Member::getPhone,pageWrap.getModel().getKeyWords()) .like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords()) .eq(Objects.nonNull(pageWrap.getModel().getType()), Member::getType, pageWrap.getModel().getType()) .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), Company::getName, pageWrap.getModel().getCompanyName()) .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), Retention::getEventDate, Utils.Date.getStart(pageWrap.getModel().getStartTime())) .le(Objects.nonNull(pageWrap.getModel().getEndTime()), Retention::getEventDate, Utils.Date.getDayEnd(pageWrap.getModel().getEndTime())); queryWrapper.orderByDesc(Retention::getCreateDate); IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper); return PageData.from(retentionIPage); } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/TrainTimeServiceImpl.java
@@ -27,6 +27,8 @@ @Autowired private TrainTimeMapper trainTimeMapper; @Override public Integer create(TrainTime trainTime) { trainTimeMapper.insert(trainTime); @@ -142,4 +144,6 @@ QueryWrapper<TrainTime> wrapper = new QueryWrapper<>(trainTime); return trainTimeMapper.selectCount(wrapper); } }