server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/DeviceEventQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.doumee.dao.admin.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.stereotype.Repository; import java.util.Date; /** * @author T14 */ @Data @ApiModel("设å¤äºä»¶æ¥è¯¢") public class DeviceEventQuery { @ApiModelProperty(value = "å ³é®å") private String keyWords; @ApiModelProperty(value = "å ¬å¸åç§°") private String companyName; @ApiModelProperty(value = "人åç±»å") private String personType; @ApiModelProperty(value = "äºä»¶ç±»å") private String eventType; @ApiModelProperty(value = "å¼å§æ¶é´") private Date startTime; @ApiModelProperty(value = "ç»ææ¶é´") private Date endTime; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,194 @@ package com.doumee.dao.admin.response; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author T14 */ @Data @ApiModel("é¨ç¦äºä»¶æ¨éè®°å½è¡¨") public class DeviceEventDTO { @ApiModelProperty(value = "å建人ç¼ç ") private Integer creator; @ApiModelProperty(value = "å建æ¶é´") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "夿³¨") private String remark; @ApiModelProperty(value = "äºä»¶å¯ä¸æ è¯ï¼åä¸äºä»¶è¥ä¸æ¥å¤æ¬¡ï¼å䏿¥äºä»¶çeventIdç¸å") private String eventId; @ApiModelProperty(value = "äºä»¶ç±»å") private String eventType; @ApiModelProperty(value = "äºä»¶æºç±»åï¼å¦âacsDeviceâ") private String srcType; @ApiModelProperty(value = "äºä»¶åçæ¶é´ï¼è®¾å¤æ¶é´") private String happenTime; @ApiModelProperty(value = "é¨ç¦ç¹å¯ä¸æ¥å ¥ç¼ç ") private String srcIndex; @ApiModelProperty(value = "é¨ç¦åç§°") @ExcelColumn(name="é¨ç¦åç§°") private String srcName; @ApiModelProperty(value = "äºä»¶ç¶æ,0-ç¬æ¶1-å¼å§2-忢4-äºä»¶èå¨ç»ææ´æ°5-äºä»¶å¾ç弿¥ä¸ä¼ ") private Integer status; @ApiModelProperty(value = "èå²è¶ æ¶æ¶é´ï¼åä½ï¼ç§ï¼ç¬æ¶äºä»¶æ¤å段填0") private Integer timeout; @ApiModelProperty(value = "人åééå·") private Integer extAccessChannel; @ApiModelProperty(value = "æ¥è¦è¾å ¥/é²åºéé") private Integer extEventAlarmInID; @ApiModelProperty(value = "æ¥è¦è¾åºéé") private Integer extEventAlarmOutID; @ApiModelProperty(value = "å¡å·") private String extEventCardNo; @ApiModelProperty(value = "äºä»¶è¾å ¥éé") private Integer extEventCaseID; @ApiModelProperty(value = "äºä»¶ç±»å代ç ") private Integer extEventCode; @ApiModelProperty(value = "é¨ç¼å·") private Integer extEventDoorID; @ApiModelProperty(value = "身份è¯å¾çURL") @ExcelColumn(name="身份è¯å¾çURL") private String extEventIDCardPictureURL; @ApiModelProperty(value = "è¿åºæ¹å 1-è¿ 0-åº -1:æªç¥ è¦æ±ï¼è¿é¨è¯»å¡å¨æ¨ç 设置为1ï¼åºé¨è¯»å¡å¨æ¨ç 设置为2") private Integer extEventInOut; @ApiModelProperty(value = "就尿§å¶å¨id") private Integer extEventLocalControllerID; @ApiModelProperty(value = "ä¸»è®¾å¤æ¨ç ") private Integer extEventMainDevID; @ApiModelProperty(value = "人åç¼å·") private String extEventPersonNo; @ApiModelProperty(value = "å ¬å¸/ç»ç»") private String personCompanyName; @ApiModelProperty(value = "ææºå·") private String personPhone; @ApiModelProperty(value = "人åç±»å") private String personType; @ApiModelProperty(value = "人å身份è¯å·") private String personIdcardDecode; @ApiModelProperty(value = "人ååç§°") private String personName; @ApiModelProperty(value = "读å¡å¨ç±»å«0-æ æ1-IC读å¡å¨2-身份è¯è¯»å¡å¨3-äºç»´ç 读å¡å¨4-æçº¹å¤´") private Integer extEventReaderKind; @ApiModelProperty(value = "读å¡å¨id") private Integer extEventReaderID; @ApiModelProperty(value = "å¾ççurl") private String extEventPictureURL; @ApiModelProperty(value = "å¾çå卿å¡å¨å¯ä¸æ è¯") private String svrIndexCode; @ApiModelProperty(value = "æ¥åä¸ä¼ éé,1-å¸é²intä¸ä¼ 2-ä¸å¿ç»1ä¸ä¼ 3-ä¸å¿ç»2ä¸ä¼ 0-æ æ") private Integer extEventReportChannel; @ApiModelProperty(value = "群ç»ç¼å·") private Integer extEventRoleID; @ApiModelProperty(value = "åæ§å¶å¨ç¡¬ä»¶ID") private Integer extEventSubDevID; @ApiModelProperty(value = "å·å¡æ¬¡æ°") private Integer extEventSwipNum; @ApiModelProperty(value = "é¨ç¦äºä»¶ç±»å") private Integer extEventType; @ApiModelProperty(value = "å¤é认è¯åºå·") private Long extEventVerifyID; @ApiModelProperty(value = "ç½åååå·") private String extEventWhiteListNo; @ApiModelProperty(value = "äºä»¶ä¸æ¥é©±å¨çæ¶é´") private String extReceiveTime; @ApiModelProperty(value = "äºä»¶æµæ°´å·ï¼ä¸º0æ æ") private Integer seq; @ApiModelProperty(value = "ç¨æ·ç±»åï¼äººåç±»åï¼0 æªç¥ï¼1 æ®éï¼2 æ¥å®¾ï¼3 é»ååï¼4 管çå") private Integer userType; @ApiModelProperty(value = "身份è¯ä½å") private String address; @ApiModelProperty(value = "身份è¯åºçæ¥æ") private String birth; @ApiModelProperty(value = "èº«ä»½è¯æææ¥æç»ææ¶é´") private String endDate; @ApiModelProperty(value = "身份è¯id") private String idNum; @ApiModelProperty(value = "身份è¯ç¾åæºå ³") private String issuingAuthority; @ApiModelProperty(value = "身份è¯å§å") private String name; @ApiModelProperty(value = "èº«ä»½è¯æ§å« 0-æªç¥1-ç· 2-女") private Integer sex; @ApiModelProperty(value = "èº«ä»½è¯æææ¥æå¼å§æ¶é´") private String startDate; @ApiModelProperty(value = "æ¯å¦é¿æææ,0-å¦ï¼æææªæ¢æ¥æææï¼1-æ¯ï¼æææªæ¢æ¥ææ æï¼") private Integer termOfValidity; @ApiModelProperty(value = "ééå·") private Integer accessChannel; @ApiModelProperty(value = "ééè¿äººæ°") private Integer entryTimes; @ApiModelProperty(value = "ééåºäººæ°") private Integer exitTimes; @ApiModelProperty(value = "ééæ»éè¡äººæ°") private Integer totalTimes; } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceEventJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.DeviceEvent; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.springframework.stereotype.Repository; /** * @author T14 */ @Repository public interface DeviceEventJoinMapper extends MPJJoinMapper<DeviceEvent> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.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; server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceRole.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; @@ -17,7 +18,7 @@ */ @Data @ApiModel("é¨ç¦è§è²ä¿¡æ¯è¡¨") @TableName("`door_role`") @TableName("`device_role`") public class DeviceRole { @TableId(type = IdType.AUTO) @@ -96,5 +97,9 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date hkDate; @ApiModelProperty(value = "使ç¨äººæ°") @ExcelColumn(name="使ç¨äººæ°") @TableField(exist = false) private Integer memberNum; } server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
@@ -2,6 +2,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.admin.request.DeviceEventQuery; import com.doumee.dao.admin.response.DeviceEventDTO; import com.doumee.dao.business.model.DeviceEvent; import java.util.List; @@ -14,7 +16,7 @@ /** * å建 * * * @param deviceEvent å®ä½å¯¹è±¡ * @return Integer */ @@ -78,7 +80,7 @@ * @return List<DeviceEvent> */ List<DeviceEvent> findList(DeviceEvent deviceEvent); /** * å页æ¥è¯¢ * @@ -94,4 +96,12 @@ * @return long */ long count(DeviceEvent deviceEvent); /** * å页æ¥è¯¢ * * @param pageWrap å页对象 * @return PageData<DeviceEvent> */ PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEventQuery> pageWrap); } server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceRoleService.java
@@ -14,7 +14,7 @@ /** * å建 * * * @param deviceRole å®ä½å¯¹è±¡ * @return Integer */ @@ -48,6 +48,14 @@ */ void updateById(DeviceRole deviceRole); /** * 䏻鮿´æ° * * @param deviceRole å®ä½å¯¹è±¡ */ void updateStatusById(DeviceRole deviceRole); /** * æ¹é䏻鮿´æ° * @@ -78,7 +86,7 @@ * @return List<DeviceRole> */ List<DeviceRole> findList(DeviceRole deviceRole); /** * å页æ¥è¯¢ * server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -1,20 +1,32 @@ package com.doumee.service.business.impl; import cn.hutool.core.lang.PatternPool; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.PhoneUtil; 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.DeviceEventQuery; import com.doumee.dao.admin.response.DeviceEventDTO; import com.doumee.dao.business.DeviceEventMapper; import com.doumee.dao.business.join.DeviceEventJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.DeviceEvent; import com.doumee.dao.business.model.Member; import com.doumee.service.business.DeviceEventService; 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 +38,10 @@ @Autowired private DeviceEventMapper deviceEventMapper; @Autowired private DeviceEventJoinMapper deviceEventJoinMapper; @Override public Integer create(DeviceEvent deviceEvent) { @@ -83,7 +99,7 @@ QueryWrapper<DeviceEvent> wrapper = new QueryWrapper<>(deviceEvent); return deviceEventMapper.selectList(wrapper); } @Override public PageData<DeviceEvent> findPage(PageWrap<DeviceEvent> pageWrap) { IPage<DeviceEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -268,4 +284,47 @@ QueryWrapper<DeviceEvent> wrapper = new QueryWrapper<>(deviceEvent); return deviceEventMapper.selectCount(wrapper); } @Override public PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEventQuery> pageWrap) { IPage<DeviceEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<DeviceEvent> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); //æ¯å¦æ¯æ°å boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«ä¸æ boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); //æ¯å¦å å«è±æ boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); queryWrapper.leftJoin(Member.class,Member::getId,DeviceEvent::getExtEventPersonNo) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .selectAll(DeviceEvent.class) .selectAs(Member::getName,DeviceEventDTO::getPersonName) .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone) .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode) .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName); queryWrapper.like(number, Member::getPhone, pageWrap.getModel().getKeyWords()) .like((b||hasWord), Member::getName, pageWrap.getModel().getKeyWords()) .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()), Member::getType, pageWrap.getModel().getPersonType()) .eq(StringUtils.isNotBlank(pageWrap.getModel().getEventType()), DeviceEvent::getEventType, pageWrap.getModel().getEventType()) .ge(Objects.nonNull(pageWrap.getModel().getStartTime()), DeviceEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartTime())) .le(Objects.nonNull(pageWrap.getModel().getStartTime()), DeviceEvent::getCreateDate, Utils.Date.getDayEnd(pageWrap.getModel().getEndTime())); IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper); return PageData.from(deviceEventDTOIPage); } } server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -1,7 +1,11 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.DeviceRoleMapper; import com.doumee.dao.business.model.DeviceRole; @@ -10,10 +14,13 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** @@ -29,8 +36,40 @@ @Override public Integer create(DeviceRole deviceRole) { deviceRoleMapper.insert(deviceRole); return deviceRole.getId(); QueryWrapper<DeviceRole> query = new QueryWrapper<>(); query.lambda() .eq(DeviceRole::getIsdeleted,Constants.ZERO) .eq(DeviceRole::getType,deviceRole.getType()) .eq(DeviceRole::getStatus,Constants.ONE); List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query); if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"åä¸ä¸ªç¨æ·ç±»åï¼åªè½æä¸ä¸ªé»è®¤è§è²"); } LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); DeviceRole insert = new DeviceRole(); insert.setCreator(loginUserInfo.getId().toString()); insert.setCreateDate(new Date()); insert.setEdirot(loginUserInfo.getId().toString()); insert.setEditDate(new Date()); insert.setIsdeleted(Constants.ZERO); insert.setRemark(deviceRole.getRemark()); insert.setName(deviceRole.getName()); insert.setIsDefault(Constants.equalsInteger(Constants.ONE,deviceRole.getStatus()) ? 0 : 1); insert.setType(deviceRole.getType()); insert.setDoorIds(deviceRole.getDoorIds()); insert.setDoorNames(deviceRole.getDoorNames()); insert.setParkIds(deviceRole.getParkIds()); insert.setParkNames(deviceRole.getParkNames()); insert.setStatus(deviceRole.getStatus()); insert.setHkId(deviceRole.getHkId()); insert.setHkStatus(deviceRole.getHkStatus()); insert.setHkDate(deviceRole.getHkDate()); deviceRoleMapper.insert(insert); return insert.getId(); } @Override @@ -54,7 +93,39 @@ @Override public void updateById(DeviceRole deviceRole) { QueryWrapper<DeviceRole> query = new QueryWrapper<>(); query.lambda() .eq(DeviceRole::getIsdeleted,Constants.ZERO) .eq(DeviceRole::getType,deviceRole.getType()) .eq(DeviceRole::getStatus,Constants.ONE); List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query); if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"åä¸ä¸ªç¨æ·ç±»åï¼åªè½æä¸ä¸ªé»è®¤è§è²"); } deviceRole.setIsDefault(Constants.equalsInteger(Constants.ONE,deviceRole.getStatus()) ? 0 : 1); deviceRoleMapper.updateById(deviceRole); } @Override public void updateStatusById(DeviceRole deviceRole) { QueryWrapper<DeviceRole> query = new QueryWrapper<>(); query.lambda() .eq(DeviceRole::getIsdeleted,Constants.ZERO) .eq(DeviceRole::getType,deviceRole.getType()) .eq(DeviceRole::getStatus,Constants.ONE); List<DeviceRole> deviceRoles = deviceRoleMapper.selectList(query); if (CollectionUtils.isNotEmpty(deviceRoles) && Constants.equalsInteger(Constants.ONE,deviceRole.getStatus())){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"åä¸ä¸ªç¨æ·ç±»åï¼åªè½æä¸ä¸ªé»è®¤è§è²"); } LoginUserInfo loginUserInfo = (LoginUserInfo)SecurityUtils.getSubject().getPrincipal(); DeviceRole update = new DeviceRole(); update.setEdirot(loginUserInfo.getId().toString()); update.setEditDate(new Date()); update.setId(deviceRole.getId()); update.setStatus(deviceRole.getStatus()); update.setIsDefault(Constants.equalsInteger(Constants.ONE,deviceRole.getStatus()) ? 0 : 1); deviceRoleMapper.updateById(update); } @Override @@ -83,7 +154,7 @@ QueryWrapper<DeviceRole> wrapper = new QueryWrapper<>(deviceRole); return deviceRoleMapper.selectList(wrapper); } @Override public PageData<DeviceRole> findPage(PageWrap<DeviceRole> pageWrap) { IPage<DeviceRole> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -136,6 +207,9 @@ if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(DeviceRole::getStatus, pageWrap.getModel().getStatus()); } queryWrapper.select("t_aa.*," + "(SELECT count(DISTINCT `KEY`) FROM `test` WHERE `test`.`key` = `t_aa`.id ) "); for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty());