From f5893081998b1aecd640884bdb304ddc6d8d5dc0 Mon Sep 17 00:00:00 2001 From: wenhui <1455474577@qq.com> Date: Thu, 3 Mar 2022 15:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=81=A2=E5=A4=8D=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 | 11 ++- .../xhpc/card/service/IXhpcCardService.java | 8 +++ .../service/impl/XhpcCardServiceImpl.java | 68 +++++++++++++++++++ .../resources/mapper/XhpcOperatorMapper.xml | 2 +- 4 files changed, 86 insertions(+), 3 deletions(-) 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 fa1d6acc..f42e97af 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 @@ -33,10 +33,17 @@ public class XhpcCardController extends BaseController { * @return */ @GetMapping("/cardStartup") - public R cardStartup(@RequestParam(value = "cardno") String cardno, @RequestParam(value = "serialNumber") String serialNumber ,@RequestParam(value = "rateModelId") String rateModelId){ + public R cardStartup(@RequestParam(value = "cardno") String cardno, @RequestParam(value = "serialNumber") String serialNumber, @RequestParam(value = "rateModelId") String rateModelId) { + logger.info("<<<<<<<<<<<<<<<<<<<<<<<<卡启动充电判断>>>>>>>>>>>>>>>>>"); logger.info("<<<<<<<<<<<<<<<<<<<<<<<<卡启动充电判断>>>>>>>>>>>>>>>>>"); - return xhpcCardService.cardStartup(cardno, serialNumber,rateModelId); + return xhpcCardService.cardStartup(cardno, serialNumber, rateModelId); + } + + @PatchMapping("/recover") + public R recoverToReportTheLossOfCard(@RequestParam("cardId") Integer cardId) { + + return xhpcCardService.recoverToReportTheLossOfCard(cardId); } @GetMapping("/devices") 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 f0c2bb11..f69bda64 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 @@ -195,4 +195,12 @@ public interface IXhpcCardService { */ R queryClientUsers(queryClientUsersCondition queryCondition); + /** + * @param cardId card id + * @author WH + * @date 2022/3/3 14:29 + * @since version-1.0 + */ + R recoverToReportTheLossOfCard(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 a669d1af..4281dc33 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 @@ -728,6 +728,74 @@ public class XhpcCardServiceImpl implements IXhpcCardService { return R.ok(usersList); } + @Override + @Transactional(rollbackFor = Exception.class) + public R recoverToReportTheLossOfCard(Integer cardId) { + + if (cardId == null) { + return R.fail("无效cardId"); + } + TIccardInfo tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId); + //状态3的意思是该卡是挂失状态 + if (tIccardInfo.getStatus() != 3) { + return R.fail("该卡不是挂失状态"); + } + tIccardInfo.setStatus(1); + tIccardInfoMapper.updateByPrimaryKeySelective(tIccardInfo); + //write log info + tIccardInfo = tIccardInfoMapper.selectByPrimaryKey(cardId); + TIccardLog tIccardLog = new TIccardLog(); + tIccardLog.setUniqueid(tIccardInfo.getCardno()); + //0表示该日志是卡操作日志 + tIccardLog.setType((byte) 0); + //表示解除挂失 + tIccardLog.setOperate((byte) 6); + String corpno = tIccardInfo.getCorpno(); + String tenantId = tokenService.getLoginUser().getSysUser().getTenantId(); + XhpcOperator xhpcOperator = xhpcOperatorMapper.selectOneByCorpNoAndTenantId(corpno, tenantId); + Long operatorId = xhpcOperator.getOperatorId(); + tIccardLog.setOperatorid(Math.toIntExact(operatorId)); + 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(6); + cardLogInfo.setOperatorId(operatorId); + 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(); + } + /** * 用于QueryRechargeRecord方法封装DTO数据 * diff --git a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml index 984e61e8..20519442 100644 --- a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml +++ b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml @@ -60,7 +60,7 @@ FROM xhpc_operator where tenant_id = #{tenantId} - select from xhpc_operator