diff --git a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBatteryInfoController.java b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBatteryInfoController.java index bd077e0..a83db4b 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBatteryInfoController.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeBatteryInfoController.java @@ -5,13 +5,19 @@ import com.cdzy.common.model.request.PageParam; import com.cdzy.common.model.response.JsonResult; import com.cdzy.operations.enums.BatteryStatus; import com.cdzy.operations.model.entity.EbikeBatteryInfo; +import com.cdzy.operations.model.vo.EbikeBatteryInfoIdVo; import com.cdzy.operations.model.vo.EbikeBatteryInfoVo; import com.cdzy.operations.service.EbikeBatteryInfoService; import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.core.update.UpdateChain; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Objects; + +import static com.cdzy.operations.model.entity.table.EbikeBatteryInfoTableDef.EBIKE_BATTERY_INFO; /** * 电池基本信息 控制层。 @@ -39,13 +45,13 @@ public class EbikeBatteryInfoController { } /** - * 生产电池二维码。 + * 绑定电池二维码。 * * @param batteryId 电池ID * @return {@code true} 添加成功,{@code false} 添加失败 */ @GetMapping("bind") - public JsonResult bind(@RequestParam("batteryId")Long batteryId) throws Exception { + public JsonResult bind(@RequestParam("batteryId")Long batteryId){ EbikeBatteryInfo batteryInfo = ebikeBatteryInfoService.getById(batteryId); if (batteryInfo == null) { throw new EbikeException("电池ID错误"); @@ -55,14 +61,28 @@ public class EbikeBatteryInfoController { return JsonResult.success(); } + /** + * 批量绑定电池二维码。 + * + * @param ids 电池ID集合 + * @return {@code true} 添加成功,{@code false} 添加失败 + */ + @GetMapping("batchBind") + public JsonResult batchBind(@RequestBody EbikeBatteryInfoIdVo ids){ + UpdateChain.of(EbikeBatteryInfo.class) + .set(EbikeBatteryInfo::getStatus, BatteryStatus.BIND) + .where(EbikeBatteryInfo::getBatteryId).in(ids.getBatteryIds()); + return JsonResult.success(); + } + /** * 根据主键删除电池二维码信息。 * * @param batteryId 主键 * @return {@code true} 删除成功,{@code false} 删除失败 */ - @DeleteMapping("remove") - public JsonResult remove(@RequestParam(value = "batteryId", required = true) Long batteryId) { + @PostMapping("remove") + public JsonResult remove(@RequestParam(value = "batteryId") Long batteryId) { ebikeBatteryInfoService.removeById(batteryId); return JsonResult.success(); } @@ -86,8 +106,10 @@ public class EbikeBatteryInfoController { * @return 分页对象 */ @GetMapping("page") - public JsonResult page(PageParam pageParam) { - Page page = ebikeBatteryInfoService.page(pageParam.getPage()); + public JsonResult page(PageParam pageParam,Integer status) { + QueryWrapper queryWrapper = QueryWrapper.create() + .where(EBIKE_BATTERY_INFO.STATUS.eq(status, Objects.nonNull(status))); + Page page = ebikeBatteryInfoService.page(pageParam.getPage(),queryWrapper); return JsonResult.success(page); } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeInventoryController.java b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeInventoryController.java index 13e0103..1b2934e 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeInventoryController.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/controller/EbikeInventoryController.java @@ -1,13 +1,13 @@ package com.cdzy.operations.controller; import com.cdzy.common.model.response.JsonResult; +import com.cdzy.operations.model.entity.EbikeInventory; import com.cdzy.operations.model.vo.EbikeInventoryVo; import com.cdzy.operations.service.EbikeInventoryService; import jakarta.annotation.Resource; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 库存表 控制层。 @@ -46,4 +46,15 @@ public class EbikeInventoryController { return JsonResult.success(); } + /** + * 库存总览。 + * + * @return {@code true} 添加成功,{@code false} 添加失败 + */ + @GetMapping("list") + public JsonResult list() { + List list = ebikeInventoryService.list(); + return JsonResult.success(list); + } + } diff --git a/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeBatteryInfoIdVo.java b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeBatteryInfoIdVo.java new file mode 100644 index 0000000..eafec80 --- /dev/null +++ b/ebike-operations/src/main/java/com/cdzy/operations/model/vo/EbikeBatteryInfoIdVo.java @@ -0,0 +1,33 @@ +package com.cdzy.operations.model.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +/** + * 电池基本信息。 + * + * @author attiya + * @since 2025-09-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EbikeBatteryInfoIdVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @NotNull(message = "电池ID集合不能为空") + private List batteryIds; + + + +} diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeInventoryServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeInventoryServiceImpl.java index acae0b3..de3270c 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeInventoryServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeInventoryServiceImpl.java @@ -41,7 +41,8 @@ public class EbikeInventoryServiceImpl extends ServiceImpl