Browse Source

类型修改

guoshuai 1 week ago
parent
commit
51f9830245

+ 5 - 3
src/main/java/com/qmrb/system/pojo/entity/Coupon.java

@@ -1,6 +1,8 @@
 package com.qmrb.system.pojo.entity;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.qmrb.system.common.base.BaseEntity;
@@ -76,13 +78,13 @@ public class Coupon extends BaseEntity {
      * 生效时间(时间戳,单位:毫秒)
      */
     @TableField("effective_time")
-    private Long effectiveTime;
+    private LocalDateTime effectiveTime;
 
     /**
      * 失效时间(时间戳,单位:毫秒)
      */
     @TableField("expire_time")
-    private Long expireTime;
+    private LocalDateTime expireTime;
 
     /**
      * 状态(0-已使用, 1-未使用, 2-锁定)
@@ -94,7 +96,7 @@ public class Coupon extends BaseEntity {
      * 使用时间(时间戳,单位:毫秒,未使用时为0)
      */
     @TableField("use_time")
-    private Long useTime;
+    private LocalDateTime useTime;
 
     /**
      * 已使用金额(单位:元)

+ 11 - 6
src/main/java/com/qmrb/system/pojo/form/CouponForm.java

@@ -1,9 +1,11 @@
 package com.qmrb.system.pojo.form;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -66,13 +68,15 @@ public class CouponForm {
     /**
      * 生效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="Long")
-    private Long effectiveTime;
+	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime effectiveTime;
     /**
      * 失效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="Long")
-    private Long expireTime;
+	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime expireTime;
     /**
      * 状态(0-已使用, 1-未使用, 2-锁定)
      */
@@ -81,8 +85,9 @@ public class CouponForm {
     /**
      * 使用时间(时间戳,单位:毫秒,未使用时为0)
      */
-	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="Long")
-    private Long useTime;
+	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime useTime;
     /**
      * 已使用金额(单位:元)
      */

+ 11 - 6
src/main/java/com/qmrb/system/pojo/query/CouponQuery.java

@@ -1,11 +1,13 @@
 package com.qmrb.system.pojo.query;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import com.qmrb.system.common.base.BasePageQuery;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -65,13 +67,15 @@ public class CouponQuery extends BasePageQuery{
     /**
      * 生效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="Long")
-    private Long effectiveTime;
+	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime effectiveTime;
     /**
      * 失效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="Long")
-    private Long expireTime;
+	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime expireTime;
     /**
      * 状态(0-已使用, 1-未使用, 2-锁定)
      */
@@ -80,8 +84,9 @@ public class CouponQuery extends BasePageQuery{
     /**
      * 使用时间(时间戳,单位:毫秒,未使用时为0)
      */
-	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="Long")
-    private Long useTime;
+	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime useTime;
     /**
      * 已使用金额(单位:元)
      */

+ 12 - 6
src/main/java/com/qmrb/system/pojo/vo/CouponVO.java

@@ -1,7 +1,10 @@
 package com.qmrb.system.pojo.vo;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -59,13 +62,15 @@ public class CouponVO {
     /**
      * 生效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="Long")
-    private Long effectiveTime;
+	@Schema(description = "生效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime effectiveTime;
     /**
      * 失效时间(时间戳,单位:毫秒)
      */
-	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="Long")
-    private Long expireTime;
+	@Schema(description = "失效时间(时间戳,单位:毫秒)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime expireTime;
     /**
      * 状态(0-已使用, 1-未使用, 2-锁定)
      */
@@ -74,8 +79,9 @@ public class CouponVO {
     /**
      * 使用时间(时间戳,单位:毫秒,未使用时为0)
      */
-	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="Long")
-    private Long useTime;
+	@Schema(description = "使用时间(时间戳,单位:毫秒,未使用时为0)",type="LocalDateTime")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime useTime;
     /**
      * 已使用金额(单位:元)
      */

+ 8 - 0
src/main/java/com/qmrb/system/service/IContractPlaceNumberRelService.java

@@ -2,6 +2,7 @@ package com.qmrb.system.service;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmrb.system.pojo.entity.BarnRecord;
 import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
 import com.qmrb.system.pojo.form.ContractPlaceNumberRelForm;
 import com.qmrb.system.pojo.vo.ContractPlaceNumberRelVO;
@@ -38,4 +39,11 @@ public interface IContractPlaceNumberRelService extends IService<ContractPlaceNu
 	public ContractPlaceNumberRelForm getFormData(Long id);
 
     Page<ContractPlaceNumberRelVO> getHistoryPage(ContractPlaceNumberRelQuery queryParams);
+
+	/**
+	 * 获取包租协议抵用时长
+	 * @param barnRecord
+	 * @return
+	 */
+    Double getDenomination(BarnRecord barnRecord);
 }

+ 11 - 4
src/main/java/com/qmrb/system/service/impl/CarParkChargingRulesServiceImpl.java

@@ -11,6 +11,7 @@ import com.qmrb.parking.fee.ParkingFeeCalculator;
 import com.qmrb.system.mapper.*;
 import com.qmrb.system.pojo.entity.*;
 import com.qmrb.system.service.ICarParkStoredCardService;
+import com.qmrb.system.service.IContractPlaceNumberRelService;
 import com.qmrb.system.service.OrderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -57,6 +58,9 @@ public class CarParkChargingRulesServiceImpl extends ServiceImpl<CarParkCharging
 	@Autowired
 	private CouponMapper couponMapper;
 	
+	@Autowired
+	private IContractPlaceNumberRelService contractPlaceNumberRelService;
+	
 	//是否开启抵扣
 	@Value("${deductionSwitch}")
 	private Boolean deductionSwitch;
@@ -280,12 +284,15 @@ public class CarParkChargingRulesServiceImpl extends ServiceImpl<CarParkCharging
 				ZoneId zoneId = ZoneId.systemDefault();
 
 				// 将时间戳转换为 LocalDateTime
-				LocalDateTime expireTime = Instant.ofEpochMilli(coupon.getExpireTime())
-						.atZone(zoneId)
-						.toLocalDateTime();
-				couponRecord.expireTime = expireTime;
+				// LocalDateTime expireTime = Instant.ofEpochMilli(coupon.getExpireTime())
+				// 		.atZone(zoneId)
+				// 		.toLocalDateTime();
+				couponRecord.expireTime = coupon.getExpireTime();
 
 				parkingRecord.couponRecord = couponRecord;
+			}else{
+				// 判断是否否存在包租协议
+				Double denomination = contractPlaceNumberRelService.getDenomination(barnRecord);
 			}
 		}
 		if(CollectionUtil.isNotEmpty(orderList)){

+ 26 - 4
src/main/java/com/qmrb/system/service/impl/ContractPlaceNumberRelServiceImpl.java

@@ -8,11 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.qmrb.system.common.result.PageResult;
 import com.qmrb.system.converter.ContractPlaceNumberRelConverter;
 import com.qmrb.system.framework.security.util.SecurityUtils;
+import com.qmrb.system.pojo.entity.*;
 import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
-import com.qmrb.system.pojo.entity.Contract;
-import com.qmrb.system.pojo.entity.ContractPlaceNumberRel;
-import com.qmrb.system.pojo.entity.ContractPlaceNumberRelHis;
-import com.qmrb.system.pojo.entity.SysUser;
 import com.qmrb.system.pojo.form.ContractPlaceNumberRelForm;
 import com.qmrb.system.pojo.vo.BarnRecordVO;
 import com.qmrb.system.pojo.vo.ContractPlaceNumberRelHisVO;
@@ -33,6 +30,7 @@ import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 
 import java.time.Duration;
+import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.Date;
@@ -220,4 +218,28 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
         return pageResult;
     }
 
