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<VoCardInfo> getCardInfoByClientId(Long clientId){
|
List<VoCardInfo> 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<Map<String, Object>> 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<List<VoCards>> getCards(QoCards queryVo){
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
|
Long itemTotal = seClientCardMapper.getCardsCount(params);
|
|
QueryResultVo<List<VoCards>> 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<List<VoCards>> getUnreplaced(QoCards queryVo){
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
|
Long itemTotal = seClientCardMapper.getUnreplacedRecordCount();
|
|
QueryResultVo<List<VoCards>> 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<List<VoCards2>> getCardsByClientNameAndPhone(QoCards2 queryVo){
|
Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo) ;
|
Long itemTotal = seClientCardMapper.getCardsByClientNameAndPhoneCount(params);
|
|
QueryResultVo<List<VoCards2>> rsVo = new QueryResultVo<>() ;
|
rsVo.pageSize = queryVo.pageSize ;
|
rsVo.pageCurr = queryVo.pageCurr ;
|
|
rsVo.calculateAndSet(itemTotal, params);
|
rsVo.obj = seClientCardMapper.getCardsByClientNameAndPhone(params);
|
|
return rsVo ;
|
}
|
|
|
}
|