|
@@ -7,15 +7,9 @@ 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.dto.AddParkingMember;
|
|
|
-import com.charging.chargingparking.entity.ParkingChannel;
|
|
|
-import com.charging.chargingparking.entity.ParkingMember;
|
|
|
-import com.charging.chargingparking.entity.ParkingMemberLog;
|
|
|
-import com.charging.chargingparking.entity.ParkingWhite;
|
|
|
-import com.charging.chargingparking.service.ParkingChannelService;
|
|
|
-import com.charging.chargingparking.service.ParkingMemberLogService;
|
|
|
-import com.charging.chargingparking.service.ParkingMemberService;
|
|
|
+import com.charging.chargingparking.entity.*;
|
|
|
+import com.charging.chargingparking.service.*;
|
|
|
import com.charging.chargingparking.mapper.ParkingMemberMapper;
|
|
|
-import com.charging.chargingparking.service.ParkingWhiteService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -29,7 +23,7 @@ import java.util.List;
|
|
|
@Service
|
|
|
@Transactional
|
|
|
public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, ParkingMember>
|
|
|
- implements ParkingMemberService{
|
|
|
+ implements ParkingMemberService {
|
|
|
|
|
|
@Autowired
|
|
|
private ParkingMemberLogService parkingMemberLogService;
|
|
@@ -37,51 +31,88 @@ public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, P
|
|
|
@Autowired
|
|
|
private ParkingChannelService parkingChannelService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ParkingRecordService parkingRecordService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ParkingWhiteService parkingWhiteService;
|
|
|
|
|
|
@Override
|
|
|
public void addParkingMember(AddParkingMember addParkingMember) throws Exception {
|
|
|
QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
|
|
|
- parkingMemberQueryWrapper.eq("park_id",addParkingMember.getParkingUname());
|
|
|
- parkingMemberQueryWrapper.eq("member_car_num",addParkingMember.getCarNum());
|
|
|
- parkingMemberQueryWrapper.eq("cloud_del_flag",false);
|
|
|
+ parkingMemberQueryWrapper.eq("park_id", addParkingMember.getParkingUname());
|
|
|
+ parkingMemberQueryWrapper.eq("member_car_num", addParkingMember.getCarNum());
|
|
|
+ parkingMemberQueryWrapper.eq("cloud_del_flag", false);
|
|
|
parkingMemberQueryWrapper.orderByDesc("create_time");
|
|
|
parkingMemberQueryWrapper.last("LIMIT 1");
|
|
|
ParkingMember parkingMember = getOne(parkingMemberQueryWrapper);
|
|
|
|
|
|
- if (parkingMember == null){
|
|
|
+ Integer min = addParkingMember.getMemberMin();
|
|
|
+ if (parkingMember == null) {
|
|
|
ParkingMember parkingMember1 = new ParkingMember();
|
|
|
parkingMember1.setParkId(addParkingMember.getParkingUname());
|
|
|
parkingMember1.setMemberCarNum(addParkingMember.getCarNum());
|
|
|
parkingMember1.setMemberStartTime(addParkingMember.getMemberStartTime());
|
|
|
- parkingMember1.setMemberEndTime(DateUtil.offset(addParkingMember.getMemberStartTime(),DateField.MINUTE,addParkingMember.getMemberMin()));
|
|
|
+ if (min <= 120) {
|
|
|
+ min = 120;
|
|
|
+ }
|
|
|
+ parkingMember1.setMemberEndTime(DateUtil.offset(addParkingMember.getMemberStartTime(), DateField.MINUTE, min));
|
|
|
parkingMember1.setCreateTime(new Date());
|
|
|
save(parkingMember1);
|
|
|
//会员日志
|
|
|
ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
|
|
|
parkingMemberLog.setParkingMemberId(parkingMember1.getId());
|
|
|
parkingMemberLog.setCreateTime(new Date());
|
|
|
- parkingMemberLog.setContent(StrUtil.format("{}会员新增,会员时长{}分钟",addParkingMember.getCarNum(),addParkingMember.getMemberMin()));
|
|
|
+ parkingMemberLog.setContent(StrUtil.format("{}会员新增,会员时长{}分钟", addParkingMember.getCarNum(), min));
|
|
|
parkingMemberLogService.save(parkingMemberLog);
|
|
|
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
+
|
|
|
+ //如果会员存在并且未出场则时间累加
|
|
|
+ QueryWrapper<ParkingRecord> parkingRecordQueryWrapper = new QueryWrapper<>();
|
|
|
+ parkingRecordQueryWrapper.eq("car_num", addParkingMember.getCarNum());
|
|
|
+ parkingRecordQueryWrapper.eq("park_id", addParkingMember.getParkingUname());
|
|
|
+ // parkingRecordQueryWrapper.eq("release_status","0");
|
|
|
+ parkingRecordQueryWrapper.orderByDesc("create_time");
|
|
|
+ parkingRecordQueryWrapper.last("LIMIT 1");
|
|
|
+ ParkingRecord parkingRecord = parkingRecordService.getOne(parkingRecordQueryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+ if (parkingRecord == null || "1".equals(parkingRecord.getReleaseStatus())) {
|
|
|
+ parkingMember.setMemberStartTime(addParkingMember.getMemberStartTime());
|
|
|
+
|
|
|
+ if (min <= 120) {
|
|
|
+ min = 120;
|
|
|
+ }
|
|
|
+ parkingMember.setMemberEndTime(DateUtil.offset(addParkingMember.getMemberStartTime(), DateField.MINUTE, min));
|
|
|
+ parkingMember.setUpdateTime(new Date());
|
|
|
+ updateById(parkingMember);
|
|
|
+ //会员日志
|
|
|
+ ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
|
|
|
+ parkingMemberLog.setParkingMemberId(parkingMember.getId());
|
|
|
+ parkingMemberLog.setCreateTime(new Date());
|
|
|
+ parkingMemberLog.setContent(StrUtil.format("{}会员更新会员时间,会员时长{}分钟", parkingMember.getMemberCarNum(), addParkingMember.getMemberMin()));
|
|
|
+ parkingMemberLogService.save(parkingMemberLog);
|
|
|
+ } else {
|
|
|
+ if ("0".equals(parkingRecord.getReleaseStatus())) {
|
|
|
+ parkingMember.setMemberEndTime(DateUtil.offset(parkingMember.getMemberEndTime(), DateField.MINUTE, addParkingMember.getMemberMin()));
|
|
|
+ parkingMember.setUpdateTime(new Date());
|
|
|
+ updateById(parkingMember);
|
|
|
+ //会员日志
|
|
|
+ ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
|
|
|
+ parkingMemberLog.setParkingMemberId(parkingMember.getId());
|
|
|
+ parkingMemberLog.setCreateTime(new Date());
|
|
|
+ parkingMemberLog.setContent(StrUtil.format("{}延长会员时间,延长时长{}分钟", parkingMember.getMemberCarNum(), addParkingMember.getMemberMin()));
|
|
|
+ parkingMemberLogService.save(parkingMemberLog);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- parkingMember.setMemberStartTime(addParkingMember.getMemberStartTime());
|
|
|
- parkingMember.setMemberEndTime(DateUtil.offset(addParkingMember.getMemberStartTime(), DateField.MINUTE,addParkingMember.getMemberMin()));
|
|
|
- parkingMember.setUpdateTime(new Date());
|
|
|
- updateById(parkingMember);
|
|
|
- //会员日志
|
|
|
- ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
|
|
|
- parkingMemberLog.setParkingMemberId(parkingMember.getId());
|
|
|
- parkingMemberLog.setCreateTime(new Date());
|
|
|
- parkingMemberLog.setContent(StrUtil.format("{}会员更新会员时间,会员时长{}分钟",parkingMember.getMemberCarNum(),addParkingMember.getMemberMin()));
|
|
|
- parkingMemberLogService.save(parkingMemberLog);
|
|
|
|
|
|
}
|
|
|
|
|
|
//下发白名单
|
|
|
- parkingWhiteService.addWhiteList(addParkingMember.getParkingUname(),addParkingMember.getCarNum(),addParkingMember.getMemberStartTime(),DateUtil.offset(addParkingMember.getMemberStartTime(),DateField.MINUTE,addParkingMember.getMemberMin()));
|
|
|
+ parkingWhiteService.addWhiteList(addParkingMember.getParkingUname(), addParkingMember.getCarNum(), addParkingMember.getMemberStartTime(), DateUtil.offset(addParkingMember.getMemberStartTime(), DateField.MINUTE, addParkingMember.getMemberMin()));
|
|
|
|
|
|
|
|
|
}
|
|
@@ -89,12 +120,12 @@ public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, P
|
|
|
@Override
|
|
|
public void cloudDelete(String parkId, String license) {
|
|
|
QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
|
|
|
- parkingMemberQueryWrapper.eq("park_id",parkId);
|
|
|
- parkingMemberQueryWrapper.eq("member_car_num",license);
|
|
|
- parkingMemberQueryWrapper.eq("cloud_del_flag",false);
|
|
|
- parkingMemberQueryWrapper.lt("member_end_time",new Date());
|
|
|
+ parkingMemberQueryWrapper.eq("park_id", parkId);
|
|
|
+ parkingMemberQueryWrapper.eq("member_car_num", license);
|
|
|
+ parkingMemberQueryWrapper.eq("cloud_del_flag", false);
|
|
|
+ parkingMemberQueryWrapper.lt("member_end_time", new Date());
|
|
|
ParkingMember parkingMember = getOne(parkingMemberQueryWrapper);
|
|
|
- if (parkingMember != null){
|
|
|
+ if (parkingMember != null) {
|
|
|
parkingMember.setCloudDelFlag(true);
|
|
|
parkingMember.setUpdateTime(new Date());
|
|
|
updateById(parkingMember);
|
|
@@ -103,26 +134,26 @@ public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, P
|
|
|
ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
|
|
|
parkingMemberLog.setParkingMemberId(parkingMember.getId());
|
|
|
parkingMemberLog.setCreateTime(new Date());
|
|
|
- parkingMemberLog.setContent(StrUtil.format("{}会员出场,会员自动删除",parkingMember.getMemberCarNum()));
|
|
|
+ parkingMemberLog.setContent(StrUtil.format("{}会员出场,会员自动删除", parkingMember.getMemberCarNum()));
|
|
|
parkingMemberLogService.save(parkingMemberLog);
|
|
|
|
|
|
- parkingWhiteService.deleteWhiteList(parkId,parkingMember.getMemberCarNum());
|
|
|
+ parkingWhiteService.deleteWhiteList(parkId, parkingMember.getMemberCarNum());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Boolean parkingMemberStatus(String carNum,String parkId) throws Exception{
|
|
|
+ public Boolean parkingMemberStatus(String carNum, String parkId) throws Exception {
|
|
|
|
|
|
QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
|
|
|
- parkingMemberQueryWrapper.eq("member_car_num",carNum);
|
|
|
- parkingMemberQueryWrapper.eq("park_id",parkId);
|
|
|
- parkingMemberQueryWrapper.lt("member_start_time",new Date());
|
|
|
- parkingMemberQueryWrapper.gt("member_end_time",new Date());
|
|
|
- parkingMemberQueryWrapper.eq("cloud_del_flag",false);
|
|
|
+ parkingMemberQueryWrapper.eq("member_car_num", carNum);
|
|
|
+ parkingMemberQueryWrapper.eq("park_id", parkId);
|
|
|
+ parkingMemberQueryWrapper.lt("member_start_time", new Date());
|
|
|
+ parkingMemberQueryWrapper.gt("member_end_time", new Date());
|
|
|
+ parkingMemberQueryWrapper.eq("cloud_del_flag", false);
|
|
|
parkingMemberQueryWrapper.last("LIMIT 1");
|
|
|
- ParkingMember parkingMember = getOne(parkingMemberQueryWrapper);
|
|
|
- if (parkingMember != null){
|
|
|
+ ParkingMember parkingMember = getOne(parkingMemberQueryWrapper);
|
|
|
+ if (parkingMember != null) {
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|