Kaynağa Gözat

新增模式

guoshuai 1 ay önce
ebeveyn
işleme
12d088ee74

+ 3 - 2
src/main/java/com/qmrb/system/controller/BarnRecordController.java

@@ -110,9 +110,10 @@ public class BarnRecordController{
     @Operation(summary = "岗亭端停车记录金额数据", security = {@SecurityRequirement(name = "Authorization")})
     @GetMapping("/{id}/getCarParkUseLogOrder")
     public Result<BarnRecordForm> getCarParkUseLogOrder(
-            @Parameter(description = "岗亭端停车记录ID") @PathVariable Long id
+            @Parameter(description = "岗亭端停车记录ID") @PathVariable Long id,
+            @ParameterObject Boolean isMonthlyCardMode
     ) {
-    	BarnRecordForm formData = barnRecordService.getCarParkUseLogOrder(id);
+    	BarnRecordForm formData = barnRecordService.getCarParkUseLogOrder(id,isMonthlyCardMode);
         return Result.success(formData);
     }
 

+ 3 - 2
src/main/java/com/qmrb/system/controller/OrderController.java

@@ -258,14 +258,15 @@ public class OrderController extends CommonController {
     @GetMapping("/{id}/charging")
     public CommonResult<?> pickUp(
             @Parameter(description = "岗亭端停车记录ID") @PathVariable Long id,
-            @ParameterObject String openId
+            @ParameterObject String openId,
+            @ParameterObject Boolean isMonthlyCardMode
     ) throws MQBrokerException, RemotingException, UnsupportedEncodingException, InterruptedException, MQClientException {
         //todo 调用计费模块,计算是否有应付费用
         BigDecimal pendingAmount = BigDecimal.ZERO;
         BarnRecordForm formData = barnRecordService.chargingByBarnId(id);
         if(formData != null){
             // 计算未支付金额
-            pendingAmount = rulesService.calcuExpenses(formData.getId(),formData.getCarNumber());
+            pendingAmount = rulesService.calcuExpenses(formData.getId(),formData.getCarNumber(),isMonthlyCardMode);
         }
         if(formData != null && pendingAmount.compareTo(BigDecimal.ZERO) >0){
             ToCreateOrderVO toCreateOrderVO = new ToCreateOrderVO();

+ 7 - 0
src/main/java/com/qmrb/system/pojo/form/BarnRecordForm.java

@@ -1,5 +1,6 @@
 package com.qmrb.system.pojo.form;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -91,4 +92,10 @@ public class BarnRecordForm {
      */
     @Schema(description = "停车时间",type="String")
     private String parkingTime;
+
+    /**
+     * 0:存车中 1:在库 2:正常离场  3:应急离场
+     */
+    @Schema(description = "状态",type="Integer")
+    private Integer status;
 }

+ 6 - 0
src/main/java/com/qmrb/system/pojo/query/BarnRecordQuery.java

@@ -92,4 +92,10 @@ public class BarnRecordQuery extends BasePageQuery{
      */
     @Schema(description = "应急取车标识",type="String")
     private String emergencyFlag;
+
+    /**
+     * 0:存车中 1:在库 2:正常离场  3:应急离场
+     */
+    @Schema(description = "状态",type="Integer")
+    private Integer status;
 }

+ 6 - 0
src/main/java/com/qmrb/system/pojo/vo/BarnRecordVO.java

@@ -93,6 +93,12 @@ public class BarnRecordVO {
      */
     @Schema(description = "停车时间",type="String")
     private String parkingTime;
+
+    /**
+     * 0:存车中 1:在库 2:正常离场  3:应急离场
+     */
+    @Schema(description = "状态",type="Integer")
+    private Integer status;
 	@Schema(description = "子分类")
     private List<BarnRecordVO> children;
 

+ 1 - 1
src/main/java/com/qmrb/system/service/IBarnRecordService.java

@@ -37,7 +37,7 @@ public interface IBarnRecordService extends IService<BarnRecord> {
 	 * */
 	public BarnRecordForm getFormData(Long id);
 
-	BarnRecordForm getCarParkUseLogOrder(Long id);
+	BarnRecordForm getCarParkUseLogOrder(Long id,Boolean isMonthlyCardMode);
 
 
 	List<BarnRecordForm> saveBatchOrUpdate(@Valid List<BarnRecordForm> list);

+ 1 - 1
src/main/java/com/qmrb/system/service/ICarParkChargingRulesService.java

@@ -43,6 +43,6 @@ public interface ICarParkChargingRulesService extends IService<CarParkChargingRu
 	 * 计算费用
 	 * @return
 	 */
-	public BigDecimal calcuExpenses(Long recordId,String carNumber);
+	public BigDecimal calcuExpenses(Long recordId,String carNumber,Boolean isMonthlyCardMode);
 	
 }

+ 3 - 3
src/main/java/com/qmrb/system/service/impl/BarnRecordServiceImpl.java

@@ -114,7 +114,7 @@ public class BarnRecordServiceImpl extends ServiceImpl<BarnRecordMapper, BarnRec
             } else {
                 record.setParkingTime(calculateTimeDifference(record.getInTime(), new Date()));
             }
-            record.setPendingAmount(carParkChargingRulesService.calcuExpenses(record.getId(),record.getCarNumber()));
+            record.setPendingAmount(carParkChargingRulesService.calcuExpenses(record.getId(),record.getCarNumber(),false));
             if(record.getReceivedAmount() == null){
                 record.setReceivedAmount(BigDecimal.ZERO);
             }
@@ -174,7 +174,7 @@ public class BarnRecordServiceImpl extends ServiceImpl<BarnRecordMapper, BarnRec
      * @return
      */
     @Override
-    public BarnRecordForm getCarParkUseLogOrder(Long id) {
+    public BarnRecordForm getCarParkUseLogOrder(Long id,Boolean isMonthlyCardMode) {
         // 获取entity
         BarnRecord entity = this.getById(id);
         Assert.isTrue(entity != null, "岗亭端停车记录不存在");
@@ -204,7 +204,7 @@ public class BarnRecordServiceImpl extends ServiceImpl<BarnRecordMapper, BarnRec
             form.setReceivedAmount(BigDecimal.ZERO);
         }
         // 计费
-        form.setPendingAmount(carParkChargingRulesService.calcuExpenses(form.getId(),form.getCarNumber()));//待收金额
+        form.setPendingAmount(carParkChargingRulesService.calcuExpenses(form.getId(),form.getCarNumber(),isMonthlyCardMode));//待收金额
         if(form.getPendingAmount() != null){
             form.setBillingAmount(form.getReceivedAmount().add(form.getPendingAmount()));//计费金额
         }else{

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

@@ -123,7 +123,7 @@ public class CarParkChargingRulesServiceImpl extends ServiceImpl<CarParkCharging
 	 * @return
 	 */
 	@Override
-	public BigDecimal calcuExpenses(Long recordId, String carNumber) {
+	public BigDecimal calcuExpenses(Long recordId, String carNumber,Boolean isMonthlyCardMode) {
 		// 查询当前用户是否有月卡
 		List<CarParkStoredCard> list = parkStoredCardService.list(new LambdaQueryWrapper<CarParkStoredCard>().eq(CarParkStoredCard::getPlateNumber, carNumber)
 				.eq(CarParkStoredCard::getStatus,1).ge(CarParkStoredCard::getEndTime, LocalDateTime.now()));
@@ -180,7 +180,7 @@ public class CarParkChargingRulesServiceImpl extends ServiceImpl<CarParkCharging
 			parkingRecord.monthlyCardExpiryTime = parkStoredCard.getEndTime();
 
 			// 计算费用
-			fee = ParkingFeeCalculator.calculateParkingFee(parkingRecord, feeRule, false);
+			fee = ParkingFeeCalculator.calculateParkingFee(parkingRecord, feeRule, isMonthlyCardMode);
 			// if(parkStoredCard.getStartTime().isAfter(inDateTime) && parkStoredCard.getEndTime().isBefore(LocalDateTime.now())){
 			// 	//入库时间在月卡开始日前,出库时间在结束日前  不会出现
 			// } else if(parkStoredCard.getStartTime().isAfter(inDateTime) && parkStoredCard.getEndTime().isAfter(LocalDateTime.now())){
@@ -193,7 +193,7 @@ public class CarParkChargingRulesServiceImpl extends ServiceImpl<CarParkCharging
 			// }
 		}else{
 			//直接计算费用
-			fee = ParkingFeeCalculator.calculateParkingFee(parkingRecord, feeRule, false);
+			fee = ParkingFeeCalculator.calculateParkingFee(parkingRecord, feeRule, isMonthlyCardMode);
 		}
 		
 		return new BigDecimal(fee);