From a16262165fcb9c82bc0b886366b57e7355d09eb9 Mon Sep 17 00:00:00 2001 From: dearLin <1261008090@qq.com> Date: Thu, 23 Apr 2026 09:02:56 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=8E=A5=E5=85=A5=E5=A4=A7?= =?UTF-8?q?=E5=8D=8E=E4=B8=80=E7=BA=A7=E5=8F=A3=E9=97=A8=E8=BF=9B=E5=87=BA?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/MkmjSwipeCardRecordController.java | 117 ++++++++++ .../command/MkmjSwipeCardRecordAddExe.java | 40 ++++ .../command/MkmjSwipeCardRecordRemoveExe.java | 41 ++++ .../command/MkmjSwipeCardRecordUpdateExe.java | 34 +++ .../MkmjSwipeCardRecordCoConvertor.java | 26 +++ .../query/MkmjSwipeCardRecordQueryExe.java | 52 +++++ .../MkmjSwipeCardRecordServiceImpl.java | 67 ++++++ .../api/MkmjSwipeCardRecordServiceI.java | 30 +++ .../dto/MkmjSwipeCardRecordAddCmd.java | 207 ++++++++++++++++++ .../dto/MkmjSwipeCardRecordPageQry.java | 32 +++ .../dto/MkmjSwipeCardRecordUpdateCmd.java | 165 ++++++++++++++ .../clientobject/MkmjSwipeCardRecordCO.java | 161 ++++++++++++++ .../dto/mjDock/SwipeRecordPushExtend.java | 151 +++++++++++++ .../dto/mjDock/SwipeRecordPushInfo.java | 61 ++++++ .../dto/mjDock/SwipeRecordPushVo.java | 32 +++ .../gateway/MkmjSwipeCardRecordGateway.java | 32 +++ .../domain/model/MkmjSwipeCardRecordE.java | 109 +++++++++ .../MkmjSwipeCardRecordGatewayImpl.java | 51 +++++ .../gatewayimpl/PersonApplyGatewayImpl.java | 97 ++++---- .../dataobject/MkmjSwipeCardRecordDO.java | 115 ++++++++++ .../mapper/MkmjSwipeCardRecordMapper.java | 17 ++ .../MkmjSwipeCardRecordRepository.java | 18 ++ .../MkmjSwipeCardRecordRepositoryImpl.java | 40 ++++ .../plan/mjDevice/OnePersonUtil.java | 72 +++++- .../mapper/MkmjSwipeCardRecordMapper.xml | 8 + 25 files changed, 1720 insertions(+), 55 deletions(-) create mode 100644 web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java create mode 100644 web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushExtend.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushInfo.java create mode 100644 web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushVo.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java create mode 100644 web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java create mode 100644 web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java new file mode 100644 index 0000000..e37d6b8 --- /dev/null +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/MkmjSwipeCardRecordController.java @@ -0,0 +1,117 @@ +package com.zcloud.primeport.web; + + +import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.Response; +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.framework.auth.model.SSOUser; +import com.jjb.saas.framework.auth.utils.AuthContext; +import com.zcloud.primeport.dto.mjDock.SwipeRecordPushExtend; +import com.zcloud.primeport.dto.mjDock.SwipeRecordPushInfo; +import com.zcloud.primeport.dto.mjDock.SwipeRecordPushVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * web-adapter + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Api(tags = "") +@RequestMapping("/${application.gateway}/mkmjSwipeCardRecord") +@RestController +@AllArgsConstructor +public class MkmjSwipeCardRecordController { + private final MkmjSwipeCardRecordServiceI mkmjSwipeCardRecordService; + + @ApiOperation("新增") + @PostMapping("/dockSave") + public SingleResponse dockSave(@Validated @RequestBody SwipeRecordPushVo cmd) { + SwipeRecordPushInfo info = cmd.getInfo(); + SwipeRecordPushExtend extend = info.getExtend(); + MkmjSwipeCardRecordAddCmd cardRecordEntity = new MkmjSwipeCardRecordAddCmd(); + cardRecordEntity + .setNodeCode(info.getNodeCode()).setAlarmCode(info.getAlarmCode()).setAlarmPicture(info.getAlarmPicture()) + .setNodeType(info.getNodeType()).setAlarmDate(info.getAlarmDate()).setAlarmGrade(info.getAlarmGrade()) + .setUnitType(info.getUnitType()).setAlarmType(info.getAlarmType()).setChannelSeq(info.getChannelSeq()) + .setChannelName(info.getChannelName()).setAlarmStat(info.getAlarmStat()).setDeptName(extend.getDeptName()) + .setAcsChannelCode(extend.getAcsChannelCode()).setMaskState(extend.getMaskState()).setEnterOrExit(extend.getEnterOrExit()) + .setOpenTypeStr(extend.getOpenTypeStr()).setSwingTime(extend.getSwingTime()).setDeviceName(extend.getDeviceName()) + .setPersonCode(extend.getPersonCode()).setOpenType(extend.getOpenType()).setOrgCode(extend.getOrgCode()) + .setPaperType(extend.getPaperType()).setPaperNumber(extend.getPaperNumber()).setErrorDetail(extend.getErrorDetail()) + .setOpenFailedCod(extend.getOpenFailedCode()).setExtendId(extend.getId()).setBeginTime(extend.getBeginTime()) + .setAcsChannelName(extend.getAcsChannelName()).setCardStatus(extend.getCardStatus()).setOrgName(extend.getOrgName()) + .setSex(extend.getSex()).setDeptId(extend.getDeptId()).setCardType(extend.getCardType()).setDeviceCode(extend.getDeviceCode()) + .setPersonName(extend.getPersonName()).setPersonImg(extend.getPersonImg()).setOpenResult(extend.getOpenResult()) + .setPersonId(extend.getPersonId()).setRecordImage1(extend.getRecordImage1()).setCategory(extend.getCategory()) + .setCardNumber(extend.getCardNumber()).setRfidType(extend.getRfidType()).setAge(extend.getAge()).setVRecordFlag(extend.getVRecordFlag()); + + return mkmjSwipeCardRecordService.add(cardRecordEntity); +// return SingleResponse.buildSuccess(); + } + + + @ApiOperation("新增") + @PostMapping("/save") + public SingleResponse add(@Validated @RequestBody MkmjSwipeCardRecordAddCmd cmd) { + return mkmjSwipeCardRecordService.add(cmd); + } + + @ApiOperation("分页") + @PostMapping("/list") + public PageResponse page(@RequestBody MkmjSwipeCardRecordPageQry qry) { + return mkmjSwipeCardRecordService.listPage(qry); + } + + @ApiOperation("所有数据") + @GetMapping("/listAll") + public MultiResponse listAll() { + return MultiResponse.of(new ArrayList()); + } + + @ApiOperation("详情") + @GetMapping("/{id}") + public SingleResponse getInfoById(@PathVariable("id") Long id) { + return SingleResponse.of(mkmjSwipeCardRecordService.queryById(id)); + } + + @ApiOperation("删除") + @DeleteMapping("/{id}") + public Response remove(@PathVariable("id") Long id) { + mkmjSwipeCardRecordService.remove(id); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("删除多个") + @DeleteMapping("/ids") + public Response removeBatch(@RequestParam("ids") String ids) { + List idsList = Arrays.stream(ids.split(",")) + .map(Long::valueOf) + .collect(Collectors.toList()); + mkmjSwipeCardRecordService.removeBatch(idsList); + return SingleResponse.buildSuccess(); + } + + @ApiOperation("修改") + @PutMapping("/edit") + public SingleResponse edit(@Validated @RequestBody MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + mkmjSwipeCardRecordService.edit(mkmjSwipeCardRecordUpdateCmd); + return SingleResponse.buildSuccess(); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java new file mode 100644 index 0000000..56e03a5 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordAddExe.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.command; + +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:03:59 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordAddExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(MkmjSwipeCardRecordAddCmd cmd) { + MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE(); + BeanUtils.copyProperties(cmd, mkmjSwipeCardRecordE); + boolean res = false; + try { + res = mkmjSwipeCardRecordGateway.add(mkmjSwipeCardRecordE); + } catch (Exception e) { + throw new RuntimeException(e); + } + if (!res) { + throw new BizException("保存失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java new file mode 100644 index 0000000..ea5df1b --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordRemoveExe.java @@ -0,0 +1,41 @@ +package com.zcloud.primeport.command; + +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.alibaba.cola.exception.BizException; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordRemoveExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public boolean execute(Long id) { + boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordById(id); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } + + @Transactional(rollbackFor = Exception.class) + public boolean execute(List ids) { + boolean res = mkmjSwipeCardRecordGateway.deletedMkmjSwipeCardRecordByIds(ids); + if (!res) { + throw new BizException("删除失败"); + } + return true; + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java new file mode 100644 index 0000000..333acc2 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/MkmjSwipeCardRecordUpdateExe.java @@ -0,0 +1,34 @@ +package com.zcloud.primeport.command; + +import com.alibaba.cola.exception.BizException; +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:04:02 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordUpdateExe { + private final MkmjSwipeCardRecordGateway mkmjSwipeCardRecordGateway; + + @Transactional(rollbackFor = Exception.class) + public void execute(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + MkmjSwipeCardRecordE mkmjSwipeCardRecordE = new MkmjSwipeCardRecordE(); + BeanUtils.copyProperties(mkmjSwipeCardRecordUpdateCmd, mkmjSwipeCardRecordE); + boolean res = mkmjSwipeCardRecordGateway.update(mkmjSwipeCardRecordE); + if (!res) { + throw new BizException("修改失败"); + } + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java new file mode 100644 index 0000000..13f26ba --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/convertor/MkmjSwipeCardRecordCoConvertor.java @@ -0,0 +1,26 @@ +package com.zcloud.primeport.command.convertor; + +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import org.mapstruct.Mapper; + +import java.util.List; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Mapper(componentModel = "spring") +public interface MkmjSwipeCardRecordCoConvertor { + /** + * @param mkmjSwipeCardRecordDOs + * @return + */ + List converDOsToCOs(List mkmjSwipeCardRecordDOs); + + MkmjSwipeCardRecordCO converDOToCO(MkmjSwipeCardRecordDO mkmjSwipeCardRecordDO); +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java new file mode 100644 index 0000000..26ce619 --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/MkmjSwipeCardRecordQueryExe.java @@ -0,0 +1,52 @@ +package com.zcloud.primeport.command.query; + +import com.zcloud.primeport.command.convertor.MkmjSwipeCardRecordCoConvertor; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.alibaba.cola.dto.PageResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Component +@AllArgsConstructor +public class MkmjSwipeCardRecordQueryExe { + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; + private final MkmjSwipeCardRecordCoConvertor mkmjSwipeCardRecordCoConvertor; + + /** + * 根据id查询 + * + * @param id + * @return + */ + public MkmjSwipeCardRecordCO queryById(Long id) { + return mkmjSwipeCardRecordCoConvertor.converDOToCO(mkmjSwipeCardRecordRepository.getById(id)); + } + + /** + * 分页 + * + * @param mkmjSwipeCardRecordPageQry + * @return + */ + public PageResponse execute(MkmjSwipeCardRecordPageQry mkmjSwipeCardRecordPageQry) { + Map params = PageQueryHelper.toHashMap(mkmjSwipeCardRecordPageQry); + PageResponse pageResponse = mkmjSwipeCardRecordRepository.listPage(params); + List examCenterCOS = mkmjSwipeCardRecordCoConvertor.converDOsToCOs(pageResponse.getData()); + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } +} + diff --git a/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java new file mode 100644 index 0000000..ad142fd --- /dev/null +++ b/web-app/src/main/java/com/zcloud/primeport/service/MkmjSwipeCardRecordServiceImpl.java @@ -0,0 +1,67 @@ +package com.zcloud.primeport.service; + +import com.zcloud.primeport.api.MkmjSwipeCardRecordServiceI; +import com.zcloud.primeport.command.MkmjSwipeCardRecordAddExe; +import com.zcloud.primeport.command.MkmjSwipeCardRecordRemoveExe; +import com.zcloud.primeport.command.MkmjSwipeCardRecordUpdateExe; +import com.zcloud.primeport.command.query.MkmjSwipeCardRecordQueryExe; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * web-app + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Service +@AllArgsConstructor +public class MkmjSwipeCardRecordServiceImpl implements MkmjSwipeCardRecordServiceI { + private final MkmjSwipeCardRecordAddExe mkmjSwipeCardRecordAddExe; + private final MkmjSwipeCardRecordUpdateExe mkmjSwipeCardRecordUpdateExe; + private final MkmjSwipeCardRecordRemoveExe mkmjSwipeCardRecordRemoveExe; + private final MkmjSwipeCardRecordQueryExe mkmjSwipeCardRecordQueryExe; + + @Override + public MkmjSwipeCardRecordCO queryById(Long id) { + return mkmjSwipeCardRecordQueryExe.queryById(id); + } + + @Override + public PageResponse listPage(MkmjSwipeCardRecordPageQry qry) { + + return mkmjSwipeCardRecordQueryExe.execute(qry); + } + + @Override + public SingleResponse add(MkmjSwipeCardRecordAddCmd cmd) { + + mkmjSwipeCardRecordAddExe.execute(cmd); + return SingleResponse.buildSuccess(); + } + + @Override + public void edit(MkmjSwipeCardRecordUpdateCmd mkmjSwipeCardRecordUpdateCmd) { + mkmjSwipeCardRecordUpdateExe.execute(mkmjSwipeCardRecordUpdateCmd); + } + + @Override + public void remove(Long id) { + mkmjSwipeCardRecordRemoveExe.execute(id); + } + + @Override + public void removeBatch(List ids) { + mkmjSwipeCardRecordRemoveExe.execute(ids); + } +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java b/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java new file mode 100644 index 0000000..7bc1850 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/api/MkmjSwipeCardRecordServiceI.java @@ -0,0 +1,30 @@ +package com.zcloud.primeport.api; + +import com.zcloud.primeport.dto.MkmjSwipeCardRecordAddCmd; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordPageQry; +import com.zcloud.primeport.dto.MkmjSwipeCardRecordUpdateCmd; +import com.zcloud.primeport.dto.clientobject.MkmjSwipeCardRecordCO; + +import com.alibaba.cola.dto.PageResponse; +import com.alibaba.cola.dto.SingleResponse; +import java.util.List; + +/** +* web-client +* @Author dearLin +* @Date 2026-04-22 17:14:52 +*/ +public interface MkmjSwipeCardRecordServiceI { + MkmjSwipeCardRecordCO queryById(Long id); + + PageResponse listPage(MkmjSwipeCardRecordPageQry qry); + + SingleResponse add(MkmjSwipeCardRecordAddCmd cmd); + + void edit(MkmjSwipeCardRecordUpdateCmd cmd); + + void remove(Long id); + + void removeBatch(List ids); +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java new file mode 100644 index 0000000..c08ae2c --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordAddCmd.java @@ -0,0 +1,207 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-22 17:03:59 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +public class MkmjSwipeCardRecordAddCmd extends Command { + @ApiModelProperty(value = "刷卡记录表ID", name = "swipeCardRecordId", required = true) + // @NotEmpty(message = "刷卡记录表ID不能为空") + private String swipeCardRecordId; + + @ApiModelProperty(value = "节点编码", name = "nodeCode", required = true) + // @NotEmpty(message = "节点编码不能为空") + private String nodeCode; + + @ApiModelProperty(value = "报警编号", name = "alarmCode", required = true) + // @NotEmpty(message = "报警编号不能为空") + private String alarmCode; + + @ApiModelProperty(value = "报警图片路径", name = "alarmPicture", required = true) + // @NotEmpty(message = "报警图片路径不能为空") + private String alarmPicture; + + @ApiModelProperty(value = "节点类型", name = "nodeType", required = true) + // @NotEmpty(message = "节点类型不能为空") + private String nodeType; + + @ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmDate", required = true) + // @NotNull(message = "报警时间,10位时间戳不能为空") + private Long alarmDate; + + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmGrade", required = true) + // @NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空") + private Integer alarmGrade; + + @ApiModelProperty(value = "单元类型", name = "unitType", required = true) + // @NotNull(message = "单元类型不能为空") + private Integer unitType; + + @ApiModelProperty(value = "报警类型", name = "alarmType", required = true) + // @NotNull(message = "报警类型不能为空") + private Integer alarmType; + + @ApiModelProperty(value = "通道序号", name = "channelSeq", required = true) + // @NotNull(message = "通道序号不能为空") + private Integer channelSeq; + + @ApiModelProperty(value = "通道名称", name = "channelName", required = true) + // @NotEmpty(message = "通道名称不能为空") + private String channelName; + + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmStat", required = true) + // @NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空") + private Integer alarmStat; + + @ApiModelProperty(value = "部门名称", name = "deptName", required = true) + // @NotEmpty(message = "部门名称不能为空") + private String deptName; + + @ApiModelProperty(value = "通道编号", name = "acsChannelCode", required = true) + // @NotEmpty(message = "通道编号不能为空") + private String acsChannelCode; + + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskState", required = true) + // @NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空") + private Integer maskState; + + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterOrExit", required = true) + // @NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空") + private String enterOrExit; + + @ApiModelProperty(value = "开门类型字符串", name = "openTypeStr", required = true) + // @NotEmpty(message = "开门类型字符串不能为空") + private String openTypeStr; + + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingTime", required = true) + // @NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空") + private String swingTime; + + @ApiModelProperty(value = "设备名称", name = "deviceName", required = true) + // @NotEmpty(message = "设备名称不能为空") + private String deviceName; + + @ApiModelProperty(value = "人员编号", name = "personCode", required = true) + // @NotEmpty(message = "人员编号不能为空") + private String personCode; + + @ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "openType", required = true) + // @NotEmpty(message = "开门类型, 详见开门类型 字典不能为空") + private String openType; + + @ApiModelProperty(value = "组织编码", name = "orgCode", required = true) + // @NotEmpty(message = "组织编码不能为空") + private String orgCode; + + @ApiModelProperty(value = "证件类型", name = "paperType", required = true) + // @NotEmpty(message = "证件类型不能为空") + private String paperType; + + @ApiModelProperty(value = "证件号", name = "paperNumber", required = true) + // @NotEmpty(message = "证件号不能为空") + private String paperNumber; + + @ApiModelProperty(value = "错误详情", name = "errorDetail", required = true) + // @NotEmpty(message = "错误详情不能为空") + private String errorDetail; + + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openFailedCod", required = true) + // @NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空") + private String openFailedCod; + + @ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true) + // @NotEmpty(message = "固定值:evo-accesscontrol不能为空") + private String from; + + @ApiModelProperty(value = "extendId标识", name = "extendId", required = true) + // @NotNull(message = "extendId标识不能为空") + private Long extendId; + + @ApiModelProperty(value = "开始时间, 13位时间戳", name = "beginTime", required = true) + // @NotNull(message = "开始时间, 13位时间戳不能为空") + private Long beginTime; + + @ApiModelProperty(value = "通道名称", name = "acsChannelName", required = true) + // @NotEmpty(message = "通道名称不能为空") + private String acsChannelName; + + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardStatus", required = true) + // @NotNull(message = "预留字段,暂未使用,默认值为0不能为空") + private Integer cardStatus; + + @ApiModelProperty(value = "组织名称", name = "orgName", required = true) + // @NotEmpty(message = "组织名称不能为空") + private String orgName; + + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true) + // @NotNull(message = "性别 1 男,2 女, 0 未知不能为空") + private Integer sex; + + @ApiModelProperty(value = "人员部门id", name = "deptId", required = true) + // @NotNull(message = "人员部门id不能为空") + private Long deptId; + + @ApiModelProperty(value = "卡类型", name = "cardType", required = true) + // @NotNull(message = "卡类型不能为空") + private Integer cardType; + + @ApiModelProperty(value = "设备编号", name = "deviceCode", required = true) + // @NotEmpty(message = "设备编号不能为空") + private String deviceCode; + + @ApiModelProperty(value = "人员姓名", name = "personName", required = true) + // @NotEmpty(message = "人员姓名不能为空") + private String personName; + + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personImg", required = true) + // @NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空") + private String personImg; + + @ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openResult", required = true) + // @NotNull(message = "开门结果 0 失败 1 成功不能为空") + private Integer openResult; + + @ApiModelProperty(value = "人员id", name = "personId", required = true) + // @NotNull(message = "人员id不能为空") + private Long personId; + + @ApiModelProperty(value = "抓拍图,相对路径", name = "recordImage1", required = true) + // @NotEmpty(message = "抓拍图,相对路径不能为空") + private String recordImage1; + + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true) + // @NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空") + private String category; + + @ApiModelProperty(value = "卡号", name = "cardNumber", required = true) + // @NotEmpty(message = "卡号不能为空") + private String cardNumber; + + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidType", required = true) + // @NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空") + private Integer rfidType; + + @ApiModelProperty(value = "年龄", name = "age", required = true) + // @NotNull(message = "年龄不能为空") + private Integer age; + + @ApiModelProperty(value = "0-非访客,1-访客", name = "vRecordFlag", required = true) + // @NotNull(message = "0-非访客,1-访客不能为空") + private Integer vRecordFlag; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java new file mode 100644 index 0000000..2bd0697 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordPageQry.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.PageQuery; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Data +public class MkmjSwipeCardRecordPageQry extends PageQuery { + + /** + * 查询条件操作前缀,支持以下几种数据库查询操作: + * - `like`: 模糊匹配查询,对应SQL的LIKE操作符 + * - `eq`: 等值查询,对应SQL的=操作符 + * - `gt`: 大于比较查询 + * - `lt`: 小于比较查询 + * - `ge`: 大于等于比较查询 + * - `le`: 小于等于比较查询 + * - `ne`: 不等比较查询,对应SQL的!=操作符 + */ + private Integer likeId; + private String cardNo; + private String swingTimeStart; + private String swingTimeEnd; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java new file mode 100644 index 0000000..34753fe --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/MkmjSwipeCardRecordUpdateCmd.java @@ -0,0 +1,165 @@ +package com.zcloud.primeport.dto; + +import com.alibaba.cola.dto.Command; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.*; + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MkmjSwipeCardRecordUpdateCmd extends Command { + @ApiModelProperty(value = "所有卡片消息共享的自增长整型数值,从1开始,门禁子系统重启复位到1", name = "id", required = true) + @NotNull(message = "所有卡片消息共享的自增长整型数值,从1开始,门禁子系统重启复位到1不能为空") + private Long id; + @ApiModelProperty(value = "刷卡记录表ID", name = "swipeCardRecordId", required = true) + @NotEmpty(message = "刷卡记录表ID不能为空") + private String swipeCardRecordId; + @ApiModelProperty(value = "节点编码", name = "nodeCode", required = true) + @NotEmpty(message = "节点编码不能为空") + private String nodeCode; + @ApiModelProperty(value = "报警编号", name = "alarmCode", required = true) + @NotEmpty(message = "报警编号不能为空") + private String alarmCode; + @ApiModelProperty(value = "报警图片路径", name = "alarmPicture", required = true) + @NotEmpty(message = "报警图片路径不能为空") + private String alarmPicture; + @ApiModelProperty(value = "节点类型", name = "nodeType", required = true) + @NotEmpty(message = "节点类型不能为空") + private String nodeType; + @ApiModelProperty(value = "报警时间,10位时间戳", name = "alarmDate", required = true) + @NotNull(message = "报警时间,10位时间戳不能为空") + private Long alarmDate; + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微", name = "alarmGrade", required = true) + @NotNull(message = "报警等级 1:严重,2:一般,3:轻微不能为空") + private Integer alarmGrade; + @ApiModelProperty(value = "单元类型", name = "unitType", required = true) + @NotNull(message = "单元类型不能为空") + private Integer unitType; + @ApiModelProperty(value = "报警类型", name = "alarmType", required = true) + @NotNull(message = "报警类型不能为空") + private Integer alarmType; + @ApiModelProperty(value = "通道序号", name = "channelSeq", required = true) + @NotNull(message = "通道序号不能为空") + private Integer channelSeq; + @ApiModelProperty(value = "通道名称", name = "channelName", required = true) + @NotEmpty(message = "通道名称不能为空") + private String channelName; + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失", name = "alarmStat", required = true) + @NotNull(message = "报警状态 1:报警产生,2:报警消失不能为空") + private Integer alarmStat; + @ApiModelProperty(value = "部门名称", name = "deptName", required = true) + @NotEmpty(message = "部门名称不能为空") + private String deptName; + @ApiModelProperty(value = "通道编号", name = "acsChannelCode", required = true) + @NotEmpty(message = "通道编号不能为空") + private String acsChannelCode; + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知", name = "maskState", required = true) + @NotNull(message = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知不能为空") + private Integer maskState; + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典", name = "enterOrExit", required = true) + @NotEmpty(message = "进出门类型: 详见 读卡器业务类型字典不能为空") + private String enterOrExit; + @ApiModelProperty(value = "开门类型字符串", name = "openTypeStr", required = true) + @NotEmpty(message = "开门类型字符串不能为空") + private String openTypeStr; + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss", name = "swingTime", required = true) + @NotEmpty(message = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss不能为空") + private String swingTime; + @ApiModelProperty(value = "设备名称", name = "deviceName", required = true) + @NotEmpty(message = "设备名称不能为空") + private String deviceName; + @ApiModelProperty(value = "人员编号", name = "personCode", required = true) + @NotEmpty(message = "人员编号不能为空") + private String personCode; + @ApiModelProperty(value = "开门类型, 详见开门类型 字典", name = "openType", required = true) + @NotEmpty(message = "开门类型, 详见开门类型 字典不能为空") + private String openType; + @ApiModelProperty(value = "组织编码", name = "orgCode", required = true) + @NotEmpty(message = "组织编码不能为空") + private String orgCode; + @ApiModelProperty(value = "证件类型", name = "paperType", required = true) + @NotEmpty(message = "证件类型不能为空") + private String paperType; + @ApiModelProperty(value = "证件号", name = "paperNumber", required = true) + @NotEmpty(message = "证件号不能为空") + private String paperNumber; + @ApiModelProperty(value = "错误详情", name = "errorDetail", required = true) + @NotEmpty(message = "错误详情不能为空") + private String errorDetail; + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码", name = "openFailedCod", required = true) + @NotEmpty(message = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码不能为空") + private String openFailedCod; + @ApiModelProperty(value = "固定值:evo-accesscontrol", name = "from", required = true) + @NotEmpty(message = "固定值:evo-accesscontrol不能为空") + private String from; + @ApiModelProperty(value = "extendId标识", name = "extendId", required = true) + @NotNull(message = "extendId标识不能为空") + private Long extendId; + @ApiModelProperty(value = "开始时间, 13位时间戳", name = "beginTime", required = true) + @NotNull(message = "开始时间, 13位时间戳不能为空") + private Long beginTime; + @ApiModelProperty(value = "通道名称", name = "acsChannelName", required = true) + @NotEmpty(message = "通道名称不能为空") + private String acsChannelName; + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0", name = "cardStatus", required = true) + @NotNull(message = "预留字段,暂未使用,默认值为0不能为空") + private Integer cardStatus; + @ApiModelProperty(value = "组织名称", name = "orgName", required = true) + @NotEmpty(message = "组织名称不能为空") + private String orgName; + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知", name = "sex", required = true) + @NotNull(message = "性别 1 男,2 女, 0 未知不能为空") + private Integer sex; + @ApiModelProperty(value = "人员部门id", name = "deptId", required = true) + @NotNull(message = "人员部门id不能为空") + private Long deptId; + @ApiModelProperty(value = "卡类型", name = "cardType", required = true) + @NotNull(message = "卡类型不能为空") + private Integer cardType; + @ApiModelProperty(value = "设备编号", name = "deviceCode", required = true) + @NotEmpty(message = "设备编号不能为空") + private String deviceCode; + @ApiModelProperty(value = "人员姓名", name = "personName", required = true) + @NotEmpty(message = "人员姓名不能为空") + private String personName; + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径", name = "personImg", required = true) + @NotEmpty(message = "刷卡人在平台上的图片,相对路径不能为空") + private String personImg; + @ApiModelProperty(value = "开门结果 0 失败 1 成功", name = "openResult", required = true) + @NotNull(message = "开门结果 0 失败 1 成功不能为空") + private Integer openResult; + @ApiModelProperty(value = "人员id", name = "personId", required = true) + @NotNull(message = "人员id不能为空") + private Long personId; + @ApiModelProperty(value = "抓拍图,相对路径", name = "recordImage1", required = true) + @NotEmpty(message = "抓拍图,相对路径不能为空") + private String recordImage1; + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU", name = "category", required = true) + @NotEmpty(message = "卡介质 0 IC 1 有源RFID 2 CPU不能为空") + private String category; + @ApiModelProperty(value = "卡号", name = "cardNumber", required = true) + @NotEmpty(message = "卡号不能为空") + private String cardNumber; + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物", name = "rfidType", required = true) + @NotNull(message = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物不能为空") + private Integer rfidType; + @ApiModelProperty(value = "年龄", name = "age", required = true) + @NotNull(message = "年龄不能为空") + private Integer age; + @ApiModelProperty(value = "0-非访客,1-访客", name = "vRecordFlag", required = true) + @NotNull(message = "0-非访客,1-访客不能为空") + private Integer vRecordFlag; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java new file mode 100644 index 0000000..33c18e9 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/clientobject/MkmjSwipeCardRecordCO.java @@ -0,0 +1,161 @@ +package com.zcloud.primeport.dto.clientobject; + +import com.alibaba.cola.dto.ClientObject; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.sql.Date; + + +/** + * web-client + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Data +public class MkmjSwipeCardRecordCO extends ClientObject { + //刷卡记录表ID + @ApiModelProperty(value = "刷卡记录表ID") + private String swipecardrecordid; + //所有卡片消息共享的自增长整型数值,从1开始,门禁子系统重启复位到1 + @ApiModelProperty(value = "所有卡片消息共享的自增长整型数值,从1开始,门禁子系统重启复位到1") + private Integer id; + //节点编码 + @ApiModelProperty(value = "节点编码") + private String nodecode; + //报警编号 + @ApiModelProperty(value = "报警编号") + private String alarmcode; + //报警图片路径 + @ApiModelProperty(value = "报警图片路径") + private String alarmpicture; + //节点类型 + @ApiModelProperty(value = "节点类型") + private String nodetype; + //报警时间,10位时间戳 + @ApiModelProperty(value = "报警时间,10位时间戳") + private Integer alarmdate; + //报警等级 1:严重,2:一般,3:轻微 + @ApiModelProperty(value = "报警等级 1:严重,2:一般,3:轻微") + private Integer alarmgrade; + //单元类型 + @ApiModelProperty(value = "单元类型") + private Integer unittype; + //报警类型 + @ApiModelProperty(value = "报警类型") + private Integer alarmtype; + //通道序号 + @ApiModelProperty(value = "通道序号") + private Integer channelseq; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String channelname; + //报警状态 1:报警产生,2:报警消失 + @ApiModelProperty(value = "报警状态 1:报警产生,2:报警消失") + private Integer alarmstat; + //部门名称 + @ApiModelProperty(value = "部门名称") + private String deptname; + //通道编号 + @ApiModelProperty(value = "通道编号") + private String acschannelcode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + @ApiModelProperty(value = "口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知") + private Integer maskstate; + //进出门类型: 详见 读卡器业务类型字典 + @ApiModelProperty(value = "进出门类型: 详见 读卡器业务类型字典") + private String enterorexit; + //开门类型字符串 + @ApiModelProperty(value = "开门类型字符串") + private String opentypestr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + @ApiModelProperty(value = "刷卡时间,格式:yyyy-MM:dd HH:mm:ss") + private String swingtime; + //设备名称 + @ApiModelProperty(value = "设备名称") + private String devicename; + //人员编号 + @ApiModelProperty(value = "人员编号") + private String personcode; + //开门类型, 详见开门类型 字典 + @ApiModelProperty(value = "开门类型, 详见开门类型 字典") + private String opentype; + //组织编码 + @ApiModelProperty(value = "组织编码") + private String orgcode; + //证件类型 + @ApiModelProperty(value = "证件类型") + private String papertype; + //证件号 + @ApiModelProperty(value = "证件号") + private String papernumber; + //错误详情 + @ApiModelProperty(value = "错误详情") + private String errordetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + @ApiModelProperty(value = "开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码") + private String openfailedcod; + //固定值:evo-accesscontrol + @ApiModelProperty(value = "固定值:evo-accesscontrol") + private String from; + //extendId标识 + @ApiModelProperty(value = "extendId标识") + private Long extendid; + //开始时间, 13位时间戳 + @ApiModelProperty(value = "开始时间, 13位时间戳") + private Long begintime; + //通道名称 + @ApiModelProperty(value = "通道名称") + private String acschannelname; + //预留字段,暂未使用,默认值为0 + @ApiModelProperty(value = "预留字段,暂未使用,默认值为0") + private Integer cardstatus; + //组织名称 + @ApiModelProperty(value = "组织名称") + private String orgname; + //性别 1 男,2 女, 0 未知 + @ApiModelProperty(value = "性别 1 男,2 女, 0 未知") + private Integer sex; + //人员部门id + @ApiModelProperty(value = "人员部门id") + private Integer deptid; + //卡类型 + @ApiModelProperty(value = "卡类型") + private Integer cardtype; + //设备编号 + @ApiModelProperty(value = "设备编号") + private String devicecode; + //人员姓名 + @ApiModelProperty(value = "人员姓名") + private String personname; + //刷卡人在平台上的图片,相对路径 + @ApiModelProperty(value = "刷卡人在平台上的图片,相对路径") + private String personimg; + //开门结果 0 失败 1 成功 + @ApiModelProperty(value = "开门结果 0 失败 1 成功") + private Integer openresult; + //人员id + @ApiModelProperty(value = "人员id") + private Integer personid; + //抓拍图,相对路径 + @ApiModelProperty(value = "抓拍图,相对路径") + private String recordimage1; + //卡介质 0 IC 1 有源RFID 2 CPU + @ApiModelProperty(value = "卡介质 0 IC 1 有源RFID 2 CPU") + private String category; + //卡号 + @ApiModelProperty(value = "卡号") + private String cardnumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + @ApiModelProperty(value = "rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物") + private Integer rfidtype; + //年龄 + @ApiModelProperty(value = "年龄") + private Integer age; + //0-非访客,1-访客 + @ApiModelProperty(value = "0-非访客,1-访客") + private Integer vrecordflag; +} + diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushExtend.java b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushExtend.java new file mode 100644 index 0000000..f63326d --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushExtend.java @@ -0,0 +1,151 @@ +package com.zcloud.primeport.dto.mjDock; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class SwipeRecordPushExtend { + /** + * 部门名称 + */ + private String deptName; + /** + * 部门id列表 + */ + private List deptIdList; + /** + * 通道编号 + */ + private String acsChannelCode; + /** + * 口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + */ + private Integer maskState; + /** + * 进出门类型 (详见读卡器业务类型字典) + */ + private String enterOrExit; + /** + * 开门类型字符串 + */ + private String openTypeStr; + /** + * 刷卡时间 (格式:yyyy-MM-dd HH:mm:ss) + */ + private String swingTime; + /** + * 设备名称 + */ + private String deviceName; + /** + * 人员编号 + */ + private String personCode; + /** + * 开门类型 (详见开门类型字典) + */ + private String openType; + /** + * 组织编码 + */ + private String orgCode; + /** + * 证件类型 + */ + private String paperType; + /** + * 证件号 + */ + private String paperNumber; + /** + * 错误详情 + */ + private String errorDetail; + /** + * 开门错误码 (0-成功,96-需远程验证,其他参考门禁开门错误码) + */ + private String openFailedCode; + /** + * 固定值:evo-accesscontrol + */ + private String from; + /** + * 记录ID + */ + private Long id; + /** + * 开始时间 (13位时间戳) + */ + private Long beginTime; + /** + * 通道名称 + */ + private String acsChannelName; + /** + * 卡状态 (预留字段,默认0) + */ + private Integer cardStatus; + /** + * 组织名称 + */ + private String orgName; + /** + * 性别 (1-男,2-女,0-未知) + */ + private Integer sex; + /** + * 人员部门ID + */ + private Long deptId; + /** + * 卡类型 + */ + private Integer cardType; + /** + * 设备编号 + */ + private String deviceCode; + /** + * 人员姓名 + */ + private String personName; + /** + * 人员图片相对路径 (平台存储) + */ + private String personImg; + /** + * 开门结果 (0-失败,1-成功) + */ + private Integer openResult; + /** + * 人员ID + */ + private Long personId; + /** + * 抓拍图相对路径 + */ + private String recordImage1; + /** + * 卡介质 (0-IC,1-有源RFID,2-CPU) + */ + private String category; + /** + * 卡号 + */ + private String cardNumber; + /** + * RFID子类型 (0-普通门禁,1-电动车,2-特殊人群关怀,3-宠物) + */ + private Integer rfidType; + /** + * 年龄 + */ + private Integer age; + /** + * 访客标识 (0-非访客,1-访客) + */ + private Integer vRecordFlag; +} diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushInfo.java b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushInfo.java new file mode 100644 index 0000000..5ed681f --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushInfo.java @@ -0,0 +1,61 @@ +package com.zcloud.primeport.dto.mjDock; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class SwipeRecordPushInfo { + /** + * 节点编码 + */ + private String nodeCode; + /** + * 设备编号 + */ + private String deviceCode; + /** + * 报警编号 + */ + private String alarmCode; + /** + * 报警图片相对路径 + */ + private String alarmPicture; + /** + * 节点类型 + */ + private String nodeType; + /** + * 报警时间(10位时间戳) + */ + private Long alarmDate; + /** + * 报警等级 1:严重, 2:一般, 3:轻微 + */ + private Integer alarmGrade; + /** + * 单元类型 + */ + private Integer unitType; + /** + * 报警类型 + */ + private Integer alarmType; + /** + * 通道序号 + */ + private Integer channelSeq; + /** + * 通道名称 + */ + private String channelName; + /** + * 报警状态 1:报警产生, 2:报警消失 + */ + private Integer alarmStat; + /** + * info中的扩展对象 {@link SwipeRecordPushExtend} + */ + private SwipeRecordPushExtend extend; +} diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushVo.java b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushVo.java new file mode 100644 index 0000000..6f70244 --- /dev/null +++ b/web-client/src/main/java/com/zcloud/primeport/dto/mjDock/SwipeRecordPushVo.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.dto.mjDock; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 实时刷卡记录推送 + */ +@Data +@Accessors(chain = true) +public class SwipeRecordPushVo { + /** + * 固定值:alarm.msg + */ + private String method; + /** + * 固定值:evo-accesscontrol + */ + private String subsystem; + /** + * 所有卡片消息共享的自增长整型数值,从1开始,门禁子系统重启复位到1 + */ + private Long id; + /** + * 固定值:alarm + */ + private String category; + /** + * 报警消息体 {@link SwipeRecordPushInfo} + */ + private SwipeRecordPushInfo info; +} diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java new file mode 100644 index 0000000..b73376b --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/MkmjSwipeCardRecordGateway.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.domain.gateway; + +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; + +import java.util.List; + +/** + * web-domain + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +public interface MkmjSwipeCardRecordGateway { + + /** + * 新增 + */ + Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE); + + /** + * 修改 + */ + Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE); + + /** + * 删除 + */ + Boolean deletedMkmjSwipeCardRecordById(Long id); + + Boolean deletedMkmjSwipeCardRecordByIds(List id); +} + diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java new file mode 100644 index 0000000..be6adc7 --- /dev/null +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/model/MkmjSwipeCardRecordE.java @@ -0,0 +1,109 @@ +package com.zcloud.primeport.domain.model; + +import com.alibaba.cola.domain.Entity; +import com.jjb.saas.framework.domain.model.BaseE; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * web-domain + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Data +public class MkmjSwipeCardRecordE extends BaseE { + //刷卡记录表ID + private String swipeCardRecordId; + //节点编码 + private String nodeCode; + //报警编号 + private String alarmCode; + //报警图片路径 + private String alarmPicture; + //节点类型 + private String nodeType; + //报警时间,10位时间戳 + private Long alarmDate; + //报警等级 1:严重,2:一般,3:轻微 + private Integer alarmGrade; + //单元类型 + private Integer unitType; + //报警类型 + private Integer alarmType; + //通道序号 + private Integer channelSeq; + //通道名称 + private String channelName; + //报警状态 1:报警产生,2:报警消失 + private Integer alarmStat; + //部门名称 + private String deptName; + //通道编号 + private String acsChannelCode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + private Integer maskState; + //进出门类型: 详见 读卡器业务类型字典 + private String enterOrExit; + //开门类型字符串 + private String openTypeStr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + private String swingTime; + //设备名称 + private String deviceName; + //人员编号 + private String personCode; + //开门类型, 详见开门类型 字典 + private String openType; + //组织编码 + private String orgCode; + //证件类型 + private String paperType; + //证件号 + private String paperNumber; + //错误详情 + private String errorDetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + private String openFailedCod; + //固定值:evo-accesscontrol + private String from; + //extendId标识 + private Long extendId; + //开始时间, 13位时间戳 + private Long beginTime; + //通道名称 + private String acsChannelName; + //预留字段,暂未使用,默认值为0 + private Integer cardStatus; + //组织名称 + private String orgName; + //性别 1 男,2 女, 0 未知 + private Integer sex; + //人员部门id + private Long deptId; + //卡类型 + private Integer cardType; + //设备编号 + private String deviceCode; + //人员姓名 + private String personName; + //刷卡人在平台上的图片,相对路径 + private String personImg; + //开门结果 0 失败 1 成功 + private Integer openResult; + //人员id + private Long personId; + //抓拍图,相对路径 + private String recordImage1; + //卡介质 0 IC 1 有源RFID 2 CPU + private String category; + //卡号 + private String cardNumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + private Integer rfidType; + //年龄 + private Integer age; + //0-非访客,1-访客 + private Integer vRecordFlag; +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java new file mode 100644 index 0000000..4e80cf1 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/MkmjSwipeCardRecordGatewayImpl.java @@ -0,0 +1,51 @@ +package com.zcloud.primeport.gatewayimpl; + +import com.zcloud.primeport.domain.gateway.MkmjSwipeCardRecordGateway; +import com.zcloud.primeport.domain.model.MkmjSwipeCardRecordE; +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import lombok.AllArgsConstructor; +import com.zcloud.gbscommon.utils.Tools; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Service +@AllArgsConstructor +public class MkmjSwipeCardRecordGatewayImpl implements MkmjSwipeCardRecordGateway { + private final MkmjSwipeCardRecordRepository mkmjSwipeCardRecordRepository; + + @Override + public Boolean add(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) { + MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO(); + BeanUtils.copyProperties(mkmjSwipeCardRecordE, d); + mkmjSwipeCardRecordRepository.save(d); + return true; + } + + @Override + public Boolean update(MkmjSwipeCardRecordE mkmjSwipeCardRecordE) { + MkmjSwipeCardRecordDO d = new MkmjSwipeCardRecordDO(); + BeanUtils.copyProperties(mkmjSwipeCardRecordE, d); + mkmjSwipeCardRecordRepository.updateById(d); + return true; + } + + @Override + public Boolean deletedMkmjSwipeCardRecordById(Long id) { + return mkmjSwipeCardRecordRepository.removeById(id); + } + + @Override + public Boolean deletedMkmjSwipeCardRecordByIds(List ids) { + return mkmjSwipeCardRecordRepository.removeByIds(ids); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java index 482de19..9d85a7f 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java @@ -113,7 +113,7 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { userCardHashSet.add(Base64.decodeToString(item.getUserCard())); JSONObject entries = new JSONObject(); entries.set("name", item.getEmployeePersonUserName()); - entries.set("code", "hbqa"+Base64.decodeToString(item.getUserCard())); + entries.set("code", "hbqa" + Base64.decodeToString(item.getUserCard())); entries.set("validStartTime", byId.getVisitStartTime() + " 00:00:00"); entries.set("validEndTime", byId.getVisitEndTime() + " 23:59:59"); entries.set("paperType", 111); @@ -150,27 +150,27 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { JSONObject jsonObject = mkmjUserInfoByUserCard.getJSONObject(i); mjDeviceHashMap.put(jsonObject.getStr("paperNumber"), jsonObject); } -// for (String s : userHashMap.keySet()) { -// JSONObject entries = userHashMap.get(s); -// if (mjDeviceHashMap.containsKey(s)) { -// JSONObject o = mjDeviceHashMap.get(s); -// // 已存在 看下今天是不是在 申请的时间里 -// long validStartTime = DateUtil.fomatDate(entries.getStr("validStartTime")+ "00:00:00","yyyy-MM-dd HH:mm:ss").getTime(); -// long validEndTime = DateUtil.fomatDate(entries.getStr("validEndTime")+ "23:59:59","yyyy-MM-dd HH:mm:ss").getTime(); -// long time = new Date().getTime(); -// if (time >= validStartTime && time <= validEndTime) { -// // 今天在申请的时间里 需要修改 -// JSONObject entries1 = new JSONObject(); -// entries1.set("personId", o.getLong("id")); -// entries1.set("validStartTime" -// , DateUtil.date2Str(new Date(),"yyyy-MM-dd")+ "00:00:00"); -// entries1.set("validEndTime", DateUtil.date2Str(new Date(),"yyyy-MM-dd")+ "23:59:59"); -// waitEditUser.add(entries1); -// }else { -// // 新增的 -// waitSaveUser.add(entries); -// } -// } + for (String s : userHashMap.keySet()) { + JSONObject entries = userHashMap.get(s); + if (mjDeviceHashMap.containsKey(s)) { + JSONObject o = mjDeviceHashMap.get(s); + // 已存在 看下今天是不是在 申请的时间里 + long validStartTime = DateUtil.fomatDate(entries.getStr("validStartTime") + "00:00:00", "yyyy-MM-dd HH:mm:ss").getTime(); + long validEndTime = DateUtil.fomatDate(entries.getStr("validEndTime") + "23:59:59", "yyyy-MM-dd HH:mm:ss").getTime(); + long time = new Date().getTime(); + if (time >= validStartTime && time <= validEndTime) { + // 今天在申请的时间里 需要修改 + JSONObject entries1 = new JSONObject(); + entries1.set("personId", o.getLong("id")); + entries1.set("validStartTime", DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "00:00:00"); + entries1.set("validEndTime", DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "23:59:59"); + waitEditUser.add(entries1); + } + } else { + // 新增的 + waitSaveUser.add(entries); + } + } // for (int i = 0; i < mkmjUserInfoByUserCard.size(); i++) { // JSONObject o = mkmjUserInfoByUserCard.getJSONObject(i); // String str = o.getStr("paperNumber"); @@ -184,34 +184,33 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { // } // dockEdUserCards.add(str); // } - if (!waitSaveUser.isEmpty()) { - onePersonUtil.batchSaveUser(waitSaveUser); + if (!waitSaveUser.isEmpty()) { + onePersonUtil.batchSaveUser(waitSaveUser); + } + if (!waitEditUser.isEmpty()) { + onePersonUtil.expirationDateRefreshedUserCard(waitEditUser); + } } - if (!waitEditUser.isEmpty()) { - onePersonUtil.expirationDateRefreshedUserCard(waitEditUser); + + @Override public List personListByxgfApplyPersonId (Long id){ + QueryWrapper xgfApplyPersonDOQueryWrapper = new QueryWrapper<>(); + xgfApplyPersonDOQueryWrapper.eq("xgf_apply_person_id", id); + List xgfApplyPersonDOS = personApplyRepository.list(xgfApplyPersonDOQueryWrapper); + ArrayList xgfApplyPersonES = new ArrayList<>(); + xgfApplyPersonDOS.forEach(item -> { + PersonApplyE xgfApplyPersonE = new PersonApplyE(); + BeanUtils.copyProperties(item, xgfApplyPersonE); + xgfApplyPersonES.add(xgfApplyPersonE); + }); + return xgfApplyPersonES; + } + + public static void main (String[]args){ + HashSet strings = new HashSet<>(); + System.out.println(strings.add("1")); + System.out.println(strings.add("2")); + System.out.println(strings.add("3")); + System.out.println(strings.add("1")); } } - @Override - public List personListByxgfApplyPersonId(Long id) { - QueryWrapper xgfApplyPersonDOQueryWrapper = new QueryWrapper<>(); - xgfApplyPersonDOQueryWrapper.eq("xgf_apply_person_id", id); - List xgfApplyPersonDOS = personApplyRepository.list(xgfApplyPersonDOQueryWrapper); - ArrayList xgfApplyPersonES = new ArrayList<>(); - xgfApplyPersonDOS.forEach(item -> { - PersonApplyE xgfApplyPersonE = new PersonApplyE(); - BeanUtils.copyProperties(item, xgfApplyPersonE); - xgfApplyPersonES.add(xgfApplyPersonE); - }); - return xgfApplyPersonES; - } - - public static void main(String[] args) { - HashSet strings = new HashSet<>(); - System.out.println(strings.add("1")); - System.out.println(strings.add("2")); - System.out.println(strings.add("3")); - System.out.println(strings.add("1")); - } -} - diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java new file mode 100644 index 0000000..09577cc --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/MkmjSwipeCardRecordDO.java @@ -0,0 +1,115 @@ +package com.zcloud.primeport.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-22 17:04:00 + */ +@Data +@TableName("mkmj_swipe_card_record") +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class MkmjSwipeCardRecordDO extends BaseDO { + //刷卡记录表ID + private String swipeCardRecordId; + //节点编码 + private String nodeCode; + //报警编号 + private String alarmCode; + //报警图片路径 + private String alarmPicture; + //节点类型 + private String nodeType; + //报警时间,10位时间戳 + private Long alarmDate; + //报警等级 1:严重,2:一般,3:轻微 + private Integer alarmGrade; + //单元类型 + private Integer unitType; + //报警类型 + private Integer alarmType; + //通道序号 + private Integer channelSeq; + //通道名称 + private String channelName; + //报警状态 1:报警产生,2:报警消失 + private Integer alarmStat; + //部门名称 + private String deptName; + //通道编号 + private String acsChannelCode; + //口罩状态 3-戴口罩,2-未戴口罩,1-未识别,0-未知 + private Integer maskState; + //进出门类型: 详见 读卡器业务类型字典 + private String enterOrExit; + //开门类型字符串 + private String openTypeStr; + //刷卡时间,格式:yyyy-MM:dd HH:mm:ss + private String swingTime; + //设备名称 + private String deviceName; + //人员编号 + private String personCode; + //开门类型, 详见开门类型 字典 + private String openType; + //组织编码 + private String orgCode; + //证件类型 + private String paperType; + //证件号 + private String paperNumber; + //错误详情 + private String errorDetail; + //开门错误码,0代表成功,96代表需远程验证(需结合平台上远程验证功能使用),其他参考门禁开门错误码 + private String openFailedCod; + //固定值:evo-accesscontrol + private String from; + //extendId标识 + private Long extendId; + //开始时间, 13位时间戳 + private Long beginTime; + //通道名称 + private String acsChannelName; + //预留字段,暂未使用,默认值为0 + private Integer cardStatus; + //组织名称 + private String orgName; + //性别 1 男,2 女, 0 未知 + private Integer sex; + //人员部门id + private Long deptId; + //卡类型 + private Integer cardType; + //设备编号 + private String deviceCode; + //人员姓名 + private String personName; + //刷卡人在平台上的图片,相对路径 + private String personImg; + //开门结果 0 失败 1 成功 + private Integer openResult; + //人员id + private Long personId; + //抓拍图,相对路径 + private String recordImage1; + //卡介质 0 IC 1 有源RFID 2 CPU + private String category; + //卡号 + private String cardNumber; + //rfid子类型,0:普通门禁,1:电动车,2:特殊人群关怀, 3:宠物 + private Integer rfidType; + //年龄 + private Integer age; + //0-非访客,1-访客 + private Integer vRecordFlag; + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java new file mode 100644 index 0000000..6392f0e --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/MkmjSwipeCardRecordMapper.java @@ -0,0 +1,17 @@ +package com.zcloud.primeport.persistence.mapper; + +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Mapper +public interface MkmjSwipeCardRecordMapper extends BaseMapper { + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java new file mode 100644 index 0000000..a486c6a --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/MkmjSwipeCardRecordRepository.java @@ -0,0 +1,18 @@ +package com.zcloud.primeport.persistence.repository; + +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.repo.BaseRepository; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +public interface MkmjSwipeCardRecordRepository extends BaseRepository { + PageResponse listPage(Map params); +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java new file mode 100644 index 0000000..3a2ca46 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/MkmjSwipeCardRecordRepositoryImpl.java @@ -0,0 +1,40 @@ +package com.zcloud.primeport.persistence.repository.impl; + +import com.zcloud.primeport.persistence.dataobject.MkmjSwipeCardRecordDO; +import com.zcloud.primeport.persistence.mapper.MkmjSwipeCardRecordMapper; +import com.zcloud.primeport.persistence.repository.MkmjSwipeCardRecordRepository; +import com.alibaba.cola.dto.PageResponse; +import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Query; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * web-infrastructure + * + * @Author dearLin + * @Date 2026-04-22 17:04:01 + */ +@Service +@RequiredArgsConstructor +public class MkmjSwipeCardRecordRepositoryImpl extends BaseRepositoryImpl implements MkmjSwipeCardRecordRepository { + private final MkmjSwipeCardRecordMapper mkmjSwipeCardRecordMapper; + + @Override + public PageResponse listPage(Map params) { + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params); + queryWrapper.eq("paper_number",params.get("cardNo")); + queryWrapper.orderByDesc("swing_time"); + IPage result = mkmjSwipeCardRecordMapper.selectPage(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java index d9abec5..80ca1ee 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java @@ -165,12 +165,72 @@ public class OnePersonUtil { public static void main(String[] args) throws Exception { OnePersonUtil onePersonUtil = new OnePersonUtil(); System.out.println(onePersonUtil.getDaHuaDeviceCommon().getToken()); - JSONArray userListByUserCard = onePersonUtil.getDaHuaDeviceCommon().getUserListByUserCard(Arrays.asList("61010519900320002X", "130324199407282116")).getJSONObject("data").getJSONArray("pageData"); - - System.out.println(); - String base64 = imageToBase64("C:\\Users\\Administrator\\Desktop\\myface.jpg"); - String dataUrl = "data:image/jpeg;base64," + base64; - System.out.println(dataUrl); + String requestStr = "{\n" + + "\n" + + " \"param\": {\n" + + "\n" + + " \"monitors\": [\n" + + "\n" + + " {\n" + + "\n" + + " \"monitor\": \"http://192.168.192.201:8971/qa-prevention-gwj-tongbu/mkmjPerson/swipeCardRecordReceiving\",\n" + + "\n" + + " \"monitorType\": \"url\",\n" + + "\n" + + " \"events\": [\n" + + "\n" + + " {\n" + + "\n" + + " \"category\": \"alarm\",\n" + + "\n" + + " \"subscribeAll\": 1,\n" + + "\n" + + " \"domainSubscribe\": 2,\n" + + "\n" + + " \"authorities\": [\n" + + "\n" + + " {\n" + + "\n" + + " \"types\": [\n" + + "\n" + + " \"51\",\n" + + "\n" + + " \"61\"\n" + + "\n" + + " ]\n" + + "\n" + + " }\n" + + "\n" + + " ]\n" + + "\n" + + " }\n" + + "\n" + + " ]\n" + + "\n" + + " }\n" + + "\n" + + " ],\n" + + "\n" + + " \"subsystem\": {\n" + + "\n" + + " \"subsystemType\": 0,\n" + + "\n" + + " \"name\":\"192.168.192.201_8971\",\n" + + "\n" + + " \"magic\":\"192.168.192.201_8971\"\n" + + "\n" + + " }\n" + + "\n" + + " }\n" + + "\n" + + "}"; + JSONObject x = new JSONObject(requestStr); +// JSONArray userListByUserCard = onePersonUtil.getDaHuaDeviceCommon().getUserListByUserCard(Arrays.asList("61010519900320002X", "130324199407282116")).getJSONObject("data").getJSONArray("pageData"); +// +// System.out.println(); +// String base64 = imageToBase64("C:\\Users\\Administrator\\Desktop\\myface.jpg"); +// String dataUrl = "data:image/jpeg;base64," + base64; +// System.out.println(dataUrl); } public static String imageToBase64(String imagePath) throws IOException { File file = new File(imagePath); diff --git a/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml new file mode 100644 index 0000000..8b05555 --- /dev/null +++ b/web-infrastructure/src/main/resources/mapper/MkmjSwipeCardRecordMapper.xml @@ -0,0 +1,8 @@ + + + + + + +