Pārlūkot izejas kodu

停车场手机管理端:停车记录相关接口

chenwen 3 gadi atpakaļ
vecāks
revīzija
b70aa7fe34

+ 17 - 0
src/main/java/com/charging/chargingparking/mapper/mobile/ParkingLogMapper.java

@@ -0,0 +1,17 @@
+package com.charging.chargingparking.mapper.mobile;
+
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+public interface ParkingLogMapper {
+
+	
+	/**
+	 * 分页查询停车记录
+	 * @param searchParams
+	 * @param page
+	 * @return
+	 */
+	IPage<Map<String,Object>> queryParkingLog(Map<String,Object> searchParams,IPage<Map<String,Object>> page);
+}

+ 67 - 0
src/main/java/com/charging/chargingparking/modules/mobileController/ParkingLogController.java

@@ -0,0 +1,67 @@
+package com.charging.chargingparking.modules.mobileController;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.charging.chargingparking.modules.mobileservice.ParkingLogService;
+import com.charging.chargingparking.utils.DateUtil;
+import com.charging.chargingparking.utils.RespVO;
+import com.charging.chargingparking.utils.RespVOBuilder;
+
+@RestController
+@Validated
+@RequestMapping("/mobileApi/parkingLog")
+public class ParkingLogController {
+
+	@Autowired
+	private ParkingLogService  service;
+	
+	/**
+	 * 分页查询停车记录
+	 * @param status off:已离场;其它:未离场
+	 * @param carNum
+	 * @param intTimeStart
+	 * @param inTimeEnd
+	 * @param pageNum
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping("/query")
+	public RespVO  query(String status,String carNum,String intTimeStart,String inTimeEnd,@RequestParam(value="pageNum",defaultValue="1") int pageNum,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize) {
+		Date dateObj=DateUtil.parse(intTimeStart,"yyyy-MM-dd");
+		if(dateObj==null) {
+			intTimeStart=DateUtil.format(new Date(), "yyyy-MM-dd");
+		}
+		dateObj=DateUtil.parse(inTimeEnd,"yyyy-MM-dd");
+		if(dateObj==null) {
+			inTimeEnd=DateUtil.format(new Date(), "yyyy-MM-dd");
+		}
+		Map<String,Object> searchParams=new HashMap<String,Object>();
+		searchParams.put("carNum", carNum);
+		searchParams.put("intTimeStart", intTimeStart);
+		searchParams.put("inTimeEnd", inTimeEnd);
+		searchParams.put("status", "off".equals(status)?"1":"0");
+		
+		return RespVOBuilder.ok(service.queryParkingLog(searchParams, pageNum, pageSize));
+	}
+	
+	/**
+	   * 管理员手动收费放行
+	 * @param carNum
+	 * @param payType
+	 * @param payAmount
+	 * @return
+	 */
+	@RequestMapping("/manualCharging")
+	public  RespVO manualCharging(String carNum,String payType,Double payAmount) {
+		return RespVOBuilder.ok();
+	}
+}

+ 17 - 0
src/main/java/com/charging/chargingparking/modules/mobileservice/ParkingLogService.java

@@ -0,0 +1,17 @@
+package com.charging.chargingparking.modules.mobileservice;
+
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+public interface ParkingLogService {
+
+	/**
+	 * 分页查询停车记录
+	 * @param searchParams
+	 * @param pageNumber
+	 * @param pageSize
+	 * @return
+	 */
+	IPage<Map<String,Object>> queryParkingLog(Map<String, Object> searchParams, int pageNumber, int pageSize);
+}

+ 29 - 0
src/main/java/com/charging/chargingparking/modules/mobileservice/impl/ParkingLogServiceImp.java

@@ -0,0 +1,29 @@
+package com.charging.chargingparking.modules.mobileservice.impl;
+
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.charging.chargingparking.mapper.mobile.ParkingLogMapper;
+import com.charging.chargingparking.modules.mobileservice.ParkingLogService;
+
+@Service
+@Transactional(readOnly = true)
+public class ParkingLogServiceImp implements ParkingLogService {
+	
+	@Autowired
+	private ParkingLogMapper  mapper;
+
+	@Override
+	public IPage<Map<String, Object>> queryParkingLog(Map<String, Object> searchParams, int pageNumber, int pageSize) {
+		Page<Map<String, Object>> page = new Page<>();
+        page.setCurrent(pageNumber);
+        page.setSize(pageSize);
+		return mapper.queryParkingLog(searchParams, page);
+	}
+
+}

+ 28 - 0
src/main/resources/mapper/api/ParkingLogMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.charging.chargingparking.mapper.mobile.ParkingLogMapper">
+    
+    <select id="queryParkingLog" parameterType="hashmap" resultType="java.util.HashMap">
+    	select  TIMESTAMPDIFF(MINUTE,in_parking_time,sysdate()) cal_parking_time, in_parking_time,out_parking_time,
+    	parking_time,total_amount,pay_amount,release_status
+		from base_parking_record pr
+		where pr.del_flag=false
+		and pr.release_status=#{searchParams.status}
+		
+		<if test="searchParams.carNum!=null">
+			and pr.car_num like #{searchParams.carNum}
+		</if>
+		
+		<if test="searchParams.inTimeStart!=null">
+			<![CDATA[ and pr.in_parking_time >= #{searchParams.inTimeStart} ]]>
+		</if>
+		
+		<if test="searchParams.inTimeEnd!=null">
+			<![CDATA[ and pr.in_parking_time <= #{searchParams.inTimeEnd} ]]>
+		</if>
+		
+    </select>
+    
+</mapper>