guoshuai 3 сар өмнө
parent
commit
04eadae6b0

+ 23 - 10
src/main/java/com/qmrb/system/controller/OrderController.java

@@ -18,10 +18,7 @@ import com.qmrb.system.pojo.form.BarnRecordForm;
 import com.qmrb.system.pojo.form.PayOrderForm;
 import com.qmrb.system.pojo.query.PayOrderQuery;
 import com.qmrb.system.pojo.vo.*;
-import com.qmrb.system.service.IBarnRecordService;
-import com.qmrb.system.service.OrderService;
-import com.qmrb.system.service.ToolWxConfigService;
-import com.qmrb.system.service.UserService;
+import com.qmrb.system.service.*;
 import com.qmrb.system.utils.WxPayUtil;
 import com.qmrb.system.wxpayback.api.CommonController;
 import com.qmrb.system.wxpayback.api.CommonResult;
@@ -84,6 +81,9 @@ public class OrderController extends CommonController {
     @Autowired
     private IBarnRecordService barnRecordService;
     
+    @Autowired
+    private ICarParkChargingRulesService rulesService;
+    
     @Value("${pickCarProducer.topic}")
     private String topic;
     @Value("${pickCarProducer.tags}")
@@ -243,18 +243,31 @@ public class OrderController extends CommonController {
         orderService.closeOrder(toolWxConfigService.findConf(),outTradeNo);
     }
 
-    @Operation(summary = "根据岗亭端停车记录数据计费", security = {@SecurityRequirement(name = "Authorization")})
+    /**
+     * 根据岗亭端停车记录数据计费取车
+     * @param id
+     * @param openId
+     * @return
+     * @throws MQBrokerException
+     * @throws RemotingException
+     * @throws UnsupportedEncodingException
+     * @throws InterruptedException
+     * @throws MQClientException
+     */
+    @Operation(summary = "计费取车", security = {@SecurityRequirement(name = "Authorization")})
     @GetMapping("/{id}/charging")
     public CommonResult<?> pickUp(
             @Parameter(description = "岗亭端停车记录ID") @PathVariable Long id,
             @ParameterObject String openId
     ) throws MQBrokerException, RemotingException, UnsupportedEncodingException, InterruptedException, MQClientException {
         //todo 调用计费模块,计算是否有应付费用
-        BigDecimal bigDecimal = new BigDecimal(1);
-
-        
+        BigDecimal pendingAmount = BigDecimal.ZERO;
         BarnRecordForm formData = barnRecordService.chargingByBarnId(id);
-        if(formData != null && formData.getPendingAmount() != null && formData.getPendingAmount().compareTo(BigDecimal.ZERO) >0){
+        if(formData != null){
+            // 计算未支付金额
+            pendingAmount = rulesService.calcuExpenses(formData.getId(),formData.getCarNumber());
+        }
+        if(formData != null && pendingAmount.compareTo(BigDecimal.ZERO) >0){
             ToCreateOrderVO toCreateOrderVO = new ToCreateOrderVO();
             toCreateOrderVO.setTotal(formData.getPendingAmount().multiply(new BigDecimal(100)).intValueExact());
             toCreateOrderVO.setDescription("停车缴费");
@@ -271,7 +284,7 @@ public class OrderController extends CommonController {
             return process(() -> orderService.createOrder(toolWxConfigService.findConf(),toCreateOrderVO));
         }else if(formData != null && formData.getPendingAmount() != null && formData.getPendingAmount().compareTo(BigDecimal.ZERO) <= 0){
             HashMap<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("channelId",formData.getOutChannelId());
+            paramsMap.put("channelId",formData.getBarnId());
             paramsMap.put("carNumber",formData.getCarNumber());
             // 发送取车指令
             pickCarProducer.send(topic,tags, JSONUtil.toJsonStr(paramsMap));

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

@@ -28,7 +28,7 @@ public class BarnRecordForm {
      * 车辆进入时间
      */
 	@Schema(description = "车辆进入时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date inTime;
     /**
      * 进场图片
@@ -44,7 +44,7 @@ public class BarnRecordForm {
      * 车辆出场时间
      */
 	@Schema(description = "车辆出场时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date outTime;
     /**
      * 出口ID
@@ -56,7 +56,7 @@ public class BarnRecordForm {
      * 计费开始时间
      */
     @Schema(description = "计费开始时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date billingStartTime;
 
     /**

+ 2 - 2
src/main/java/com/qmrb/system/pojo/form/BarninRecordForm.java

@@ -23,11 +23,11 @@ public class BarninRecordForm {
     private String placeNo;
     private String carNumber;
 
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date inTime;
     private String inImage;
     private Integer inChannelId;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date outTime;
     private Integer outChannelId;
     private Integer status;

+ 2 - 2
src/main/java/com/qmrb/system/pojo/form/CarParkStoredCardForm.java

@@ -45,14 +45,14 @@ public class CarParkStoredCardForm {
      */
 	@Schema(description = "开始时间",type="LocalDateTime")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
     /**
      * 过期时间
      */
 	@Schema(description = "过期时间",type="LocalDateTime")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     /**
      * 金额余额

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

@@ -31,7 +31,7 @@ public class BarnRecordVO {
      * 车辆进入时间
      */
 	@Schema(description = "车辆进入时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date inTime;
     /**
      * 进场图片
@@ -47,7 +47,7 @@ public class BarnRecordVO {
      * 车辆出场时间
      */
 	@Schema(description = "车辆出场时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date outTime;
     /**
      * 出口ID
@@ -59,7 +59,7 @@ public class BarnRecordVO {
      * 计费开始时间
      */
     @Schema(description = "计费开始时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date billingStartTime;
 
     /**

+ 3 - 3
src/main/java/com/qmrb/system/pojo/vo/CarParkStoredCardVO.java

@@ -44,13 +44,13 @@ public class CarParkStoredCardVO {
      * 开始时间
      */
 	@Schema(description = "开始时间",type="LocalDateTime")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
     /**
      * 过期时间
      */
 	@Schema(description = "过期时间",type="LocalDateTime")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
     /**
      * 金额余额
@@ -67,7 +67,7 @@ public class CarParkStoredCardVO {
      */
 	@Schema(description = "月卡状态0停用1启用",type="String")
     private String status;
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
     
     /**

+ 5 - 5
src/main/java/com/qmrb/system/pojo/vo/PayOrderVO.java

@@ -28,7 +28,7 @@ public class PayOrderVO {
      * 下单时间
      */
 	@Schema(description = "下单时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date orderTime;
     /**
      * 支付金额
@@ -64,26 +64,26 @@ public class PayOrderVO {
      * 支付时间
      */
 	@Schema(description = "支付时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date payTime;
     /**
      * 退款时间
      */
 	@Schema(description = "退款时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date refundTime;
     /**
      * 取消时间
      */
 	@Schema(description = "取消时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date cancelTime;
     
     /**
      * 新增时间
      */
 	@Schema(description = "新增时间",type="Date")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
     /**
      * 支付机构(缩写之类的)