From 95b1e9f2f153492651969acdb9fea22d76b7b35f Mon Sep 17 00:00:00 2001 From: wen <1455474577@qq.com> Date: Sun, 13 Feb 2022 21:43:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=88=B7=E5=8D=A1=E6=8C=82?= =?UTF-8?q?=E5=A4=B1=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 | 13 +++ .../com/xhpc/card/domain/CardLogInfo.java | 95 +++++++++++++++++++ .../xhpc/card/service/IXhpcCardService.java | 9 ++ .../service/impl/XhpcCardServiceImpl.java | 66 ++++++++++++- 4 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/CardLogInfo.java 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 40bc8679..f1ed6417 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 @@ -136,5 +136,18 @@ public class XhpcCardController extends BaseController { return xhpcCardService.queryOperatorUser(); } + /** + * report the loss of card + * + * @author WH + * @date 2022/2/12 16:58 + * @since version-1.0 + */ + @PatchMapping("/loss") + public R reportTheLossOfCard(@RequestParam("cardId") Integer cardId) { + + return xhpcCardService.reportTheLossOfCard(cardId); + } + } diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/CardLogInfo.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/CardLogInfo.java new file mode 100644 index 00000000..3f6f8703 --- /dev/null +++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/domain/CardLogInfo.java @@ -0,0 +1,95 @@ +package com.xhpc.card.domain; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * t_iccard_log的log的实体类 + * + * @author WH + * @date 2022/2/13 15:59 + * @since version-1.0 + */ +@NoArgsConstructor +@Data +public class CardLogInfo { + + /** + * cardInfo + */ + @JsonProperty("cardInfo") + private CardInfoDTO cardInfo; + + /** + * CardInfoDTO + */ + @NoArgsConstructor + @Data + public static class CardInfoDTO { + + /** + * cardID + */ + @JsonProperty("cardID") + private String cardID; + /** + * cardNo + */ + @JsonProperty("cardNo") + private String cardNo; + /** + * cardType + */ + @JsonProperty("cardType") + private Integer cardType; + /** + * password + */ + @JsonProperty("password") + private Object password; + /** + * userIndex + */ + @JsonProperty("userIndex") + private Integer userIndex; + /** + * corpNo + */ + @JsonProperty("corpNo") + private String corpNo; + /** + * cashPledge + */ + @JsonProperty("cashPledge") + private Integer cashPledge; + /** + * balance + */ + @JsonProperty("balance") + private Integer balance; + /** + * status + */ + @JsonProperty("status") + private Integer status; + /** + * prepay + */ + @JsonProperty("prepay") + private Integer prepay; + + } + + /** + * operatorId + */ + @JsonProperty("operatorId") + private Long operatorId; + /** + * operate + */ + @JsonProperty("operate") + private Integer operate; + +} 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 34969c7f..755c5939 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 @@ -110,4 +110,13 @@ public interface IXhpcCardService { */ R>> queryOperatorUser(); + /** + * report the loss of card + * + * @author WH + * @date 2022/2/13 13:30 + * @since version-1.0 + */ + R reportTheLossOfCard(Integer cardId); + } 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 3f5f1a5a..a0740a40 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 @@ -1,5 +1,6 @@ package com.xhpc.card.service.impl; +import cn.hutool.json.JSONUtil; import com.xhpc.card.domain.*; import com.xhpc.card.mapper.*; import com.xhpc.card.pojo.*; @@ -46,7 +47,9 @@ public class XhpcCardServiceImpl implements IXhpcCardService { @Resource private XhpcCustomersPersonnelMapper xhpcCustomersPersonnelMapper; @Resource - TokenService tokenService; + private TokenService tokenService; + @Resource + private TIccardLogMapper tIccardLogMapper; @Override public R cardStartup(String cardno, String serialNumber, String rateModelId) { @@ -386,6 +389,67 @@ public class XhpcCardServiceImpl implements IXhpcCardService { return R.ok(dataList); } + @Override + @Transactional(rollbackFor = Exception.class) + public R reportTheLossOfCard(Integer cardId) { + + if (cardId == null) { + return R.fail("无效cardId"); + } + TIccardInfo tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId); + if (tIccardInfo.getStatus() == 3) { + return R.fail("该卡已经挂失"); + } + tIccardInfo.setStatus(3); + tIccardInfoMapper.updateByPrimaryKeySelective(tIccardInfo); + //write log info + tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId); + TIccardLog tIccardLog = new TIccardLog(); + tIccardLog.setUniqueid(tIccardInfo.getCardno()); + tIccardLog.setType((byte) 0); + tIccardLog.setOperate((byte) 5); + tIccardLog.setOperatorid(Integer.valueOf(tIccardInfo.getCorpno())); + tIccardLog.setCreatetime(new Date()); + CardLogInfo cardLogInfo = new CardLogInfo(); + /** + * { + * "cardInfo": { + * "cardID": "A721DCD7", + * "cardNo": "2020101304", + * "cardType": 0, + * "password": null, + * "userIndex": 0, + * "corpNo": "100002", + * "cashPledge": 0, + * "balance": 0, + * "status": 3, + * "prepay": 0 + * }, + * "operatorId": 1044, + * "operate": 5 + * } + */ + cardLogInfo.setOperate(5); + cardLogInfo.setOperatorId(Long.valueOf(tIccardInfo.getCorpno())); + CardLogInfo.CardInfoDTO cardInfoDTO = new CardLogInfo.CardInfoDTO(); + cardInfoDTO.setCardID(tIccardInfo.getCardid()); + cardInfoDTO.setCardNo(tIccardInfo.getCardno()); + cardInfoDTO.setCardType(tIccardInfo.getCardtype()); + cardInfoDTO.setPassword(tIccardInfo.getPassword()); + cardInfoDTO.setUserIndex(tIccardInfo.getUserindex()); + cardInfoDTO.setCorpNo(tIccardInfo.getCorpno()); + cardInfoDTO.setCashPledge(tIccardInfo.getCashpledge()); + cardInfoDTO.setBalance(tIccardInfo.getBalance()); + cardInfoDTO.setStatus(tIccardInfo.getStatus()); + // todo prepay doesn't have + cardInfoDTO.setPrepay(null); + cardLogInfo.setCardInfo(cardInfoDTO); + String str = JSONUtil.toJsonStr(cardLogInfo); + tIccardLog.setLog(str); + tIccardLogMapper.insertSelective(tIccardLog); + return R.ok(); + } + private void fillUserInfo(CardUserInfo cardUserInfo, Map userData) { cardUserInfo.setCardSerialNumber((String) userData.get("cardID"));