+    @Override
+    public Double getDenomination(BarnRecord barnRecord) {
+        // 将 Date 转换为 Instant
+        Instant instant = barnRecord.getInTime().toInstant();
+
+        // 将 Instant 转换为 LocalDateTime(假设使用系统默认时区)
+        LocalDateTime inDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
+        // 将 Date 转换为 Instant
+        Instant outInstant = barnRecord.getInTime().toInstant();
+
+        // 将 Instant 转换为 LocalDateTime(假设使用系统默认时区)
+        LocalDateTime outDateTime = outInstant.atZone(ZoneId.systemDefault()).toLocalDateTime();
+        LambdaQueryWrapper<ContractPlaceNumberRel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ContractPlaceNumberRel::getPlateNumber,barnRecord.getPlaceNo());
+        queryWrapper.eq(ContractPlaceNumberRel::getStatus,"1");//0停用1启用 2到期
+        
+        if(barnRecord.getOutTime() != null){
+            // 出场时间在开始日之后,结束日之前
+            
+        }
+        // this.list()
+        return null;
+    }
+
 }

+ 10 - 2
src/main/java/com/qmrb/system/service/impl/CouponServiceImpl.java

@@ -1,6 +1,9 @@
 package com.qmrb.system.service.impl;
 
 import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -116,8 +119,13 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
 				form.setDenomination(contract.getDiscountMinute() != null ? new BigDecimal(contract.getDiscountMinute()) : BigDecimal.ZERO);
 				form.setCouponType(2);//优惠券类型(1-金额券, 2-时长券)
 			}
-			form.setEffectiveTime(System.currentTimeMillis());
-			form.setExpireTime(contract.getEndDate().getTime());
+			form.setEffectiveTime(LocalDateTime.now());
+			// 将 Date 转换为 Instant
+			Instant outInstant = contract.getEndDate().toInstant();
+
+			// 将 Instant 转换为 LocalDateTime(假设使用系统默认时区)
+			LocalDateTime outDateTime = outInstant.atZone(ZoneId.systemDefault()).toLocalDateTime();
+			form.setExpireTime(outDateTime);
 			form.setStatus(0);//状态(0-已使用, 1-未使用, 2-锁定)
 			
 		}