package com.dy.pipIrrSell.clientCard; import com.dy.common.webUtil.QueryResultVo; import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; import com.dy.pipIrrGlobal.pojoSe.SeClientCard; import com.dy.pipIrrGlobal.voSe.VoCardInfo; import com.dy.pipIrrGlobal.voSe.VoCards; import com.dy.pipIrrGlobal.voSe.VoCards2; import com.dy.pipIrrSell.clientCard.qo.QoCards; import com.dy.pipIrrSell.clientCard.qo.QoCards2; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; /** * @author ZhuBaoMin * @date 2023/12/7 9:18 * @LastEditTime 2023/12/7 9:18 * @Description */ @Slf4j @Service public class ClientCardSv { @Autowired private SeClientCardMapper seClientCardMapper; /** * 添加农户水卡记录 * @param po * @return */ public Long add(SeClientCard po) { seClientCardMapper.insert(po); return po.getId(); } /** * 依据水卡地址获取水卡编号(12月19日废弃) * @param cardAddr * @return */ public Long getCardIdByAddr(String cardAddr) { return seClientCardMapper.getCardIdByAddr(cardAddr); } /** * 根据水卡编号获取水卡表主键(12月19日添加后废弃) * @param cardNum 16位水卡编号 * @return 水卡表主键 */ public Long getCardIdByNum(String cardNum) { return seClientCardMapper.getCardIdByNum(cardNum); } /** * 根据水卡编号获取水卡表主键及农户编号 * @param cardNum * @return */ public Map getCardIdAndClientNum(Long cardNum) { return seClientCardMapper.getCardIdAndClientNum(cardNum); } /** * 根据水卡编号(主键)修改农户卡信息 * @param po * @return */ public Integer UpdateClientCard(SeClientCard po) { return seClientCardMapper.updateByPrimaryKeySelective(po); } /** * 根据农户主键获取水卡列表 * @param clientId * @return */ public List getCardInfoByClientId(Long clientId){ List list = Optional.ofNullable(seClientCardMapper.getCardInfoByClientId(clientId)).orElse(new ArrayList<>()); if(list.size() > 0) { return list; }else { return new ArrayList<>(); } } /** * 根据水卡编号获取操作记录及余额 * @param cardNum * @return */ public Map getOperateRecordsAndMoney(Long cardNum) { List> list = Optional.ofNullable(seClientCardMapper.getOperateRecordsByCardNum(cardNum)).orElse(new ArrayList<>()); Float mondy = Optional.ofNullable(seClientCardMapper.getMoneyByCardNum(cardNum)).orElse(0f); Float amount = Optional.ofNullable(seClientCardMapper.sumRechargeByCardNum(cardNum)).orElse(0f); Map map = new HashMap(); map.put("mondy", mondy); map.put("amount", amount); map.put("list", list); return map; } /** * 根据水卡编号获取卡片状态 * @param cardNum * @return */ public String getCardStateByCardNum(Long cardNum) { return Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(cardNum)).orElse(""); } /** * 根据指定条件获取水卡列表,应用程序使用 * @param queryVo * @return */ public QueryResultVo> getCards(QoCards queryVo){ Map params = (Map) PojoUtils.generalize(queryVo) ; Long itemTotal = seClientCardMapper.getCardsCount(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = queryVo.pageSize ; rsVo.pageCurr = queryVo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seClientCardMapper.getCards(params); return rsVo ; } /** * 获取已挂失,未补卡的记录,应用程序使用 * @param queryVo * @return */ public QueryResultVo> getUnreplaced(QoCards queryVo){ Map params = (Map) PojoUtils.generalize(queryVo) ; Long itemTotal = seClientCardMapper.getUnreplacedRecordCount(); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = queryVo.pageSize ; rsVo.pageCurr = queryVo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seClientCardMapper.getUnreplaced(params); return rsVo ; } /** * 根据农户姓名、电话查询正常状态的水卡列表 * @param queryVo * @return */ public QueryResultVo> getCardsByClientNameAndPhone(QoCards2 queryVo){ Map params = (Map) PojoUtils.generalize(queryVo) ; Long itemTotal = seClientCardMapper.getCardsByClientNameAndPhoneCount(params); QueryResultVo> rsVo = new QueryResultVo<>() ; rsVo.pageSize = queryVo.pageSize ; rsVo.pageCurr = queryVo.pageCurr ; rsVo.calculateAndSet(itemTotal, params); rsVo.obj = seClientCardMapper.getCardsByClientNameAndPhone(params); return rsVo ; } }