|
@@ -8,6 +8,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.qmrb.system.common.constant.SystemConstants;
|
|
|
import com.qmrb.system.common.result.PageResult;
|
|
|
import com.qmrb.system.converter.ContractPlaceNumberRelConverter;
|
|
|
import com.qmrb.system.framework.security.util.SecurityUtils;
|
|
@@ -20,6 +21,7 @@ import com.qmrb.system.pojo.vo.ContractPlaceNumberRelHisVO;
|
|
|
import com.qmrb.system.pojo.vo.ContractPlaceNumberRelVO;
|
|
|
import com.qmrb.system.pojo.query.ContractPlaceNumberRelQuery;
|
|
|
import com.qmrb.system.mapper.ContractPlaceNumberRelMapper;
|
|
|
+import com.qmrb.system.pojo.vo.PayOrderVO;
|
|
|
import com.qmrb.system.service.IContractPlaceNumberRelHisService;
|
|
|
import com.qmrb.system.service.IContractPlaceNumberRelService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -41,6 +43,7 @@ import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -58,7 +61,7 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
|
|
|
@Autowired
|
|
|
SysUserService userService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
BarnRecordMapper barnRecordMapper;
|
|
|
|
|
@@ -72,56 +75,64 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
*/
|
|
|
@Override
|
|
|
public Page<ContractPlaceNumberRelVO> getPage(ContractPlaceNumberRelQuery queryParams) {
|
|
|
+ Page<ContractPlaceNumberRelVO> pageResult = new Page<>();
|
|
|
// 查询参数
|
|
|
int pageNum = queryParams.getPageNum();
|
|
|
int pageSize = queryParams.getPageSize();
|
|
|
- // Integer status = queryParams.getStatus();
|
|
|
- // String keywords = queryParams.getKeywords();
|
|
|
+ // 获取用户信息
|
|
|
SysUser sysUser = userService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
- .eq(SysUser::getId, SecurityUtils.getUserId())
|
|
|
+ .eq(SysUser::getId, SecurityUtils.getUserId())
|
|
|
// .eq(SysUser::getUserType, "3")//用户类型 1 系统用户 2扫码协议用户 3 包租协议用户
|
|
|
);
|
|
|
- // 获取启用状态的车牌数据
|
|
|
- List<ContractPlaceNumberRel> list = this.list(new LambdaQueryWrapper<ContractPlaceNumberRel>()
|
|
|
- .eq(ContractPlaceNumberRel::getContractId, sysUser.getContractId())
|
|
|
- .eq(ContractPlaceNumberRel::getStatus, "1")
|
|
|
- );
|
|
|
- // 查询数据
|
|
|
- Page<ContractPlaceNumberRel> dictItemPage = this.page(
|
|
|
- new Page<>(pageNum, pageSize),
|
|
|
- new LambdaQueryWrapper<ContractPlaceNumberRel>()
|
|
|
- .eq(sysUser != null, ContractPlaceNumberRel::getContractId, sysUser.getContractId())
|
|
|
- .orderByDesc(ContractPlaceNumberRel::getStartTime)
|
|
|
-
|
|
|
- //.like(StrUtil.isNotBlank(keywords), ContractPlaceNumberRel::getCategoryName, keywords)
|
|
|
- );
|
|
|
-
|
|
|
- // 实体转换
|
|
|
- Page<ContractPlaceNumberRelVO> pageResult = converter.entity2Page(dictItemPage);
|
|
|
- // 获取车位上限
|
|
|
- Contract contract = contractService.getOne(new LambdaQueryWrapper<Contract>().eq(Contract::getId, sysUser.getContractId()));
|
|
|
- List<ContractPlaceNumberRelVO> records = pageResult.getRecords();
|
|
|
- // 空值创建一个信息
|
|
|
- if (CollectionUtil.isEmpty(records)) {
|
|
|
- ContractPlaceNumberRelVO contractPlaceNumberRelVO = new ContractPlaceNumberRelVO();
|
|
|
- contractPlaceNumberRelVO.setContractId(sysUser.getContractId());
|
|
|
- contractPlaceNumberRelVO.setAbledNum("1");
|
|
|
- contractPlaceNumberRelVO.setStatus("1");
|
|
|
- // 车位上限 大型车位 小型车位
|
|
|
- contractPlaceNumberRelVO.setMaxParkingLotNum(contract.getMaxParkingLotNum());
|
|
|
- contractPlaceNumberRelVO.setBigParkingLotNum(contract.getBigParkingLotNum());
|
|
|
- contractPlaceNumberRelVO.setSmallParkingLotNum(contract.getSmallParkingLotNum());
|
|
|
- records.add(contractPlaceNumberRelVO);
|
|
|
- }else{
|
|
|
- for (ContractPlaceNumberRelVO record : records) {
|
|
|
- record.setAbledNum(String.valueOf(list.size()));
|
|
|
+ // 获取用户角色信息
|
|
|
+ Set<String> roles = SecurityUtils.getRoles();
|
|
|
+ String role = "";
|
|
|
+ // 管理员查看所有车牌登记情况
|
|
|
+ if (roles.contains("ADMIN")) {
|
|
|
+ role = "ADMIN";
|
|
|
+ pageResult = baseMapper.getAdminPage(new Page<>(pageNum, pageSize), role, sysUser,queryParams);
|
|
|
+ List<ContractPlaceNumberRelVO> records = pageResult.getRecords();
|
|
|
+ if (CollectionUtil.isNotEmpty(records)) {
|
|
|
+ records.get(0).setRole(role);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 获取启用状态的车牌数据
|
|
|
+ List<ContractPlaceNumberRel> list = this.list(new LambdaQueryWrapper<ContractPlaceNumberRel>()
|
|
|
+ .eq(ContractPlaceNumberRel::getContractId, sysUser.getContractId())
|
|
|
+ .eq(ContractPlaceNumberRel::getStatus, "1")
|
|
|
+ );
|
|
|
+ // 查询数据
|
|
|
+ Page<ContractPlaceNumberRel> dictItemPage = this.page(
|
|
|
+ new Page<>(pageNum, pageSize),
|
|
|
+ new LambdaQueryWrapper<ContractPlaceNumberRel>()
|
|
|
+ .eq(sysUser != null, ContractPlaceNumberRel::getContractId, sysUser.getContractId())
|
|
|
+ .orderByDesc(ContractPlaceNumberRel::getStartTime)
|
|
|
+ );
|
|
|
+ // 实体转换
|
|
|
+ pageResult = converter.entity2Page(dictItemPage);
|
|
|
+ // 获取车位上限
|
|
|
+ Contract contract = contractService.getOne(new LambdaQueryWrapper<Contract>().eq(Contract::getId, sysUser.getContractId()));
|
|
|
+ List<ContractPlaceNumberRelVO> records = pageResult.getRecords();
|
|
|
+ if (CollectionUtil.isEmpty(records)) {
|
|
|
+ ContractPlaceNumberRelVO contractPlaceNumberRelVO = new ContractPlaceNumberRelVO();
|
|
|
+ contractPlaceNumberRelVO.setContractId(sysUser.getContractId());
|
|
|
+ contractPlaceNumberRelVO.setAbledNum("1");
|
|
|
+ contractPlaceNumberRelVO.setStatus("1");
|
|
|
// 车位上限 大型车位 小型车位
|
|
|
- record.setMaxParkingLotNum(contract.getMaxParkingLotNum());
|
|
|
- record.setBigParkingLotNum(contract.getBigParkingLotNum());
|
|
|
- record.setSmallParkingLotNum(contract.getSmallParkingLotNum());
|
|
|
+ contractPlaceNumberRelVO.setMaxParkingLotNum(contract.getMaxParkingLotNum());
|
|
|
+ contractPlaceNumberRelVO.setBigParkingLotNum(contract.getBigParkingLotNum());
|
|
|
+ contractPlaceNumberRelVO.setSmallParkingLotNum(contract.getSmallParkingLotNum());
|
|
|
+ records.add(contractPlaceNumberRelVO);
|
|
|
+ } else {
|
|
|
+ for (ContractPlaceNumberRelVO record : records) {
|
|
|
+ record.setAbledNum(String.valueOf(list.size()));
|
|
|
+ // 车位上限 大型车位 小型车位
|
|
|
+ record.setMaxParkingLotNum(contract.getMaxParkingLotNum());
|
|
|
+ record.setBigParkingLotNum(contract.getBigParkingLotNum());
|
|
|
+ record.setSmallParkingLotNum(contract.getSmallParkingLotNum());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return pageResult;
|
|
|
}
|
|
|
|
|
@@ -139,8 +150,8 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
if (save) {
|
|
|
// 更新历史记录表
|
|
|
ContractPlaceNumberRelHis contractPlaceNumberRelHis = new ContractPlaceNumberRelHis();
|
|
|
- BeanUtils.copyProperties(form,contractPlaceNumberRelHis,"id");
|
|
|
- contractPlaceNumberRelHis.setStatus("3");//0停用1启用 2到期 3新增 4删除 5修改
|
|
|
+ BeanUtils.copyProperties(form, contractPlaceNumberRelHis, "id");
|
|
|
+ contractPlaceNumberRelHis.setStatus("3");// 0停用1启用 2到期 3新增 4删除 5修改
|
|
|
contractPlaceNumberRelHisService.save(contractPlaceNumberRelHis);
|
|
|
}
|
|
|
ContractPlaceNumberRelForm result = converter.entity2Form(entity);
|
|
@@ -155,11 +166,11 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
ContractPlaceNumberRel entity = converter.form2Entity(form);
|
|
|
entity.setId(id);
|
|
|
boolean result = this.updateById(entity);
|
|
|
- if (result){
|
|
|
+ if (result) {
|
|
|
// 更新历史记录表
|
|
|
ContractPlaceNumberRelHis contractPlaceNumberRelHis = new ContractPlaceNumberRelHis();
|
|
|
- BeanUtils.copyProperties(form,contractPlaceNumberRelHis,"id");
|
|
|
- contractPlaceNumberRelHis.setStatus(form.getUpdateStatus());//0停用1启用 2到期 3新增 4删除 5修改
|
|
|
+ BeanUtils.copyProperties(form, contractPlaceNumberRelHis, "id");
|
|
|
+ contractPlaceNumberRelHis.setStatus(form.getUpdateStatus());// 0停用1启用 2到期 3新增 4删除 5修改
|
|
|
boolean save = contractPlaceNumberRelHisService.save(contractPlaceNumberRelHis);
|
|
|
|
|
|
}
|
|
@@ -228,27 +239,27 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String,Object> getDenomination(Long recordId) {
|
|
|
+ public Map<String, Object> getDenomination(Long recordId) {
|
|
|
BarnRecord barnRecord = barnRecordMapper.selectById(recordId);
|
|
|
- if(barnRecord == null || barnRecord.getOutTime() != null){
|
|
|
- return null;
|
|
|
+ if (barnRecord == null || barnRecord.getOutTime() != null) {
|
|
|
+ return null;
|
|
|
}
|
|
|
// 将 Date 转换为 Instant
|
|
|
Instant instant = barnRecord.getInTime().toInstant();
|
|
|
|
|
|
// 将 Instant 转换为 LocalDateTime(假设使用系统默认时区)
|
|
|
LocalDateTime inDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
-
|
|
|
+
|
|
|
LambdaQueryWrapper<ContractPlaceNumberRel> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ContractPlaceNumberRel::getPlateNumber,barnRecord.getPlaceNo());
|
|
|
- queryWrapper.eq(ContractPlaceNumberRel::getStatus,"1");//0停用1启用 2到期
|
|
|
-
|
|
|
- //当前时间应大于包租协议开始日,小于结束日
|
|
|
+ queryWrapper.eq(ContractPlaceNumberRel::getPlateNumber, barnRecord.getPlaceNo());
|
|
|
+ queryWrapper.eq(ContractPlaceNumberRel::getStatus, "1");// 0停用1启用 2到期
|
|
|
+
|
|
|
+ // 当前时间应大于包租协议开始日,小于结束日
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
- queryWrapper.lt(ContractPlaceNumberRel::getEndTime,inDateTime);//0停用1启用 2到期
|
|
|
- queryWrapper.gt(ContractPlaceNumberRel::getStartTime,now);//0停用1启用 2到期
|
|
|
+ queryWrapper.lt(ContractPlaceNumberRel::getEndTime, inDateTime);// 0停用1启用 2到期
|
|
|
+ queryWrapper.gt(ContractPlaceNumberRel::getStartTime, now);// 0停用1启用 2到期
|
|
|
List<ContractPlaceNumberRel> list = this.list(queryWrapper);
|
|
|
- if(CollectionUtil.isNotEmpty(list)){
|
|
|
+ if (CollectionUtil.isNotEmpty(list)) {
|
|
|
ContractPlaceNumberRel contractPlaceNumberRel = list.get(0);
|
|
|
long between = DateUtil.between(contractPlaceNumberRel.getStartTime(), new Date(), DateUnit.MINUTE);
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
@@ -258,8 +269,8 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace
|
|
|
|
|
|
// 将 Instant 转换为 LocalDateTime(假设使用系统默认时区)
|
|
|
LocalDateTime endTime = endTimeinstant.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
|
|
- map.put("denomination",Double.valueOf(between));
|
|
|
- map.put("expireTime",endTime);
|
|
|
+ map.put("denomination", Double.valueOf(between));
|
|
|
+ map.put("expireTime", endTime);
|
|
|
return map;
|
|
|
}
|
|
|
return null;
|