关锁:更新车辆位置

This commit is contained in:
attiya 2025-12-18 15:38:40 +08:00
parent 7a4c4be90a
commit 0ba57aab7a
5 changed files with 56 additions and 18 deletions

View File

@ -7,6 +7,7 @@ import com.ebike.feign.config.ExampleFeignConfiguration;
import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.dto.FeignEbikeDto;
import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo; import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
import com.ebike.feign.model.dto.FeignEbikeUserLockDto; import com.ebike.feign.model.dto.FeignEbikeUserLockDto;
import com.ebike.feign.model.vo.EbikeLockVo;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.ebike.feign.model.vo.FeignInspectionSwapOrderVo; import com.ebike.feign.model.vo.FeignInspectionSwapOrderVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -46,8 +47,8 @@ public interface OperationsFeignClient {
* *
* @return 结果 * @return 结果
*/ */
@GetMapping("/ebikeBikeInfo/api/lock") @PostMapping("/ebikeBikeInfo/api/lock")
JsonResult<FeignEbikeUserLockDto> lock(@RequestParam("bikeCode")String bikeCode); JsonResult<FeignEbikeUserLockDto> lock(@RequestBody EbikeLockVo lockVo);
/** /**
* 用户获取车辆详情及其计费规则 * 用户获取车辆详情及其计费规则

View File

@ -0,0 +1,39 @@
package com.ebike.feign.model.vo;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.postgresql.geometric.PGpoint;
import java.io.Serial;
import java.io.Serializable;
/**
* 中控基本信息 实体类
*
* @author attiya
* @since 2025-09-15
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EbikeLockVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 车辆编号
*/
@NotNull(message = "车辆编号不能为空")
private String bikeCode;
@NotNull(message = "车辆当前位置不能为空")
private PGpoint point;
}

View File

@ -7,11 +7,9 @@ import com.cdzy.operations.model.dto.EbikeBikeInfoDto;
import com.cdzy.operations.model.dto.EbikeDto; import com.cdzy.operations.model.dto.EbikeDto;
import com.cdzy.operations.model.dto.EbikeUserBikeInfo; import com.cdzy.operations.model.dto.EbikeUserBikeInfo;
import com.cdzy.operations.model.dto.EbikeUserLockDto; import com.cdzy.operations.model.dto.EbikeUserLockDto;
import com.cdzy.operations.model.vo.EbikeBatchLaunchVo; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.model.vo.EbikeBatchUnLaunchVo;
import com.cdzy.operations.model.vo.EbikeBikeBindVo;
import com.cdzy.operations.model.vo.EbikeBikeRadiusVo;
import com.cdzy.operations.service.EbikeBikeInfoService; import com.cdzy.operations.service.EbikeBikeInfoService;
import com.ebike.feign.model.vo.EbikeLockVo;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -119,9 +117,9 @@ public class EbikeBikeInfoController {
* *
* @return 结果 * @return 结果
*/ */
@GetMapping("/api/lock") @PostMapping("/api/lock")
public JsonResult<?> lock(@RequestParam("bikeCode") String bikeCode) { public JsonResult<?> lock(@RequestBody @Validated EbikeLockVo lockVo) {
EbikeUserLockDto result = ebikeBikeInfoService.lock(bikeCode); EbikeUserLockDto result = ebikeBikeInfoService.lock(lockVo);
return JsonResult.success(result); return JsonResult.success(result);
} }

View File

@ -7,10 +7,8 @@ import com.cdzy.operations.model.dto.EbikeDto;
import com.cdzy.operations.model.dto.EbikeUserBikeInfo; import com.cdzy.operations.model.dto.EbikeUserBikeInfo;
import com.cdzy.operations.model.dto.EbikeUserLockDto; import com.cdzy.operations.model.dto.EbikeUserLockDto;
import com.cdzy.operations.model.entity.EbikeBikeInfo; import com.cdzy.operations.model.entity.EbikeBikeInfo;
import com.cdzy.operations.model.vo.EbikeBatchLaunchVo; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.model.vo.EbikeBatchUnLaunchVo; import com.ebike.feign.model.vo.EbikeLockVo;
import com.cdzy.operations.model.vo.EbikeBikeBindVo;
import com.cdzy.operations.model.vo.EbikeBikeRadiusVo;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import org.postgresql.geometric.PGpolygon; import org.postgresql.geometric.PGpolygon;
@ -86,9 +84,9 @@ public interface EbikeBikeInfoService extends IService<EbikeBikeInfo> {
/** /**
* 用户关锁 * 用户关锁
* @param bikeCode 车辆编号 * @param lockVo 车辆信息
*/ */
EbikeUserLockDto lock(String bikeCode); EbikeUserLockDto lock(EbikeLockVo lockVo);
/** /**
* 中控换绑 * 中控换绑

View File

@ -14,6 +14,7 @@ import com.cdzy.operations.model.entity.*;
import com.cdzy.operations.model.vo.*; import com.cdzy.operations.model.vo.*;
import com.cdzy.operations.service.*; import com.cdzy.operations.service.*;
import com.cdzy.operations.utils.RedisUtil; import com.cdzy.operations.utils.RedisUtil;
import com.ebike.feign.model.vo.EbikeLockVo;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.core.update.UpdateChain;
@ -463,11 +464,12 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
} }
@Override @Override
public EbikeUserLockDto lock(String bikeCode) { public EbikeUserLockDto lock(EbikeLockVo lockVo) {
String bikeCode = lockVo.getBikeCode();
QueryWrapper query = QueryWrapper.create() QueryWrapper query = QueryWrapper.create()
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode)); .where(EBIKE_BIKE_INFO.BIKE_CODE.eq(lockVo));
EbikeBikeInfo info = this.mapper.selectOneByQuery(query); EbikeBikeInfo info = this.mapper.selectOneByQuery(query);
info.setLocation(lockVo.getPoint());
EbikeEcuInfo ebikeEcuInfo = ebikeEcuInfoService.getEcu(bikeCode); EbikeEcuInfo ebikeEcuInfo = ebikeEcuInfoService.getEcu(bikeCode);