From 123062d3a26cab5c3233bab88f077829184a3798 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 05 六月 2025 20:27:42 +0800 Subject: [PATCH] 挂失 --- pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java | 131 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 127 insertions(+), 4 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java index ded6fa1..a5e5bbe 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java @@ -1,5 +1,6 @@ package com.dy.pipIrrTerminal.card; +import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; @@ -10,10 +11,7 @@ import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory; import com.dy.pipIrrGlobal.voSe.VoTermActiveCard; import com.dy.pipIrrGlobal.voSe.VoTermRecharge; -import com.dy.pipIrrTerminal.card.dto.ActiveCard; -import com.dy.pipIrrTerminal.card.dto.CardSimple; -import com.dy.pipIrrTerminal.card.dto.DtoRecharge; -import com.dy.pipIrrTerminal.card.dto.DtoReissue; +import com.dy.pipIrrTerminal.card.dto.*; import com.dy.pipIrrTerminal.card.enums.CardStateENUM; import com.dy.pipIrrTerminal.card.enums.LastOperateENUM; import com.dy.pipIrrTerminal.card.enums.OperateTypeENUM; @@ -95,6 +93,41 @@ } map.put("success", true); + return map; + } + + /** + * 鏍规嵁姘村崱缂栧彿鍒ゆ柇璇ュ崱鏄惁鍙互鎸傚け + * @param po + * @return true:鍙互鎶ュけ + */ + public Map canReportLoss(DtoLoss po) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("content", null); + + Long cardNum = po.getCardNum(); + String stateName = seClientCardMapper.getCardStateByCardNum(cardNum); + if(stateName == null || stateName.equals("") || !stateName.equals("姝e父")) { + map.put("msg", stateName + ", " + "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"); + return map; + } + + /** + * 渚濇嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿 + */ + Map map_card = Optional.ofNullable(seClientCardMapper.getCardIdAndClientNum(cardNum)).orElse(new HashMap()); + if (map_card == null || map_card.size() <= 0) { + map.put("msg", "鍗″彿閿欒锛岃鍗′笉瀛樺湪"); + return map; + } + CardSimple card = new CardSimple(); + card.setCardId(Long.parseLong(map_card.get("cardId").toString())); + card.setClientId(Long.parseLong(map_card.get("clientId").toString())); + //card.setProtocol(map_card.get("protocol").toString()); + + map.put("success", true); + map.put("content", card); return map; } @@ -198,6 +231,7 @@ return dtf.format(dateTime) + sb.toString(); } + @Transactional(rollbackFor = Exception.class) public Map addCardAndOperate(ActiveCard po, Long cardNum, String orderNo) { Map map = new HashMap<>(); map.put("success", false); @@ -266,6 +300,7 @@ * @param cardNum * @return */ + @Transactional(rollbackFor = Exception.class) public Map plusRecharge(ActiveCard po, Long cardNum) { Map map = new HashMap<>(); map.put("success", false); @@ -480,4 +515,92 @@ map.put("content", voTermActiveCard); return map; } + + @Transactional(rollbackFor = Exception.class) + public Map reportLoss(DtoLoss po) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("content", null); + + Map map_canReportLoss = canReportLoss(po); + if(map_canReportLoss.get("success").equals(false)) { + map.put("msg", map_canReportLoss.get("msg").toString()); + return map; + } + CardSimple card = (CardSimple) map_canReportLoss.get("content"); + Long cardId = card.getCardId(); + Long clientId = card.getClientId(); + + Float money = Optional.ofNullable(po.getMoney()).orElse(0f); + Float refund = Optional.ofNullable(po.getRefund()).orElse(0f); + + SeClientCard seClientCard = new SeClientCard(); + seClientCard.setId(cardId); + seClientCard.setMoney(money); + seClientCard.setLossdtdt(new Date()); + seClientCard.setState(CardStateENUM.LOSS.getCode()); + seClientCard.setLastoper(LastOperateENUM.LOSS.getCode()); + Integer rec_updateClientCard = Optional.ofNullable(seClientCardMapper.updateByPrimaryKeySelective(seClientCard)).orElse(0); + if (rec_updateClientCard == 0) { + map.put("msg", "鎸傚け澶辫触-鍐滄埛鍗′慨鏀瑰紓甯�"); + return map; + } + + SeCardOperate seCardOperate = new SeCardOperate(); + seCardOperate.setCardId(cardId); + seCardOperate.setClientId(clientId); + seCardOperate.setMoney(money); + seCardOperate.setTradeAmount(-refund); + seCardOperate.setPaymentId(1L); + seCardOperate.setOperateType(OperateTypeENUM.LOSS.getCode()); + seCardOperate.setRemarks(po.getRemarks()); + seCardOperate.setOperator(po.getOperator()); + seCardOperate.setOperateDt(new Date()); + seCardOperate.setOperateValid((byte) 2); + seCardOperateMapper.insert(seCardOperate); + if (seCardOperate.getId() == 0) { + map.put("msg", "鎸傚け澶辫触-鎸傚け璁板綍鍐欏叆寮傚父"); + return map; + } + + map.put("success", true); + map.put("msg", "鎿嶄綔鎴愬姛"); + return map; + } + + @Transactional(rollbackFor = Exception.class) + public Map callBack(DtoCallBack po) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("content", null); + + String cardAddr = po.getCardAddr(); + Integer operateType = po.getOperateType(); + String orderNumber = po.getOrderNumber(); + + Long cardId = seClientCardMapper.getCardIdByAddr(cardAddr); + if (cardId == null || cardId.equals(0)) { + map.put("msg", "鎮ㄦ寚瀹氱殑姘村崱涓嶅瓨鍦�"); + return map; + } + + if(operateType == 1) { + /** + * 寮�鍗℃搷浣滄墽琛岄�氱煡 + * 1.渚濇嵁姘村崱鍦板潃銆佽鍗曞彿灏嗘棤鏁堢姸鎬佺殑鎿嶄綔璁板綍鏀逛负鏈夋晥 + * 2.渚濇嵁姘村崱ID灏嗘棤鏁堢姸鎬佺殑姘村崱璁板綍鏀逛负鏈夋晥 + * 3.濡傛灉寮�鍗″悓姝ュ厖鍊� + * 淇敼鍏呭�兼搷浣滆褰曚负鏈夋晥 + * 淇敼鍏呭�煎巻鍙茶褰曚负鏈夋晥 + * 淇敼姘村崱琛ㄧ殑鎿嶄綔淇℃伅 + */ + + } + + + + map.put("success", true); + map.put("msg", "鎿嶄綔鎴愬姛"); + return map; + } } -- Gitblit v1.8.0