package com.zteits.bill.biz.vipcard; import com.alibaba.fastjson.JSONObject; import com.zteits.bill.dao.vipcard.TVipCardCustSubPlateInfoDao; import com.zteits.bill.domain.TVipCardCustSubPlateInfo; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.dto.bill.vipcard.VipCardCustSubPlateInfoDTO; import com.zteits.clouds.api.dto.bill.vipcard.param.QueryVipCardCustSubPlateInfoByCarNumberRequest; import com.zteits.clouds.api.dto.bill.vipcard.param.UpdateVipCardCustSubPlateInfoRequest; import com.zteits.clouds.api.dto.bill.vipcard.param.VipCardInfoReq; import com.zteits.clouds.api.service.bill.vipcard.VipCardCustSubPlateInfoService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * @className: VipCardCustSubPlateInfoServiceImpl * @description: * @version: v1.0.0 * @author: zengqc * @date: 2020-10-15 11:14 */ @Service("com.zteits.bill.biz.vipcard.VipCardCustSubPlateInfoServiceImpl") public class VipCardCustSubPlateInfoServiceImpl implements VipCardCustSubPlateInfoService { private static final Logger logger = LoggerFactory.getLogger(VipCardCustSubPlateInfoServiceImpl.class); @Autowired private TVipCardCustSubPlateInfoDao tVipCardCustSubPlateInfoDao; /** * 根据停车场编号,车牌号码获取某个车子母车信息列表 * 列表为空说明不存在 * * @param request * @return */ @Override public BizResult> queryVipCardCustSubPlateInfoByCarNumber(QueryVipCardCustSubPlateInfoByCarNumberRequest request) { List infoList = new ArrayList<>(); TVipCardCustSubPlateInfo cardInfo = tVipCardCustSubPlateInfoDao.querySubPlateCardInfo(request); logger.info("子母车卡信息{}", JSONObject.toJSONString(cardInfo)); if (null == cardInfo) { return new BizResult<>(infoList); } request.setCardNo(cardInfo.getCardNo()); List entityList = tVipCardCustSubPlateInfoDao.queryVipCardCustSubPlateInfoByCarNumber(request); logger.info("子母车卡列表{}", JSONObject.toJSONString(entityList)); for (TVipCardCustSubPlateInfo entity : entityList) { VipCardCustSubPlateInfoDTO dto = new VipCardCustSubPlateInfoDTO(); BeanUtils.copyProperties(entity, dto); dto.setEffDate(cardInfo.getEffDate()); dto.setExpDate(cardInfo.getExpDate()); infoList.add(dto); } return new BizResult<>(infoList); } /** * 更新子母车的入场信息 * * @param request * @return */ @Override public BizResult updateSubPlateParkInInfo(UpdateVipCardCustSubPlateInfoRequest request) { tVipCardCustSubPlateInfoDao.updateSubPlateParkInInfo(request); return new BizResult<>(true); } /** * 更新子母车的出场信息 * * @param request * @return */ @Override public BizResult updateSubPlateParkOutInfo(UpdateVipCardCustSubPlateInfoRequest request) { tVipCardCustSubPlateInfoDao.updateSubPlateParkOutInfo(request); return new BizResult<>(true); } /** * 根据停车场编号,车牌号码,获取该车所有子母车中作为固定车的记录 * * @param vipCardInfoReq * @return */ @Override public BizResult> queryAllVipCardCustSubPlateInfoByCarNumber(VipCardInfoReq vipCardInfoReq) { List entityList = tVipCardCustSubPlateInfoDao.queryAllVipCardCustSubPlateInfoByCarNumber(vipCardInfoReq); List dtoList = new ArrayList<>(); for (TVipCardCustSubPlateInfo entity : entityList) { VipCardCustSubPlateInfoDTO dto = new VipCardCustSubPlateInfoDTO(); BeanUtils.copyProperties(entity, dto); dtoList.add(dto); } return new BizResult<>(dtoList); } }