|
@@ -0,0 +1,78 @@
|
|
|
+package com.charging.chargingparking.scheduled;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.charging.chargingparking.entity.ParkingMember;
|
|
|
+import com.charging.chargingparking.entity.ParkingRecord;
|
|
|
+import com.charging.chargingparking.service.ParkingMemberService;
|
|
|
+import com.charging.chargingparking.service.ParkingRecordService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Scheduled;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author 墨鱼_mo
|
|
|
+ * @date 2022/6/6 0006 下午 2:04
|
|
|
+ */
|
|
|
+@Component
|
|
|
+@Slf4j
|
|
|
+@Transactional
|
|
|
+public class ParkingMemberTask {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ParkingRecordService parkingRecordService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ParkingMemberService parkingMemberService;
|
|
|
+
|
|
|
+ //每日删掉不在停车场的过期会员
|
|
|
+ @Scheduled(cron = "0 59 23 ? * *")
|
|
|
+ public void run() {
|
|
|
+ try{
|
|
|
+
|
|
|
+ QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
|
|
|
+ parkingMemberQueryWrapper.eq("cloud_del_flag",false);
|
|
|
+ parkingMemberQueryWrapper.lt("member_end_time",new Date());
|
|
|
+ List<ParkingMember> parkingMemberList = parkingMemberService.list(parkingMemberQueryWrapper);
|
|
|
+ if (parkingMemberList.size()>0){
|
|
|
+ for (ParkingMember parkingMember : parkingMemberList){
|
|
|
+ try{
|
|
|
+ QueryWrapper<ParkingRecord> parkingRecordQueryWrapper = new QueryWrapper<>();
|
|
|
+ parkingRecordQueryWrapper.eq("car_num",parkingMember.getMemberCarNum());
|
|
|
+ parkingRecordQueryWrapper.eq("park_id",parkingMember.getParkId());
|
|
|
+ parkingRecordQueryWrapper.orderByDesc("create_time");
|
|
|
+ parkingRecordQueryWrapper.last("LIMIT 1");
|
|
|
+ ParkingRecord parkingRecord = parkingRecordService.getOne(parkingRecordQueryWrapper);
|
|
|
+ if (parkingRecord == null){
|
|
|
+ parkingMember.setCloudDelFlag(true);
|
|
|
+ parkingMember.setUpdateTime(new Date());
|
|
|
+ parkingMemberService.updateById(parkingMember);
|
|
|
+ }else {
|
|
|
+ if (parkingRecord.getOutParkingTime()!=null && "1".equals(parkingRecord.getReleaseStatus())){
|
|
|
+ parkingMember.setCloudDelFlag(true);
|
|
|
+ parkingMember.setUpdateTime(new Date());
|
|
|
+ parkingMemberService.updateById(parkingMember);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception ex){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }catch (Exception ex){
|
|
|
+ log.error(ex.getMessage(),ex);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|