From bf580699fbe3fe2996712d90f09325e870991435 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期三, 04 六月 2025 09:33:45 +0800 Subject: [PATCH] 两次请求命令时保存第二次的ID,开阀时判断阀门开闭状态 --- pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 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 e244ab3..8a8e2bc 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,18 +1,21 @@ package com.dy.pipIrrTerminal.card; import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.daoSe.SeClientMapper; import com.dy.pipIrrGlobal.pojoSe.SeCardOperate; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; +import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory; import com.dy.pipIrrGlobal.voSe.VoTermRecharge; import com.dy.pipIrrTerminal.card.dto.ActiveCard; import com.dy.pipIrrTerminal.card.dto.DtoRecharge; import com.dy.pipIrrTerminal.card.enums.CardStateENUM; import com.dy.pipIrrTerminal.card.enums.LastOperateENUM; import com.dy.pipIrrTerminal.card.enums.OperateTypeENUM; +import com.dy.pipIrrTerminal.card.enums.RechargeTypeENUM; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -264,4 +267,124 @@ return map; } + public Map canRecharge(DtoRecharge po) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("content", null); + + String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(po.getCardNum())).orElse(""); + // 鍗曠嫭鍏呭�兼椂鍗$墖蹇呴』涓烘甯� + if((po.getRechargeType() == RechargeTypeENUM.RECHARGE.getCode()) && !stateName.equals("姝e父")) { + map.put("msg", stateName + ", " + "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔"); + return map; + } + + map.put("success", true); + return map; + } + + public Map addRecharge(DtoRecharge po) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("content", null); + + /** + * cardId 姘村崱缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級 + * clientId 鍐滄埛缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級 + * cardNum 姘村崱缂栧彿 + * money 鍗$墖浣欓 + * amount 鍏呭�奸噾棰� + * gift 璧犻�侀噾棰� + * afterRecharge 鍏呭�煎悗浣欓 + * paymentId 鏀粯鏂瑰紡缂栧彿 + * price 姘翠环 + * remarks 澶囨敞 + * operator 鎿嶄綔浜虹紪鍙� + * rechargeTime 鍏呭�兼椂闂� + */ + + //Long cardId = 0L; + //Long clientId = 0L; + //Long cardNum = po.getCardNum(); + //Float money = po.getMoney(); + //Float amount = po.getAmount(); + //Float gift = po.getGift(); + //Float afterRecharge = money + amount + gift; + //Long paymentId = po.getPaymentId(); + //Float price = po.getPrice(); + //String remarks = po.getRemarks(); + //Long operator = po.getOperator(); + //Date rechargeTime = new Date(); + + Map map_canRecharge = canRecharge(po); + if(map_canRecharge.get("success").equals(false)) { + map.put("msg", map_canRecharge.get("msg").toString()); + return map; + } + + /** + * 渚濇嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿 + */ + Map map_cardAndClient = seClientCardMapper.getCardIdAndClientNum(po.getCardNum()); + if (map_cardAndClient == null || map_cardAndClient.size() <= 0) { + map.put("msg", "鍗″彿閿欒锛岃鍗′笉瀛樺湪"); + return map; + } + Long cardId = Long.parseLong(map_cardAndClient.get("cardId").toString()); + Long clientId = Long.parseLong(map_cardAndClient.get("clientId").toString()); + + /** + * 娣诲姞姘村崱鍏呭�兼搷浣滆褰� + */ + SeCardOperate seCardOperate = new SeCardOperate(); + seCardOperate.setCardId(cardId); + seCardOperate.setClientId(clientId); + seCardOperate.setMoney(po.getMoney()); + seCardOperate.setTradeAmount(po.getAmount()); + seCardOperate.setGift(po.getGift()); + seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode()); + seCardOperate.setPaymentId(po.getPaymentId()); + seCardOperate.setPrice(po.getPrice()); + seCardOperate.setRemarks(po.getRemarks()); + seCardOperate.setOperator(po.getOperator()); + seCardOperate.setOperateDt(new Date()); + seCardOperate.setOperateValid((byte) 1); + seCardOperateMapper.insert(seCardOperate); + Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L); + if (rec == 0) { + //return BaseResponseUtils.buildErrorMsg("鍏呭�煎け璐�-鍏呭�艰褰曞啓鍏ュ紓甯�"); + } + + /** + * 娣诲姞鍏呭�煎巻鍙茶褰� + */ + SeRechargeHistory seRechargeHistory = new SeRechargeHistory(); + seRechargeHistory.setCardid(cardId); + seRechargeHistory.setClientid(clientId); + seRechargeHistory.setMoney(po.getMoney()); + seRechargeHistory.setAmount(po.getAmount()); + seRechargeHistory.setGift(po.getGift()); + Float afterRecharge = po.getMoney() + po.getAmount() + po.getGift(); + seRechargeHistory.setAfterrecharge(afterRecharge); + seRechargeHistory.setPaymentid(po.getPaymentId()); + seRechargeHistory.setPrice(po.getPrice()); + seRechargeHistory.setRemarks(po.getRemarks()); + seRechargeHistory.setOperator(po.getOperator()); + seRechargeHistory.setOperatedt(new Date()); + seRechargeHistory.setOperateValid((byte) 1); + //seRechargeHistoryMapper.insert(seRechargeHistory); + Long rec_seRechargeHistory = Optional.ofNullable(seRechargeHistory.getId()).orElse(0L); + //if (rec_seRechargeHistory == 0) { + // return BaseResponseUtils.buildErrorMsg("鍏呭�煎け璐�-鍏呭�煎巻鍙茶褰曞啓鍏ュ紓甯�"); + //} + + //Map map_response = new HashMap(); + //map_response.put("projectNo", String.format("%02x", projectNo)); + //map_response.put("orderNumber", rec); + //map_response.put("cardNum", cardNum); + //return BaseResponseUtils.buildSuccess(map_response); + + return map; + } + } -- Gitblit v1.8.0