| | |
| | | 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; |
| | |
| | | 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("正常")) { |
| | | 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; |
| | | } |
| | | |
| | | } |