package com.xzx.gc.user.service; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.exception.PlatformException; import com.xzx.gc.entity.UserVehicleRel; import com.xzx.gc.entity.VehicleInfo; import com.xzx.gc.model.admin.VehicleModel; import com.xzx.gc.user.mapper.VehicleInfoMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Transactional @Slf4j public class VehicleInfoService { @Autowired private VehicleInfoMapper vehicleInfoMapper; @Autowired private UserVehicleRelService userVehicleRelService; @Autowired private CityPartnerService cityPartnerService; public void batchDelXzxUserVehicleInfo(List ids){ try { vehicleInfoMapper.batchDelXzxUserVehicleInfoByIds(ids); } catch (Exception e) { throw new PlatformException("批量删除XzxUserVehicleInfo失败", e); } } public Map queryByVehicleInfoList(String vehicleNo, String page, String limit, String partnerId) { List partnerIds = new ArrayList<>(); if(null!=partnerId&&!"".equals(partnerId)){ partnerIds.add(partnerId); }else{ partnerIds = cityPartnerService.queryPartnerByCurrent(); } Map map = new HashMap<>(); page=StrUtil.isBlank(page)?"0":page; limit=StrUtil.isBlank(page)?"0":limit; PageHelper.startPage(Convert.toInt(page),Convert.toInt(limit)); List> queryByVehicleInfoListDtos = vehicleInfoMapper.queryByVehicleInfoList(vehicleNo, partnerIds); PageInfo> pageInfo=new PageInfo<>(queryByVehicleInfoListDtos); for (Map rmap:queryByVehicleInfoListDtos) { rmap.put("relid",rmap.get("relId").toString()); rmap.put("userid",rmap.get("userId").toString()); rmap.put("storageid",rmap.get("storageId").toString()); rmap.put("vehicleno",rmap.get("vehicleNo").toString()); } map.put("count", pageInfo.getTotal()); map.put("data", pageInfo.getList()); map.put("code", 0); return map; } public void save(VehicleInfo xzxUserVehicleInfo) { vehicleInfoMapper.insertSelective(xzxUserVehicleInfo); } public VehicleInfo queryById(Long id) { return vehicleInfoMapper.selectByPrimaryKey(id); } public boolean update(VehicleInfo oldInfo) { return vehicleInfoMapper.updateByPrimaryKeySelective(oldInfo)>0?true:false; } /** * 添加车辆 * @param model */ public Long addVehicleInfo(VehicleModel model){ String userId=model.getUserId(); String storageId=model.getStorageId(); if(null!=storageId){ model.setStorageId(storageId); } model.setCreateTime(DateUtil.now()); model.setDelFlag(0); VehicleInfo xzxUserVehicleInfo =getInfo(model); save(xzxUserVehicleInfo); //先删除所有关联车辆 userVehicleRelService.deleteByUserId(userId); UserVehicleRel rel = new UserVehicleRel(); rel.setDelFlag((short)0); rel.setVehicleId(xzxUserVehicleInfo.getId()); rel.setUserId(userId); userVehicleRelService.save(rel); return xzxUserVehicleInfo.getId(); } private VehicleInfo getInfo (VehicleModel model){ VehicleInfo info = new VehicleInfo(); info.setCreateTime(model.getCreateTime()); info.setDelFlag(model.getDelFlag().shortValue()); info.setStorageId(Integer.parseInt(model.getStorageId())); info.setLoadWeight(model.getLoadWeight()); // info.setType(model.getType().shortValue()); info.setVehicleNo(model.getVehicleNo()); info.setWeight(model.getWeight()); // info.setColor(model.getColor().shortValue()); return info; } }