From 3b49f43789d498ad455465395301229c1c47cef3 Mon Sep 17 00:00:00 2001 From: wen <1455474577@qq.com> Date: Mon, 14 Feb 2022 14:57:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AE=BE=E5=A4=87=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../card/controller/XhpcCardController.java | 26 ++- .../com/xhpc/card/domain/DeviceLogInfo.java | 69 +++++++ ...quest.java => OperateCardsLogRequest.java} | 2 +- ...onse.java => OperateCardsLogResponse.java} | 2 +- .../card/domain/OperateDevicesLogRequest.java | 48 +++++ .../domain/OperateDevicesLogResponse.java | 76 ++++++++ .../xhpc/card/mapper/TIccardLogMapper.java | 25 ++- .../xhpc/card/service/IXhpcCardService.java | 13 +- .../service/impl/XhpcCardServiceImpl.java | 56 ++++-- .../java/com/xhpc/card/utils/MyDateUtil.java | 12 +- .../resources/mapper/TIccardLogMapper.xml | 184 ++++++++++++++++++ 11 files changed, 483 insertions(+), 30 deletions(-) create mode 100644 xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/DeviceLogInfo.java rename xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/{OperateCardLogRequest.java => OperateCardsLogRequest.java} (95%) rename xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/{OperateCardLogResponse.java => OperateCardsLogResponse.java} (97%) create mode 100644 xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogRequest.java create mode 100644 xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogResponse.java create mode 100644 xhpc-modules/xhpc-card/src/main/resources/mapper/TIccardLogMapper.xml diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/controller/XhpcCardController.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/controller/XhpcCardController.java index 2aedebc3..15369272 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/controller/XhpcCardController.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/controller/XhpcCardController.java @@ -149,10 +149,30 @@ public class XhpcCardController extends BaseController { return xhpcCardService.reportTheLossOfCard(cardId); } - @GetMapping("/operateCardLog") - public R operateCardLog(OperateCardLogRequest operateCardLogRequest) { + /** + * query to list of operate card + * + * @author WH + * @date 2022/2/14 10:32 + * @since version-1.0 + */ + @GetMapping("/operateCardsLog") + public R operateCardsLog(OperateCardsLogRequest operateCardsLogRequest) { - return xhpcCardService.operateCardLog(operateCardLogRequest); + return xhpcCardService.operateCardLog(operateCardsLogRequest); + } + + /** + * query log of operating devices + * + * @author WH + * @date 2022/2/14 11:13 + * @since version-1.0 + */ + @GetMapping("/operateDevicesLog") + public R operateDevicesLog(@Validated OperateDevicesLogRequest operateDevicesLogRequest) { + + return xhpcCardService.operateDevicesLog(operateDevicesLogRequest); } diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/DeviceLogInfo.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/DeviceLogInfo.java new file mode 100644 index 00000000..3c719645 --- /dev/null +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/DeviceLogInfo.java @@ -0,0 +1,69 @@ +package com.xhpc.card.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 授权设备日志实体类 + * + * @author WH + * @date 2022/2/14 13:53 + * @since version-1.0 + */ +@NoArgsConstructor +@Data +public class DeviceLogInfo { + + /** + * 设备信息 + */ + @JsonProperty("deviceInfo") + private DeviceInfoDTO deviceInfo; + /** + * 执行此操作的运营商id + */ + @JsonProperty("operatorId") + private Long operatorId; + /** + * 操作类型 + */ + @JsonProperty("operate") + private Integer operate; + + /** + * DeviceInfoDTO + */ + @NoArgsConstructor + @Data + public static class DeviceInfoDTO { + + /** + * 设备名称 + */ + @JsonProperty("devName") + private String devName; + /** + * 设备类型 + */ + @JsonProperty("devType") + private String devType; + /** + * 设备序列号 + */ + @JsonProperty("serialNumber") + private String serialNumber; + /** + * 授权运营商id + */ + @JsonProperty("corpIndex") + private Long corpIndex; + /** + * 授权运营商名称 + */ + @JsonProperty("corpName") + private String corpName; + + } + +} diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogRequest.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogRequest.java similarity index 95% rename from xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogRequest.java rename to xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogRequest.java index 793a48b8..ac1d2ffc 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogRequest.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogRequest.java @@ -13,7 +13,7 @@ import lombok.NoArgsConstructor; */ @NoArgsConstructor @Data -public class OperateCardLogRequest { +public class OperateCardsLogRequest { /** * operateType diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogResponse.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogResponse.java similarity index 97% rename from xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogResponse.java rename to xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogResponse.java index 15a0542a..582be610 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardLogResponse.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateCardsLogResponse.java @@ -15,7 +15,7 @@ import java.util.List; */ @NoArgsConstructor @Data -public class OperateCardLogResponse { +public class OperateCardsLogResponse { /** diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogRequest.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogRequest.java new file mode 100644 index 00000000..0df539b4 --- /dev/null +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogRequest.java @@ -0,0 +1,48 @@ +package com.xhpc.card.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +/** + * Wrapper class of the interface of OperateDevicesLogRequest + * + * @author WH + * @date 2022/2/14 11:14 + * @since version-1.0 + */ +@NoArgsConstructor +@Data +public class OperateDevicesLogRequest { + + /** + * operateType + */ + @JsonProperty("operateType") + private Integer operateType; + /** + * logStartTime + */ + @JsonProperty("logStartTime") + private String logStartTime; + /** + * logEndTime + */ + @JsonProperty("logEndTime") + private String logEndTime; + /** + * currentPage + */ + @JsonProperty("currentPage") + @NotNull(message = "currentPage不能为null") + private Long currentPage; + /** + * items + */ + @NotNull(message = "items不能为null") + @JsonProperty("items") + private Long items; + +} diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogResponse.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogResponse.java new file mode 100644 index 00000000..3391d3a3 --- /dev/null +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/OperateDevicesLogResponse.java @@ -0,0 +1,76 @@ +package com.xhpc.card.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * Response Wrapper + * + * @author WH + * @date 2022/2/14 11:18 + * @since version-1.0 + */ +@NoArgsConstructor +@Data +public class OperateDevicesLogResponse { + + /** + * totalItems + */ + @JsonProperty("totalItems") + private Long totalItems; + /** + * data + */ + @JsonProperty("data") + private List data; + + /** + * DataDTO + */ + @NoArgsConstructor + @Data + public static class DataDTO { + + /** + * deviceSerialNumber + */ + @JsonProperty("deviceSerialNumber") + private String deviceSerialNumber; + /** + * operateType + */ + @JsonProperty("operateType") + private Integer operateType; + /** + * deviceName + */ + @JsonProperty("deviceName") + private String deviceName; + /** + * deviceType + */ + @JsonProperty("deviceType") + private String deviceType; + /** + * grantOperatorName + */ + @JsonProperty("grantOperatorName") + private String grantOperatorName; + /** + * operatorName + */ + @JsonProperty("operatorName") + private String operatorName; + /** + * operateTime + */ + @JsonProperty("operateTime") + private String operateTime; + + } + +} diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/TIccardLogMapper.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/TIccardLogMapper.java index 2340ef85..0a3e16e3 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/TIccardLogMapper.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/TIccardLogMapper.java @@ -1,6 +1,7 @@ package com.xhpc.card.mapper; -import com.xhpc.card.domain.OperateCardLogRequest; +import com.xhpc.card.domain.OperateCardsLogRequest; +import com.xhpc.card.domain.OperateDevicesLogRequest; import com.xhpc.card.pojo.TIccardLog; import java.util.List; @@ -26,7 +27,7 @@ public interface TIccardLogMapper { * @date 2022/2/13 22:43 * @since version-1.0 */ - List selectByCondition(OperateCardLogRequest operateCardLogRequest); + List selectByCondition(OperateCardsLogRequest operateCardsLogRequest); /** * query count of list of log of operate card @@ -35,6 +36,24 @@ public interface TIccardLogMapper { * @date 2022/2/13 23:11 * @since version-1.0 */ - Long selectCountByCondition(OperateCardLogRequest operateCardLogRequest); + Long selectCountByCondition(OperateCardsLogRequest operateCardsLogRequest); + + /** + * query list of log of operate device + * + * @author WH + * @date 2022/2/14 13:59 + * @since version-1.0 + */ + List selectDeviceLogListByCondition(OperateDevicesLogRequest operateDevicesLogRequest); + + /** + * query count of log of operating device + * + * @author WH + * @date 2022/2/14 14:22 + * @since version-1.0 + */ + Long selectCountOfDeviceLogListByCondition(OperateDevicesLogRequest operateDevicesLogRequest); } \ No newline at end of file diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/IXhpcCardService.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/IXhpcCardService.java index 3450e922..eaff111d 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/IXhpcCardService.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/IXhpcCardService.java @@ -126,6 +126,17 @@ public interface IXhpcCardService { * @date 2022/2/13 22:35 * @since version-1.0 */ - R operateCardLog(OperateCardLogRequest operateCardLogRequest); + R operateCardLog(OperateCardsLogRequest operateCardsLogRequest); + + /** + * query log of operation devices + * + * @param operateDevicesLogRequest wrapper class of condition + * @return return response wrapper class OperateCardsLogResponse + * @author WH + * @date 2022/2/14 11:10 + * @since version-1.0 + */ + R operateDevicesLog(OperateDevicesLogRequest operateDevicesLogRequest); } diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java index 55cf1eb2..19eed060 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java @@ -452,20 +452,20 @@ public class XhpcCardServiceImpl implements IXhpcCardService { } @Override - public R operateCardLog(OperateCardLogRequest operateCardLogRequest) { + public R operateCardLog(OperateCardsLogRequest operateCardsLogRequest) { //计算分页索引 - long startIndex = MyPagingUtil.calculateStartIndex(operateCardLogRequest.getCurrentPage(), operateCardLogRequest.getItems()); - operateCardLogRequest.setCurrentPage(startIndex); - OperateCardLogResponse operateCardLogResponse = new OperateCardLogResponse(); - operateCardLogResponse.setData(new ArrayList<>()); - List dataList = tIccardLogMapper.selectByCondition(operateCardLogRequest); + long startIndex = MyPagingUtil.calculateStartIndex(operateCardsLogRequest.getCurrentPage(), operateCardsLogRequest.getItems()); + operateCardsLogRequest.setCurrentPage(startIndex); + OperateCardsLogResponse operateCardsLogResponse = new OperateCardsLogResponse(); + operateCardsLogResponse.setData(new ArrayList<>()); + List dataList = tIccardLogMapper.selectByCondition(operateCardsLogRequest); if (dataList.isEmpty()) { - return R.ok(operateCardLogResponse); + return R.ok(operateCardsLogResponse); } - Long totalItems = tIccardLogMapper.selectCountByCondition(operateCardLogRequest); - operateCardLogResponse.setTotalItems(totalItems); + Long totalItems = tIccardLogMapper.selectCountByCondition(operateCardsLogRequest); + operateCardsLogResponse.setTotalItems(totalItems); for (TIccardLog tIccardLog : dataList) { - OperateCardLogResponse.DataDTO dataDTO = new OperateCardLogResponse.DataDTO(); + OperateCardsLogResponse.DataDTO dataDTO = new OperateCardsLogResponse.DataDTO(); String log = tIccardLog.getLog(); CardLogInfo cardLogInfo = JSONUtil.toBean(log, CardLogInfo.class); CardLogInfo.CardInfoDTO cardInfo = cardLogInfo.getCardInfo(); @@ -478,9 +478,41 @@ public class XhpcCardServiceImpl implements IXhpcCardService { dataDTO.setOperateTime(MyDateUtil.parseDateToStr(tIccardLog.getCreatetime())); XhpcOperator operator2 = xhpcOperatorMapper.selectByPrimaryKey(cardLogInfo.getOperatorId()); dataDTO.setOperatorName(operator2.getName()); - operateCardLogResponse.getData().add(dataDTO); + operateCardsLogResponse.getData().add(dataDTO); } - return R.ok(operateCardLogResponse); + return R.ok(operateCardsLogResponse); + } + + @Override + public R operateDevicesLog(OperateDevicesLogRequest operateDevicesLogRequest) { + //计算分页索引 + long startIndex = MyPagingUtil.calculateStartIndex(operateDevicesLogRequest.getCurrentPage(), operateDevicesLogRequest.getItems()); + operateDevicesLogRequest.setCurrentPage(startIndex); + OperateDevicesLogResponse operateDevicesLogResponse = new OperateDevicesLogResponse(); + operateDevicesLogResponse.setData(new ArrayList<>()); + List dataList = tIccardLogMapper.selectDeviceLogListByCondition(operateDevicesLogRequest); + if (dataList.isEmpty()) { + return R.ok(operateDevicesLogResponse); + } + Long totalItems = tIccardLogMapper.selectCountOfDeviceLogListByCondition(operateDevicesLogRequest); + operateDevicesLogResponse.setTotalItems(totalItems); + for (TIccardLog tIccardLog : dataList) { + OperateDevicesLogResponse.DataDTO dataDTO = new OperateDevicesLogResponse.DataDTO(); + String log = tIccardLog.getLog(); + DeviceLogInfo deviceLogInfo = JSONUtil.toBean(log, DeviceLogInfo.class); + DeviceLogInfo.DeviceInfoDTO deviceInfo = deviceLogInfo.getDeviceInfo(); + dataDTO.setDeviceSerialNumber(deviceInfo.getSerialNumber()); + dataDTO.setOperateType(Integer.valueOf(tIccardLog.getOperate())); + dataDTO.setDeviceName(deviceInfo.getDevName()); + dataDTO.setDeviceType(deviceInfo.getDevType()); + dataDTO.setGrantOperatorName(deviceInfo.getCorpName()); + Integer operatorId = tIccardLog.getOperatorid(); + XhpcOperator operator = xhpcOperatorMapper.selectByPrimaryKey(Long.valueOf(operatorId)); + dataDTO.setOperatorName(operator.getName()); + dataDTO.setOperateTime(MyDateUtil.parseDateToStr(tIccardLog.getCreatetime())); + operateDevicesLogResponse.getData().add(dataDTO); + } + return R.ok(operateDevicesLogResponse); } private void fillUserInfo(CardUserInfo cardUserInfo, Map userData) { diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/utils/MyDateUtil.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/utils/MyDateUtil.java index 275f9688..55c08d45 100644 --- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/utils/MyDateUtil.java +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/utils/MyDateUtil.java @@ -1,7 +1,6 @@ package com.xhpc.card.utils; import cn.hutool.core.date.DateTime; -import com.xhpc.common.core.utils.DateUtils; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -22,11 +21,11 @@ public class MyDateUtil { public static void main(String[] args) { - System.out.println(getCurrentDateStr()); + System.out.println(parseDateToStr(new Date())); } /** - * 对parseDateStr方法进行再次封装,默认转换格式为YYYY_MM_DD_HH_MM_SS + * 转换Date对象,转换格式为YYYY_MM_DD_HH_MM_SS的时间字符串 * * @param date 时间对象 * @return YYYY_MM_DD_HH_MM_SS格式的时间字符串 @@ -36,12 +35,7 @@ public class MyDateUtil { */ public static final String parseDateToStr(final Date date) { - return parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, date); - } - - public static final String parseDateToStr(final String format, final Date date) { - - return new SimpleDateFormat(format).format(date); + return new SimpleDateFormat(MyDateUtil.YYYY_MM_DD_HH_MM_SS).format(date); } /** diff --git a/xhpc-modules/xhpc-card/src/main/resources/mapper/TIccardLogMapper.xml b/xhpc-modules/xhpc-card/src/main/resources/mapper/TIccardLogMapper.xml new file mode 100644 index 00000000..762ca1a2 --- /dev/null +++ b/xhpc-modules/xhpc-card/src/main/resources/mapper/TIccardLogMapper.xml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + id + , uniqueID, `type`, operate, operatorId, log, createTime + + + + + + + + delete + from t_iccard_log + where id = #{id,jdbcType=INTEGER} + + + insert into t_iccard_log (uniqueID, `type`, operate, + operatorId, log, createTime) + values (#{uniqueid,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT}, #{operate,jdbcType=TINYINT}, + #{operatorid,jdbcType=INTEGER}, #{log,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}) + + + insert into t_iccard_log + + + uniqueID, + + + `type`, + + + operate, + + + operatorId, + + + log, + + + createTime, + + + + + #{uniqueid,jdbcType=VARCHAR}, + + + #{type,jdbcType=TINYINT}, + + + #{operate,jdbcType=TINYINT}, + + + #{operatorid,jdbcType=INTEGER}, + + + #{log,jdbcType=VARCHAR}, + + + #{createtime,jdbcType=TIMESTAMP}, + + + + + update t_iccard_log + + + uniqueID = #{uniqueid,jdbcType=VARCHAR}, + + + `type` = #{type,jdbcType=TINYINT}, + + + operate = #{operate,jdbcType=TINYINT}, + + + operatorId = #{operatorid,jdbcType=INTEGER}, + + + log = #{log,jdbcType=VARCHAR}, + + + createTime = #{createtime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=INTEGER} + + + update t_iccard_log + set uniqueID = #{uniqueid,jdbcType=VARCHAR}, + `type` = #{type,jdbcType=TINYINT}, + operate = #{operate,jdbcType=TINYINT}, + operatorId = #{operatorid,jdbcType=INTEGER}, + log = #{log,jdbcType=VARCHAR}, + createTime = #{createtime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file