1.添加服务启动通知

dev
862857010@qq.com 2 years ago
parent d1ec95f031
commit 4f15f2505b
  1. 383
      cjy-project/src/main/java/com/cjy/parking/controller/ParkingTurnoverDataController.java
  2. 26
      cjy-project/src/main/java/com/cjy/parking/domain/ParkingLotMsgEntity.java
  3. 244
      cjy-project/src/main/java/com/cjy/parking/mapper/ParkingTurnoverDataMapper.java
  4. 196
      cjy-project/src/main/java/com/cjy/parking/service/IParkingTurnoverDataService.java
  5. 46
      cjy-project/src/main/java/com/cjy/parking/service/impl/ParkingTurnoverDataServiceImpl.java
  6. 3
      cjy-project/src/main/resources/mapper/parking/ParkingTurnoverDataMapper.xml
  7. 2
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@ -7,6 +7,7 @@ import com.cjy.common.groups.AddGroup;
import com.cjy.common.groups.UpdaeGroup; import com.cjy.common.groups.UpdaeGroup;
import com.cjy.parking.domain.CarParkData; import com.cjy.parking.domain.CarParkData;
import com.cjy.parking.domain.InParkRecords; import com.cjy.parking.domain.InParkRecords;
import com.cjy.parking.domain.ParkingLotMsgEntity;
import com.cjy.parking.util.AdmissionDataprocessFactory; import com.cjy.parking.util.AdmissionDataprocessFactory;
import com.cjy.parking.util.ProcessFactory; import com.cjy.parking.util.ProcessFactory;
import com.cjy.parking.vo.ParkingLotAccessSummaryVO; import com.cjy.parking.vo.ParkingLotAccessSummaryVO;
@ -30,195 +31,207 @@ import com.ruoyi.common.core.page.TableDataInfo;
/** /**
* 停车场流水数据Controller * 停车场流水数据Controller
* *
* @author ruoyi * @author ruoyi
* @date 2023-03-02 * @date 2023-03-02
*/ */
@RestController @RestController
@RequestMapping("/parking/turnoverData") @RequestMapping("/parking/turnoverData")
public class ParkingTurnoverDataController extends BaseController public class ParkingTurnoverDataController extends BaseController {
{ @Autowired
@Autowired private IParkingTurnoverDataService parkingTurnoverDataService;
private IParkingTurnoverDataService parkingTurnoverDataService; @Autowired
@Autowired ProcessFactory processFactory;
ProcessFactory processFactory; @Autowired
@Autowired AdmissionDataprocessFactory admissionDataprocessFactory;
AdmissionDataprocessFactory admissionDataprocessFactory;
@Autowired
@Autowired private ISysConfigService configService;
private ISysConfigService configService;
/** /**
* 查询停车场流水数据列表 * 查询停车场流水数据列表
*/ */
@PreAuthorize("@ss.hasPermi('parking:turnoverData:list')") @PreAuthorize("@ss.hasPermi('parking:turnoverData:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(ParkingTurnoverData parkingTurnoverData) public TableDataInfo list(ParkingTurnoverData parkingTurnoverData) {
{ startPage();
startPage(); parkingTurnoverData.setOrganCode(getUserOrganCode());
parkingTurnoverData.setOrganCode(getUserOrganCode()); List<ParkingTurnoverData> list = parkingTurnoverDataService.selectParkingTurnoverDataList(parkingTurnoverData);
List<ParkingTurnoverData> list = parkingTurnoverDataService.selectParkingTurnoverDataList(parkingTurnoverData); return getDataTable(list);
return getDataTable(list); }
}
/**
/** * 导出停车场流水数据列表
* 导出停车场流水数据列表 */
*/ @PreAuthorize("@ss.hasPermi('parking:turnoverData:export')")
@PreAuthorize("@ss.hasPermi('parking:turnoverData:export')") @Log(title = "停车场流水数据", businessType = BusinessType.EXPORT)
@Log(title = "停车场流水数据", businessType = BusinessType.EXPORT) @PostMapping("/export")
@PostMapping("/export") public void export(HttpServletResponse response, ParkingTurnoverData parkingTurnoverData) {
public void export(HttpServletResponse response, ParkingTurnoverData parkingTurnoverData) parkingTurnoverData.setOrganCode(getUserOrganCode());
{ List<ParkingTurnoverData> list = parkingTurnoverDataService.selectParkingTurnoverDataList(parkingTurnoverData);
parkingTurnoverData.setOrganCode(getUserOrganCode()); ExcelUtil<ParkingTurnoverData> util = new ExcelUtil<ParkingTurnoverData>(ParkingTurnoverData.class);
List<ParkingTurnoverData> list = parkingTurnoverDataService.selectParkingTurnoverDataList(parkingTurnoverData); util.exportExcel(response, list, "停车场流水数据数据");
ExcelUtil<ParkingTurnoverData> util = new ExcelUtil<ParkingTurnoverData>(ParkingTurnoverData.class); }
util.exportExcel(response, list, "停车场流水数据数据");
} /**
* 获取停车场流水数据详细信息
/** */
* 获取停车场流水数据详细信息 @PreAuthorize("@ss.hasPermi('parking:turnoverData:query')")
*/ @GetMapping(value = "/{id}")
@PreAuthorize("@ss.hasPermi('parking:turnoverData:query')") public AjaxResult getInfo(@PathVariable("id") Long id) {
@GetMapping(value = "/{id}") return success(parkingTurnoverDataService.selectParkingTurnoverDataById(id));
public AjaxResult getInfo(@PathVariable("id") Long id) }
{
return success(parkingTurnoverDataService.selectParkingTurnoverDataById(id)); /**
} * 新增停车场流水数据
*/
/** @PreAuthorize("@ss.hasPermi('parking:turnoverData:add')")
* 新增停车场流水数据 @Log(title = "停车场流水数据", businessType = BusinessType.INSERT)
*/ @PostMapping
@PreAuthorize("@ss.hasPermi('parking:turnoverData:add')") public AjaxResult add(@Validated(AddGroup.class) @RequestBody ParkingTurnoverData parkingTurnoverData) {
@Log(title = "停车场流水数据", businessType = BusinessType.INSERT) parkingTurnoverData.setOrganCode(getUserOrganCode());
@PostMapping parkingTurnoverData.setCreateBy(getUserId().toString());
public AjaxResult add(@Validated(AddGroup.class) @RequestBody ParkingTurnoverData parkingTurnoverData) int returnValue = parkingTurnoverDataService.insertParkingTurnoverData(parkingTurnoverData);
{ if (returnValue > 0) {
parkingTurnoverData.setOrganCode(getUserOrganCode()); return AjaxResult.success("创建成功");
parkingTurnoverData.setCreateBy(getUserId().toString()); } else {
int returnValue =parkingTurnoverDataService.insertParkingTurnoverData(parkingTurnoverData); return AjaxResult.error("请输入合法车牌号");
if(returnValue>0){ }
return AjaxResult.success("创建成功");
}else { }
return AjaxResult.error("请输入合法车牌号");
} /**
* 修改停车场流水数据
} */
@PreAuthorize("@ss.hasPermi('parking:turnoverData:edit')")
/** @Log(title = "停车场流水数据", businessType = BusinessType.UPDATE)
* 修改停车场流水数据 @PutMapping
*/ public AjaxResult edit(@Validated(UpdaeGroup.class) @RequestBody ParkingTurnoverData parkingTurnoverData) {
@PreAuthorize("@ss.hasPermi('parking:turnoverData:edit')") parkingTurnoverData.setDelFlag("1");
@Log(title = "停车场流水数据", businessType = BusinessType.UPDATE) parkingTurnoverData.setUpdateBy(getUserId().toString());
@PutMapping int returnValue = parkingTurnoverDataService.updateParkingTurnoverData(parkingTurnoverData);
public AjaxResult edit( @Validated(UpdaeGroup.class) @RequestBody ParkingTurnoverData parkingTurnoverData) if (returnValue > 0) {
{ return AjaxResult.success("修改成功");
parkingTurnoverData.setDelFlag("1"); } else {
parkingTurnoverData.setUpdateBy(getUserId().toString()); return AjaxResult.error("请输入合法车牌号");
int returnValue =parkingTurnoverDataService.updateParkingTurnoverData(parkingTurnoverData); }
if(returnValue>0){ }
return AjaxResult.success("修改成功");
}else { /**
return AjaxResult.error("请输入合法车牌号"); * 删除停车场流水数据
} */
} @PreAuthorize("@ss.hasPermi('parking:turnoverData:remove')")
@Log(title = "停车场流水数据", businessType = BusinessType.DELETE)
/**
* 删除停车场流水数据
*/
@PreAuthorize("@ss.hasPermi('parking:turnoverData:remove')")
@Log(title = "停车场流水数据", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids) {
{ return toAjax(parkingTurnoverDataService.deleteParkingTurnoverDataByIds(ids));
return toAjax(parkingTurnoverDataService.deleteParkingTurnoverDataByIds(ids)); }
}
/**
/** * 获取车辆归属地
* 获取车辆归属地 */
*/
@GetMapping("/vehicleAttributionList")
@GetMapping("/vehicleAttributionList") public TableDataInfo vehicleAttributionList() {
public TableDataInfo vehicleAttributionList() List<VehicleAttributionVO> list = parkingTurnoverDataService.vehicleAttributionList();
{ return getDataTable(list);
List<VehicleAttributionVO> list = parkingTurnoverDataService.vehicleAttributionList(); }
return getDataTable(list);
} /**
/** * 停车场出入明细
*停车场出入明细 */
*/ @PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingInAndOutDetails')")
@PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingInAndOutDetails')") @PostMapping("/parkingInAndOutDetails")
@PostMapping("/parkingInAndOutDetails") public TableDataInfo parkingInAndOutDetails(@RequestBody ParkingTurnoverDataVO parkingTurnoverDataVO) {
public TableDataInfo parkingInAndOutDetails(@RequestBody ParkingTurnoverDataVO parkingTurnoverDataVO) startPage();
{ parkingTurnoverDataVO.setOrganCode(getUserOrganCode());
startPage(); List<ParkingTurnoverDataVO> list = parkingTurnoverDataService.parkingInAndOutDetails(parkingTurnoverDataVO);
parkingTurnoverDataVO.setOrganCode(getUserOrganCode()); return getDataTable(list);
List<ParkingTurnoverDataVO> list = parkingTurnoverDataService.parkingInAndOutDetails(parkingTurnoverDataVO); }
return getDataTable(list);
} /**
* 导出停车场出入明细
/** */
* 导出停车场出入明细 @Log(title = "停车场出入明细数据", businessType = BusinessType.EXPORT)
*/ @PostMapping("/parkingInAndOutDetailsExport")
@Log(title = "停车场出入明细数据", businessType = BusinessType.EXPORT) public void parkingInAndOutDetailsExport(HttpServletResponse response, @RequestBody ParkingTurnoverDataVO parkingTurnoverDataVO) {
@PostMapping("/parkingInAndOutDetailsExport") parkingTurnoverDataVO.setOrganCode(getUserOrganCode());
public void parkingInAndOutDetailsExport(HttpServletResponse response, @RequestBody ParkingTurnoverDataVO parkingTurnoverDataVO) List<ParkingTurnoverDataVO> list = parkingTurnoverDataService.parkingInAndOutDetails(parkingTurnoverDataVO);
{ ExcelUtil<ParkingTurnoverDataVO> util = new ExcelUtil<ParkingTurnoverDataVO>(ParkingTurnoverDataVO.class);
parkingTurnoverDataVO.setOrganCode(getUserOrganCode()); util.exportExcel(response, list, "停车场出入明细数据");
List<ParkingTurnoverDataVO> list = parkingTurnoverDataService.parkingInAndOutDetails(parkingTurnoverDataVO); }
ExcelUtil<ParkingTurnoverDataVO> util = new ExcelUtil<ParkingTurnoverDataVO>(ParkingTurnoverDataVO.class);
util.exportExcel(response, list, "停车场出入明细数据"); /**
} * 停车场出入汇总
/** */
*停车场出入汇总 @PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingLotAccessSummary')")
*/ @PostMapping("/parkingLotAccessSummary")
@PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingLotAccessSummary')") public TableDataInfo parkingLotAccessSummary(@RequestBody ParkingLotAccessSummaryVO parkingLotAccessSummaryVO) {
@PostMapping("/parkingLotAccessSummary") parkingLotAccessSummaryVO.setOrganCode(getUserOrganCode());
public TableDataInfo parkingLotAccessSummary(@RequestBody ParkingLotAccessSummaryVO parkingLotAccessSummaryVO) List<ParkingLotAccessSummaryVO> list = parkingTurnoverDataService.parkingLotAccessSummary(parkingLotAccessSummaryVO);
{ return getDataTable(list);
parkingLotAccessSummaryVO.setOrganCode(getUserOrganCode()); }
List<ParkingLotAccessSummaryVO> list = parkingTurnoverDataService.parkingLotAccessSummary(parkingLotAccessSummaryVO);
return getDataTable(list); /**
} * 停车场时长汇总
/** */
*停车场时长汇总 @PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingLotDurationSummary')")
*/ @PostMapping("/parkingLotDurationSummary")
@PreAuthorize("@ss.hasPermi('parking:turnoverData:parkingLotDurationSummary')") public TableDataInfo parkingLotDurationSummary(@RequestBody ParkingLotDurationSummaryVO parkingLotDurationSummaryVO) {
@PostMapping("/parkingLotDurationSummary") parkingLotDurationSummaryVO.setOrganCode(getUserOrganCode());
public TableDataInfo parkingLotDurationSummary(@RequestBody ParkingLotDurationSummaryVO parkingLotDurationSummaryVO) List<ParkingLotDurationSummaryVO> list = parkingTurnoverDataService.parkingLotDurationSummary(parkingLotDurationSummaryVO);
{ return getDataTable(list);
parkingLotDurationSummaryVO.setOrganCode(getUserOrganCode()); }
List<ParkingLotDurationSummaryVO> list = parkingTurnoverDataService.parkingLotDurationSummary(parkingLotDurationSummaryVO);
return getDataTable(list); /**
} * 启动服务日志
*
/** * @return
* */
* @param list @RequestMapping("/projectBeginingMsg")
* @return public AjaxResult projectBeginingMsg() {
*/ ParkingLotMsgEntity parkingLotMsgEntity = new ParkingLotMsgEntity();
@RequestMapping("/parkingLotSynchronousData") parkingLotMsgEntity.setName("停车场同步服务");
public AjaxResult parkingLotSynchronousData(@RequestBody List<CarParkData> list) { parkingLotMsgEntity.setMsg("服务启动");
String appearanceTime = configService.selectConfigByKey("car.park.appearance.time"); try {
try { parkingTurnoverDataService.saveProjectBeginingMsg(parkingLotMsgEntity);
processFactory.startProcess( list); return AjaxResult.success("接收成功");
return AjaxResult.success("接收成功",Long.parseLong(appearanceTime)); } catch (Exception e) {
}catch (Exception e){ return AjaxResult.error("接收数据异常");
return AjaxResult.error("接收数据异常",Long.parseLong(appearanceTime)); }
} }
}
/**
/** *
* *
* @param list * @param list
* @return * @return
*/ */
@RequestMapping("/parkingLotSynchronousAdmissionData") @RequestMapping("/parkingLotSynchronousData")
public AjaxResult parkingLotSynchronousAdmissionData(@RequestBody List<InParkRecords> list) { public AjaxResult parkingLotSynchronousData(@RequestBody List<CarParkData> list) {
String admissionTime = configService.selectConfigByKey("car.park.admission.time"); String appearanceTime = configService.selectConfigByKey("car.park.appearance.time");
try { try {
admissionDataprocessFactory.startAdmissionDataProcess( list); processFactory.startProcess(list);
return AjaxResult.success("接收成功",admissionTime); return AjaxResult.success("接收成功", Long.parseLong(appearanceTime));
}catch (Exception e){ } catch (Exception e) {
return AjaxResult.error("接收数据异常",admissionTime); return AjaxResult.error("接收数据异常", Long.parseLong(appearanceTime));
} }
} }
/**
*
*
* @param list
* @return
*/
@RequestMapping("/parkingLotSynchronousAdmissionData")
public AjaxResult parkingLotSynchronousAdmissionData(@RequestBody List<InParkRecords> list) {
String admissionTime = configService.selectConfigByKey("car.park.admission.time");
try {
admissionDataprocessFactory.startAdmissionDataProcess(list);
return AjaxResult.success("接收成功", admissionTime);
} catch (Exception e) {
return AjaxResult.error("接收数据异常", admissionTime);
}
}
} }

@ -0,0 +1,26 @@
package com.cjy.parking.domain;
/**
* @author liangjiawei
* @createDate 2023/9/6
*/
public class ParkingLotMsgEntity {
private String msg;
private String name;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

@ -3,6 +3,7 @@ package com.cjy.parking.mapper;
import java.util.List; import java.util.List;
import com.cjy.parking.domain.AttributionEntity; import com.cjy.parking.domain.AttributionEntity;
import com.cjy.parking.domain.ParkingLotMsgEntity;
import com.cjy.parking.domain.ParkingTurnoverData; import com.cjy.parking.domain.ParkingTurnoverData;
import com.cjy.parking.vo.ParkingLotAccessSummaryVO; import com.cjy.parking.vo.ParkingLotAccessSummaryVO;
import com.cjy.parking.vo.ParkingLotDurationSummaryVO; import com.cjy.parking.vo.ParkingLotDurationSummaryVO;
@ -11,119 +12,138 @@ import com.cjy.parking.vo.VehicleAttributionVO;
/** /**
* 停车场流水数据Mapper接口 * 停车场流水数据Mapper接口
* *
* @author ruoyi * @author ruoyi
* @date 2023-03-02 * @date 2023-03-02
*/ */
public interface ParkingTurnoverDataMapper public interface ParkingTurnoverDataMapper {
{ /**
/** * 查询停车场流水数据
* 查询停车场流水数据 *
* * @param id 停车场流水数据主键
* @param id 停车场流水数据主键 * @return 停车场流水数据
* @return 停车场流水数据 */
*/ public ParkingTurnoverData selectParkingTurnoverDataById(Long id);
public ParkingTurnoverData selectParkingTurnoverDataById(Long id);
/**
/** * 查询停车场流水数据列表
* 查询停车场流水数据列表 *
* * @param parkingTurnoverData 停车场流水数据
* @param parkingTurnoverData 停车场流水数据 * @return 停车场流水数据集合
* @return 停车场流水数据集合 */
*/ public List<ParkingTurnoverData> selectParkingTurnoverDataList(ParkingTurnoverData parkingTurnoverData);
public List<ParkingTurnoverData> selectParkingTurnoverDataList(ParkingTurnoverData parkingTurnoverData);
ParkingTurnoverData selectParkingTurnoverDataBy(String licensePlateNumber);
ParkingTurnoverData selectParkingTurnoverDataBy(String licensePlateNumber);
/**
/** * 停车场出入明细
* 停车场出入明细 *
* @param parkingTurnoverDataVO * @param parkingTurnoverDataVO
* @return * @return
*/ */
public List<ParkingTurnoverDataVO> parkingInAndOutDetails(ParkingTurnoverDataVO parkingTurnoverDataVO); public List<ParkingTurnoverDataVO> parkingInAndOutDetails(ParkingTurnoverDataVO parkingTurnoverDataVO);
/** /**
* 停车场出入汇总 * 停车场出入汇总
* @param parkingLotAccessSummaryVO *
* @return * @param parkingLotAccessSummaryVO
*/ * @return
public List<ParkingLotAccessSummaryVO> parkingLotAccessSummary(ParkingLotAccessSummaryVO parkingLotAccessSummaryVO); */
public List<ParkingLotAccessSummaryVO> parkingLotAccessSummary(ParkingLotAccessSummaryVO parkingLotAccessSummaryVO);
/**
* 停车场时长汇总 /**
* @param parkingLotDurationSummaryVO * 停车场时长汇总
* @return *
*/ * @param parkingLotDurationSummaryVO
public List<ParkingLotDurationSummaryVO> parkingLotDurationSummary(ParkingLotDurationSummaryVO parkingLotDurationSummaryVO); * @return
/** */
* 新增停车场流水数据 public List<ParkingLotDurationSummaryVO> parkingLotDurationSummary(ParkingLotDurationSummaryVO parkingLotDurationSummaryVO);
*
* @param parkingTurnoverData 停车场流水数据 /**
* @return 结果 * 新增停车场流水数据
*/ *
public int insertParkingTurnoverData(ParkingTurnoverData parkingTurnoverData); * @param parkingTurnoverData 停车场流水数据
* @return 结果
/** */
* 获取归属地 public int insertParkingTurnoverData(ParkingTurnoverData parkingTurnoverData);
* @return
*/ /**
List<AttributionEntity>getAttribution(); * 获取归属地
*
/** * @return
* 获取父级编码 */
* @param regionId List<AttributionEntity> getAttribution();
* @return
*/ /**
String getRegionCode(String regionId); * 获取父级编码
/** *
* 修改停车场流水数据 * @param regionId
* * @return
* @param parkingTurnoverData 停车场流水数据 */
* @return 结果 String getRegionCode(String regionId);
*/
public int updateParkingTurnoverData(ParkingTurnoverData parkingTurnoverData); /**
* 修改停车场流水数据
/** *
* 删除停车场流水数据 * @param parkingTurnoverData 停车场流水数据
* * @return 结果
* @param id 停车场流水数据主键 */
* @return 结果 public int updateParkingTurnoverData(ParkingTurnoverData parkingTurnoverData);
*/
public int deleteParkingTurnoverDataById(Long id); /**
* 删除停车场流水数据
/** *
* 批量删除停车场流水数据 * @param id 停车场流水数据主键
* * @return 结果
* @param ids 需要删除的数据主键集合 */
* @return 结果 public int deleteParkingTurnoverDataById(Long id);
*/
public int deleteParkingTurnoverDataByIds(Long[] ids); /**
* 批量删除停车场流水数据
/** *
* 获取车辆归属地 * @param ids 需要删除的数据主键集合
* @return * @return 结果
*/ */
List<VehicleAttributionVO> vehicleAttributionList(); public int deleteParkingTurnoverDataByIds(Long[] ids);
/** /**
* 查询是否有该停车场的 剩余车位信息 * 获取车辆归属地
* @param parkingTurnoverData *
* @return * @return
*/ */
int getParkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData); List<VehicleAttributionVO> vehicleAttributionList();
/** /**
* 修改该停车场的 剩余车位信息 * 查询是否有该停车场的 剩余车位信息
* @param parkingTurnoverData *
* @return * @param parkingTurnoverData
*/ * @return
int updateParkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData); */
int updateParkingLotParkingSpaceInfoCountReduce(ParkingTurnoverData parkingTurnoverData); int getParkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData);
/** /**
* 添加该停车场的 剩余车位信息 * 修改该停车场的 剩余车位信息
* @param parkingTurnoverData *
* @return * @param parkingTurnoverData
*/ * @return
int installPkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData); */
int updateParkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData);
int updateParkingLotParkingSpaceInfoCountReduce(ParkingTurnoverData parkingTurnoverData);
/**
* 添加该停车场的 剩余车位信息
*
* @param parkingTurnoverData
* @return
*/
int installPkingLotParkingSpaceInfoCount(ParkingTurnoverData parkingTurnoverData);
/**
* 启动服务日志
*
* @param parkingLotMsgEntity
* @return
*/
int saveProjectBeginingMsg(ParkingLotMsgEntity parkingLotMsgEntity);
} }

@ -4,6 +4,7 @@ import java.util.List;
import com.cjy.parking.domain.CarParkData; import com.cjy.parking.domain.CarParkData;
import com.cjy.parking.domain.InParkRecords; import com.cjy.parking.domain.InParkRecords;
import com.cjy.parking.domain.ParkingLotMsgEntity;
import com.cjy.parking.domain.ParkingTurnoverData; import com.cjy.parking.domain.ParkingTurnoverData;
import com.cjy.parking.vo.ParkingLotAccessSummaryVO; import com.cjy.parking.vo.ParkingLotAccessSummaryVO;
import com.cjy.parking.vo.ParkingLotDurationSummaryVO; import com.cjy.parking.vo.ParkingLotDurationSummaryVO;
@ -13,98 +14,111 @@ import org.springframework.web.bind.annotation.RequestBody;
/** /**
* 停车场流水数据Service接口 * 停车场流水数据Service接口
* *
* @author ruoyi * @author ruoyi
* @date 2023-03-02 * @date 2023-03-02
*/ */
public interface IParkingTurnoverDataService public interface IParkingTurnoverDataService {
{ /**
/** * 查询停车场流水数据
* 查询停车场流水数据 *
* * @param id 停车场流水数据主键
* @param id 停车场流水数据主键 * @return 停车场流水数据
* @return 停车场流水数据 */
*/ public ParkingTurnoverData selectParkingTurnoverDataById(Long id);
public ParkingTurnoverData selectParkingTurnoverDataById(Long id);
/**
/** * 查询停车场流水数据列表
* 查询停车场流水数据列表 *
* * @param parkingTurnoverData 停车场流水数据
* @param parkingTurnoverData 停车场流水数据 * @return 停车场流水数据集合
* @return 停车场流水数据集合 */
*/ public List<ParkingTurnoverData> selectParkingTurnoverDataList(ParkingTurnoverData parkingTurnoverData);
public List<ParkingTurnoverData> selectParkingTurnoverDataList(ParkingTurnoverData parkingTurnoverData);
/**
/** * 停车场出入明细
* 停车场出入明细 *
* @param parkingTurnoverDataVO * @param parkingTurnoverDataVO
* @return * @return
*/ */
public List<ParkingTurnoverDataVO> parkingInAndOutDetails(ParkingTurnoverDataVO parkingTurnoverDataVO); public List<ParkingTurnoverDataVO> parkingInAndOutDetails(ParkingTurnoverDataVO parkingTurnoverDataVO);
/** /**
* 停车场出入汇总 * 停车场出入汇总
* @param parkingLotAccessSummaryVO *
* @return * @param parkingLotAccessSummaryVO
*/ * @return
public List<ParkingLotAccessSummaryVO> parkingLotAccessSummary(ParkingLotAccessSummaryVO parkingLotAccessSummaryVO); */
public List<ParkingLotAccessSummaryVO> parkingLotAccessSummary(ParkingLotAccessSummaryVO parkingLotAccessSummaryVO);
/**
* 停车场时长汇总 /**
* @param parkingLotDurationSummaryVO * 停车场时长汇总
* @return *
*/ * @param parkingLotDurationSummaryVO
public List<ParkingLotDurationSummaryVO> parkingLotDurationSummary(ParkingLotDurationSummaryVO parkingLotDurationSummaryVO); * @return
*/
/** public List<ParkingLotDurationSummaryVO> parkingLotDurationSummary(ParkingLotDurationSummaryVO parkingLotDurationSummaryVO);
* 新增停车场流水数据
* /**
* @param parkingTurnoverData 停车场流水数据 * 启动服务日志
* @return 结果 *
*/ * @param parkingLotMsgEntity
public int insertParkingTurnoverData(ParkingTurnoverData parkingTurnoverData); * @return
*/
/** int saveProjectBeginingMsg(ParkingLotMsgEntity parkingLotMsgEntity);
* 修改停车场流水数据
* /**
* @param parkingTurnoverData 停车场流水数据 * 新增停车场流水数据
* @return 结果 *
*/ * @param parkingTurnoverData 停车场流水数据
public int updateParkingTurnoverData(ParkingTurnoverData parkingTurnoverData); * @return 结果
*/
/** public int insertParkingTurnoverData(ParkingTurnoverData parkingTurnoverData);
* 批量删除停车场流水数据
* /**
* @param ids 需要删除的停车场流水数据主键集合 * 修改停车场流水数据
* @return 结果 *
*/ * @param parkingTurnoverData 停车场流水数据
public int deleteParkingTurnoverDataByIds(Long[] ids); * @return 结果
*/
/** public int updateParkingTurnoverData(ParkingTurnoverData parkingTurnoverData);
* 删除停车场流水数据信息
* /**
* @param id 停车场流水数据主键 * 批量删除停车场流水数据
* @return 结果 *
*/ * @param ids 需要删除的停车场流水数据主键集合
public int deleteParkingTurnoverDataById(Long id); * @return 结果
*/
/** public int deleteParkingTurnoverDataByIds(Long[] ids);
* 获取车辆归属地
* @return /**
*/ * 删除停车场流水数据信息
List<VehicleAttributionVO> vehicleAttributionList(); *
* @param id 停车场流水数据主键
* @return 结果
/** */
* 批量同步处理数据 public int deleteParkingTurnoverDataById(Long id);
* @param list
* @return /**
*/ * 获取车辆归属地
void saveParkingLotSynchronousData(List<CarParkData> list); *
* @return
/** */
* 同步入场数据 List<VehicleAttributionVO> vehicleAttributionList();
* @param list
*/
void parkingLotSynchronousAdmissionData(List<InParkRecords> list); /**
* 批量同步处理数据
*
* @param list
* @return
*/
void saveParkingLotSynchronousData(List<CarParkData> list);
/**
* 同步入场数据
*
* @param list
*/
void parkingLotSynchronousAdmissionData(List<InParkRecords> list);
} }

@ -7,9 +7,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.cjy.parking.domain.AttributionEntity; import com.cjy.parking.domain.*;
import com.cjy.parking.domain.CarParkData;
import com.cjy.parking.domain.InParkRecords;
import com.cjy.parking.util.GetAttribution; import com.cjy.parking.util.GetAttribution;
import com.cjy.parking.vo.ParkingLotAccessSummaryVO; import com.cjy.parking.vo.ParkingLotAccessSummaryVO;
import com.cjy.parking.vo.ParkingLotDurationSummaryVO; import com.cjy.parking.vo.ParkingLotDurationSummaryVO;
@ -23,7 +21,6 @@ import com.ruoyi.system.service.ISysDictDataService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.cjy.parking.mapper.ParkingTurnoverDataMapper; import com.cjy.parking.mapper.ParkingTurnoverDataMapper;
import com.cjy.parking.domain.ParkingTurnoverData;
import com.cjy.parking.service.IParkingTurnoverDataService; import com.cjy.parking.service.IParkingTurnoverDataService;
/** /**
@ -42,6 +39,7 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
private ISysDictDataService sysDictDataService; private ISysDictDataService sysDictDataService;
@Autowired @Autowired
private SysDictDataMapper sysDictDataMapper; private SysDictDataMapper sysDictDataMapper;
/** /**
* 查询停车场流水数据 * 查询停车场流水数据
* *
@ -186,16 +184,16 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
//判断是否有数据 如果有install 如果没有install //判断是否有数据 如果有install 如果没有install
if (parkingTurnoverDataMapper.getParkingLotParkingSpaceInfoCount(parkingTurnoverData) > 0) { if (parkingTurnoverDataMapper.getParkingLotParkingSpaceInfoCount(parkingTurnoverData) > 0) {
//如果是入场 //如果是入场
if(parkingTurnoverData.getCutsceneType().equals("1")){ if (parkingTurnoverData.getCutsceneType().equals("1")) {
// 占用车位+1 // 占用车位+1
parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCount(parkingTurnoverData); parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCount(parkingTurnoverData);
}else { } else {
// 占用车位-1 // 占用车位-1
parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCountReduce(parkingTurnoverData); parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCountReduce(parkingTurnoverData);
} }
} else { } else {
//如果是入场 //如果是入场
if(parkingTurnoverData.getCutsceneType().equals("1")){ if (parkingTurnoverData.getCutsceneType().equals("1")) {
parkingTurnoverData.setOccupyParkingSpace(1); parkingTurnoverData.setOccupyParkingSpace(1);
parkingTurnoverDataMapper.installPkingLotParkingSpaceInfoCount(parkingTurnoverData); parkingTurnoverDataMapper.installPkingLotParkingSpaceInfoCount(parkingTurnoverData);
} }
@ -237,18 +235,18 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
if (parkingTurnoverDataMapper.getParkingLotParkingSpaceInfoCount(parkingTurnoverData) > 0) { if (parkingTurnoverDataMapper.getParkingLotParkingSpaceInfoCount(parkingTurnoverData) > 0) {
//如果是入场 //如果是入场
if(parkingTurnoverData.getCutsceneType().equals("1")){ if (parkingTurnoverData.getCutsceneType().equals("1")) {
// 占用车位+1 // 占用车位+1
parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCount(parkingTurnoverData); parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCount(parkingTurnoverData);
}else { } else {
// 占用车位-1 // 占用车位-1
parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCountReduce(parkingTurnoverData); parkingTurnoverDataMapper.updateParkingLotParkingSpaceInfoCountReduce(parkingTurnoverData);
} }
} else { } else {
//如果是入场 //如果是入场
if(parkingTurnoverData.getCutsceneType().equals("1")){ if (parkingTurnoverData.getCutsceneType().equals("1")) {
parkingTurnoverData.setOccupyParkingSpace(1); parkingTurnoverData.setOccupyParkingSpace(1);
parkingTurnoverDataMapper.installPkingLotParkingSpaceInfoCount(parkingTurnoverData); parkingTurnoverDataMapper.installPkingLotParkingSpaceInfoCount(parkingTurnoverData);
} }
} }
@ -299,6 +297,7 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
/** /**
* *
*
* @param list * @param list
*/ */
@Override @Override
@ -336,10 +335,10 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
parkingTurnoverData.setLicensePlateNumber(item.getPlateNumber()); parkingTurnoverData.setLicensePlateNumber(item.getPlateNumber());
//车牌颜色 //车牌颜色
List<SysDictData> toiletTypes = sysDictDataMapper.selectDictDataByType("license_plate_color"); List<SysDictData> toiletTypes = sysDictDataMapper.selectDictDataByType("license_plate_color");
SysDictData sysDictData = toiletTypes.stream().filter(i ->i.getDictLabel().equals(item.getPlateColor())).findAny().orElse(null); SysDictData sysDictData = toiletTypes.stream().filter(i -> i.getDictLabel().equals(item.getPlateColor())).findAny().orElse(null);
if(sysDictData==null){ if (sysDictData == null) {
parkingTurnoverData.setLicensePlateColor("99"); parkingTurnoverData.setLicensePlateColor("99");
}else { } else {
parkingTurnoverData.setLicensePlateColor(sysDictData.getDictValue()); parkingTurnoverData.setLicensePlateColor(sysDictData.getDictValue());
} }
@ -354,6 +353,7 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
/** /**
* *
*
* @param list * @param list
*/ */
@Override @Override
@ -380,10 +380,10 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
parkingTurnoverData.setLicensePlateNumber(item.getPlateNumber()); parkingTurnoverData.setLicensePlateNumber(item.getPlateNumber());
//车牌颜色 //车牌颜色
List<SysDictData> toiletTypes = sysDictDataMapper.selectDictDataByType("license_plate_color"); List<SysDictData> toiletTypes = sysDictDataMapper.selectDictDataByType("license_plate_color");
SysDictData sysDictData = toiletTypes.stream().filter(i ->i.getDictLabel().equals(item.getPlateColor())).findAny().orElse(null); SysDictData sysDictData = toiletTypes.stream().filter(i -> i.getDictLabel().equals(item.getPlateColor())).findAny().orElse(null);
if(sysDictData==null){ if (sysDictData == null) {
parkingTurnoverData.setLicensePlateColor("99"); parkingTurnoverData.setLicensePlateColor("99");
}else { } else {
parkingTurnoverData.setLicensePlateColor(sysDictData.getDictValue()); parkingTurnoverData.setLicensePlateColor(sysDictData.getDictValue());
} }
//企业标识 //企业标识
@ -392,4 +392,14 @@ public class ParkingTurnoverDataServiceImpl implements IParkingTurnoverDataServi
this.insertParkingTurnoverData(parkingTurnoverData); this.insertParkingTurnoverData(parkingTurnoverData);
}); });
} }
/***
* 启动服务日志
* @param parkingLotMsgEntity
* @return
*/
@Override
public int saveProjectBeginingMsg(ParkingLotMsgEntity parkingLotMsgEntity) {
return parkingTurnoverDataMapper.saveProjectBeginingMsg(parkingLotMsgEntity);
}
} }

