123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- package com.charging.chargingparking.service.impl;
- import cn.hutool.core.convert.Convert;
- import cn.hutool.core.date.DateField;
- import cn.hutool.core.date.DateUnit;
- import cn.hutool.core.date.DateUtil;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.charging.chargingparking.constant.ParkingConstant;
- import com.charging.chargingparking.dto.AddParkingMember;
- import com.charging.chargingparking.entity.*;
- import com.charging.chargingparking.mapper.ParkingBetweenMemberMapper;
- import com.charging.chargingparking.mapper.ParkingMemberMapper;
- import com.charging.chargingparking.modules.common.dto.Sort;
- import com.charging.chargingparking.modules.vo.CarTypeVo;
- import com.charging.chargingparking.modules.vo.ParkingEnableVo;
- import com.charging.chargingparking.service.*;
- import com.github.pagehelper.Page;
- import com.github.pagehelper.PageHelper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- /**
- *
- */
- @Service
- @Transactional
- public class ParkingBetweenMemberServiceImpl extends ServiceImpl<ParkingBetweenMemberMapper, ParkingBetweenMember>
- implements ParkingBetweenMemberService {
- @Autowired
- private ParkingMemberLogService parkingMemberLogService;
- @Autowired
- private ParkingChannelService parkingChannelService;
- @Autowired
- private ParkingBlacklistService parkingBlacklistService;
- @Autowired
- private ParkingInfoService parkingInfoService;
- @Autowired
- private ParkingRecordService parkingRecordService;
- @Autowired
- private ParkingWhiteService parkingWhiteService;
- @Autowired
- private ParkingBetweenMemberMapper parkingMemberMapper;
- @Autowired
- private ParkingMemberMapper parkingMemberOrgMapper;
- @Autowired
- private ParkingMemberService parkingMemberOrgService;
- @Override
- public void addParkingMemberWash(ParkingBetweenMember addParkingMember) {
- ParkingBetweenMember parkingMember = getById(addParkingMember.getId());
- if (parkingMember!=null) {
- addParkingMember.setUpdateTime(new Date());
- updateById(addParkingMember);
- } else {
- addParkingMember.setCreateTime(new Date());
- save(addParkingMember);
- }
- }
- @Override
- public void memberMove(ParkingBetweenMember addParkingMember){
- ParkingMember parkingMemberOrg =parkingMemberOrgService.getById(addParkingMember.getParkingMemberId());
- if(parkingMemberOrg!=null){
- parkingMemberOrgService.cloudDelete(parkingMemberOrg.getId(),parkingMemberOrg.getParkId(),parkingMemberOrg.getMemberCarNum());
- }
- addParkingMemberWash(addParkingMember);
- }
- @Override
- public void cloudDelete(String memberId, String parkId, String license) {
- QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
- if (StrUtil.isNotBlank(memberId)) {
- parkingMemberQueryWrapper.eq("id", memberId);
- parkingMemberQueryWrapper.eq("park_id", parkId);
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- } else {
- parkingMemberQueryWrapper.eq("park_id", parkId);
- parkingMemberQueryWrapper.eq("member_car_num", license);
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- parkingMemberQueryWrapper.eq("member_type", 0);
- // parkingMemberQueryWrapper.lt("member_end_time", new Date());
- }
- ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
- if (parkingMember != null) {
- parkingMember.setDelFlag(true);
- parkingMember.setCloudDelFlag(true);
- parkingMember.setUpdateTime(new Date());
- updateById(parkingMember);
- removeById(parkingMember);
- //保存会员修改日志
- ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
- parkingMemberLog.setParkingMemberId(parkingMember.getId());
- parkingMemberLog.setCreateTime(new Date());
- parkingMemberLog.setContent(StrUtil.format("{}区间会员手工删除", parkingMember.getMemberCarNum()));
- parkingMemberLogService.save(parkingMemberLog);
- }
- }
- @Override
- public void cloudDeleteUpdate(ParkingBetweenMember parkingMemberU) {
- QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
- if (StrUtil.isNotBlank(parkingMemberU.getId())) {
- parkingMemberQueryWrapper.eq("id", parkingMemberU.getId());
- parkingMemberQueryWrapper.eq("park_id", parkingMemberU.getParkId());
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- } else {
- parkingMemberQueryWrapper.eq("park_id", parkingMemberU.getParkId());
- parkingMemberQueryWrapper.eq("member_car_num", parkingMemberU.getMemberCarNum());
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- parkingMemberQueryWrapper.eq("member_type", 0);
- // parkingMemberQueryWrapper.lt("member_end_time", new Date());
- }
- ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
- if (parkingMember != null) {
- parkingMember.setDelFlag(true);
- if(StrUtil.isNotBlank(parkingMemberU.getUpdateBy())){
- parkingMember.setUpdateBy(parkingMemberU.getUpdateBy());
- }
- parkingMember.setCloudDelFlag(true);
- parkingMember.setUpdateTime(new Date());
- updateById(parkingMember);
- removeById(parkingMember);
- //保存会员修改日志
- ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
- parkingMemberLog.setParkingMemberId(parkingMember.getId());
- parkingMemberLog.setCreateTime(new Date());
- parkingMemberLog.setContent(StrUtil.format("{}区间会员手工删除", parkingMember.getMemberCarNum()));
- parkingMemberLogService.save(parkingMemberLog);
- }
- }
- @Override
- public void cloudDeleteTemporary(String memberId, String parkId, String license, String reMark) {
- QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
- if (StrUtil.isNotBlank(memberId)) {
- parkingMemberQueryWrapper.eq("id", memberId);
- parkingMemberQueryWrapper.eq("park_id", parkId);
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- } else {
- parkingMemberQueryWrapper.eq("park_id", parkId);
- parkingMemberQueryWrapper.eq("member_car_num", license);
- parkingMemberQueryWrapper.eq("cloud_del_flag", false);
- parkingMemberQueryWrapper.eq("member_type", 0);
- // parkingMemberQueryWrapper.lt("member_end_time", new Date());
- }
- ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
- if (parkingMember != null) {
- parkingMember.setCloudDelFlag(true);
- parkingMember.setUpdateTime(new Date());
- updateById(parkingMember);
- //保存会员修改日志
- ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
- parkingMemberLog.setParkingMemberId(parkingMember.getId());
- parkingMemberLog.setCreateTime(new Date());
- parkingMemberLog.setContent(StrUtil.format("{}会员出场,会员自动删除,备注:{}", parkingMember.getMemberCarNum(),reMark));
- parkingMemberLogService.save(parkingMemberLog);
- parkingWhiteService.deleteWhiteList(parkId, parkingMember.getMemberCarNum());
- }
- }
- @Override
- public Page<ParkingBetweenMember> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize, List<Sort> sortList) {
- Page<ParkingBetweenMember> page = PageHelper.startPage(pageNumber, pageSize).doSelectPage(() -> {
- parkingMemberMapper.search(searchParams, sortList);
- });
- return page;
- }
- @Override
- public ParkingMember findByCarNum(String carNum) {
- //return parkingMemberMapper.findByCarNum(carNum);
- return null;
- }
- @Override
- public void addOrUpdateFreeMember(ParkingRecord parkingRecord) {
- try {
- String inTime = DateUtil.format(parkingRecord.getInParkingTime(), "yyyy-MM-dd");
- //拼接时间
- String inTimePj1 = inTime + " 00:00:00";
- String inTimePj2 = inTime + " 07:00:00";
- Date inTimePjDate1 = DateUtil.parse(inTimePj1);
- Date inTimePjDate2 = DateUtil.parse(inTimePj2);
- if (parkingRecord.getInParkingTime().compareTo(inTimePjDate1) >= 0 && parkingRecord.getInParkingTime().compareTo(inTimePjDate2) < 0) {
- }
- } catch (Exception ex) {
- }
- }
- }
|