wuzeyu
2024-11-29 374be0e83db1c63562761adbb005dbb4f324a81a
pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -412,6 +412,63 @@
        if (list.size() == 0) {
            return new HashMap();
        }
//元谋一期陆常丽需求把赠送金额与充值金额分开显示
        for (int i = list.size()-1; i >= 0 ; i--) {
            Optional.ofNullable(list.get(i).getGift()).orElse(0d);
            if (!list.get(i).getGift().equals(0d)){
                Double gift1 = list.get(i).getGift();//赠送金额
                String districtTitle = list.get(i).getDistrictTitle();//地址
                String clientNum = list.get(i).getClientNum();//农户编号
                String clientName = list.get(i).getClientName();//农户姓名
                String phone = list.get(i).getPhone();//手机号
                Date tradeTime = list.get(i).getTradeTime();//交易时间
                String orderNumber = list.get(i).getOrderNumber();//订单编号
                String cardNum = list.get(i).getCardNum();//卡编号
                String idCard = list.get(i).getIdCard();//身份证
                String cashierName = list.get(i).getCashierName();//操作人
                Double money = list.get(i).getMoney();//余额
                Double cardCost1 = list.get(i).getCardCost();//购卡金额
                Double tradeAmount = list.get(i).getTradeAmount();//交易金额
                Double waterCost1 = list.get(i).getWaterCost();//购水金额
                Double refundAmount1 = list.get(i).getRefundAmount();//返回金额
                String paymentName = list.get(i).getPaymentName();//支付方式
                String operateType = list.get(i).getOperateType();//业务类型
                String cardState = list.get(i).getCardState();//卡状态
                Long villageId = list.get(i).getVillageId();//村id
                Long cashierId = list.get(i).getCashierId();//收银员id
                list.get(i).setGift(0d);
                list.get(i).setMoney(money-gift1);
                VoTradeDetails voTradeDetail = new VoTradeDetails();
                voTradeDetail.setDistrictTitle(districtTitle);//2
                voTradeDetail.setClientNum(clientNum);//2
                voTradeDetail.setClientName(clientName);//2
                voTradeDetail.setPhone(phone);//2
                voTradeDetail.setOperateType("赠送");//2
                voTradeDetail.setTradeTime(tradeTime);//2
                voTradeDetail.setWaterCost(0d);//2
                voTradeDetail.setCardCost(0d);//2
                voTradeDetail.setGift(gift1);//2
                voTradeDetail.setTradeAmount(0d);//2
                voTradeDetail.setRefundAmount(refundAmount1);//2
                voTradeDetail.setMoney(money);//待2
                voTradeDetail.setPaymentName("赠送");//2
                voTradeDetail.setOrderNumber(orderNumber);//2
                voTradeDetail.setCardNum(cardNum);//2
                voTradeDetail.setIdCard(idCard);//2
                voTradeDetail.setCashierName(cashierName);//2
                voTradeDetail.setCashierId(cashierId);//2
                voTradeDetail.setCardState(cardState);//2
                voTradeDetail.setVillageId(villageId);//2
                list.add(voTradeDetail);
                itemTotal = itemTotal + 1;
            }
        }
        list.sort(Comparator.comparing(VoTradeDetails::getTradeTime));
        rsVo.obj = list;
        rsVo.calculateAndSet(itemTotal, params);
        // 遍历交易明细记录,汇总购水金额、购卡金额
        Double totalWaterCost = 0.0;
@@ -816,4 +873,23 @@
        clientCard.setLastoper(LastOperateENUM.REFUND.getCode());
        return seClientCardMapper.updateByPrimaryKeySelective(clientCard);
    }
    /**
     * 修改反写水卡表的操作信息及余额
     * @param operateType
     * @param cardId
     * @return
     */
    public Integer updateWriteBack(Integer operateType, Long cardId) {
        SeCardOperate cardOperate = seCardOperateMapper.getCardOperate(operateType, cardId);
        Date writeBackTime = Optional.ofNullable(cardOperate.getOperateDt()).orElse(new Date());
        Float money = cardOperate.getMoney();
        SeClientCard clientCard = new SeClientCard();
        clientCard.setId(cardId);
        clientCard.setRefunddt(writeBackTime);
        clientCard.setMoney(money);
        clientCard.setLastoper(LastOperateENUM.WRITE_BACK.getCode());
        return seClientCardMapper.updateByPrimaryKeySelective(clientCard);
    }
}