@ -310,6 +310,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
VALUES ( VALUES (
#{parkingLotId}, #{remainingParkingSpace}, #{occupyParkingSpace}, #{organCode}) #{parkingLotId}, #{remainingParkingSpace}, #{occupyParkingSpace}, #{organCode})
</insert> </insert>
<insert id="saveProjectBeginingMsg">
INSERT INTO parking_lot_msg (`name`, msg) VALUES (#{name},#{msg})
</insert>
<update id="updateParkingTurnoverData" parameterType="ParkingTurnoverData"> <update id="updateParkingTurnoverData" parameterType="ParkingTurnoverData">
update parking_turnover_data update parking_turnover_data

@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 过滤请求 // 过滤请求
.authorizeRequests() .authorizeRequests()
// 对于登录login 注册register 验证码captchaImage 允许匿名访问 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
.antMatchers("/parking/turnoverData/parkingLotSynchronousAdmissionData","/parking/turnoverData/parkingLotSynchronousData","/device/**","/login", "/register", "/captchaImage","/enterprise/loginPageConfig","/app/login","/douyin/**","/weibo/**","/reservationdata/appointmentrecord/synchronousData","/reservationdata/appointmentrecord/synchronousWriteOffData","/reservationdata/appointmentrecord/synchronousCancelData","/marketingData/complaint/synchronous").permitAll() .antMatchers("/parking/turnoverData/parkingLotSynchronousAdmissionData","/parking/turnoverData/parkingLotSynchronousData","/device/**","/login", "/register", "/captchaImage","/enterprise/loginPageConfig","/app/login","/douyin/**","/weibo/**","/reservationdata/appointmentrecord/synchronousData","/reservationdata/appointmentrecord/synchronousWriteOffData","/reservationdata/appointmentrecord/synchronousCancelData","/marketingData/complaint/synchronous","/parking/turnoverData/projectBeginingMsg").permitAll()
// 静态资源,可匿名访问 // 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/**/*.xlsx").permitAll() .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/**/*.xlsx").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

Loading…
Cancel
Save