Merge remote-tracking branch 'origin/main'

This commit is contained in:
jkcdev 2025-05-20 16:45:17 +08:00
commit 7817cfb727
19 changed files with 850 additions and 0 deletions

View File

@ -0,0 +1,51 @@
package com.cdzy.ebikeoperate.controller;
import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqDevicePartStockInDto;
import com.cdzy.ebikeoperate.service.EbikeBikeQrcodeService;
import com.cdzy.ebikeoperate.service.EbikeComponentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 部件的相关接口
*/
@RestController
@RequestMapping("/ebikeComponent")
public class EbikeComponentController {
@Autowired
EbikeComponentService ebikeComponentService;
/***
* 中控设备部件入库接口
* @param params
* @return
*/
@PostMapping("/ecuStorageSave")
public JsonResult<?> ecuStorageSave(@RequestBody ReqDevicePartStockInDto params) {
return ebikeComponentService.ecuStorageSave(params);
}
/***
* 设备部件作废接口 通用
* @param componentEnterRecordId
* @return
*/
@GetMapping("/invalidateDevicePart")
public JsonResult<?> invalidateDevicePart(@RequestParam(name="componentEnterRecordId")String componentEnterRecordId) {
return ebikeComponentService.invalidateDevicePart(componentEnterRecordId);
}
/***
* 设备部件取消接口通用
* @param componentEnterRecordId
* @return
*/
@GetMapping("/cancelDevicePart")
public JsonResult<?> cancelDevicePart(@RequestParam(name = "componentEnterRecordId") String componentEnterRecordId) {
return ebikeComponentService.cancelDevicePart(componentEnterRecordId);
}
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.mapper;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventory;
import com.mybatisflex.core.BaseMapper;
/**
* 映射层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeComponentInventoryMapper extends BaseMapper<EbikeComponentInventory> {
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.mapper;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventorycount;
import com.mybatisflex.core.BaseMapper;
/**
* 映射层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeComponentInventorycountMapper extends BaseMapper<EbikeComponentInventorycount> {
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.mapper;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuEnterRecords;
import com.mybatisflex.core.BaseMapper;
/**
* 映射层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeEcuEnterRecordsMapper extends BaseMapper<EbikeEcuEnterRecords> {
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.mapper;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuOutRecords;
import com.mybatisflex.core.BaseMapper;
/**
* 映射层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeEcuOutRecordsMapper extends BaseMapper<EbikeEcuOutRecords> {
}

View File

@ -0,0 +1,66 @@
package com.cdzy.ebikeoperate.model.dto.request;
import com.cdzy.ebikeoperate.model.pojo.EbikeBatteryEnterRecords;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuEnterRecords;
import com.cdzy.ebikeoperate.model.pojo.EbikeHelmetEnterRecords;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 中控设备部件入库Dto
*
* 用于接收中控设备部件入库请求数据包含设备部件的基本信息及入库记录
* 支持多种类型的部件增强了类型的扩展性与可读性
*
* @author zjd
* @date 2025/5/20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReqDevicePartStockInDto {
/**
* 部件记录主键若存在记录ID则传递若无则可不传
*/
private String componentEnterRecordId;
/**
* 所属区域表示设备部件入库的区域
*/
private String owningRegion;
/**
* 部件类型ID表示部件的类别如电池ECU等部件的编号
*/
private String componentType;
/**
* 入库数量表示该批次部件的数量
*/
private int enterQuantity;
/**
* 入库类型1 表示暂存2 表示入库
*/
private Integer stockInType;
/**
* 中控信息列表包含所有ECU部件的入库记录
*/
private List<EbikeEcuEnterRecords> ebikeEcuEnterRecords;
/**
* 头盔信息列表包含所有头盔部件的入库记录
*/
private List<EbikeHelmetEnterRecords> ebikeHelmetEnterRecords;
/**
* 电池信息列表包含所有电池部件的入库记录
*/
private List<EbikeBatteryEnterRecords> ebikeBatteryEnterRecords;
}

View File

@ -0,0 +1,88 @@
package com.cdzy.ebikeoperate.model.pojo;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author zjd
* @since 2025-05-19
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_component_inventory")
public class EbikeComponentInventory implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 库存记录的唯一ID
*/
@Id
private String inventoryId;
/**
* 部件编号(如头盔编号电池编号中控编号)
*/
private String itemCode;
/**
* 部件序列号例如EcuSn
*/
private String serialNumber;
/**
* 部件类型
*/
private String componentType;
/**
* 部件名称
*/
private String componentName;
/**
* 组织id运营商id
*/
private Long orgId;
/**
* 品牌
*/
private String brand;
/**
* 部件单价
*/
private Double componentPrice;
/**
* 上次更新时间
*/
private LocalDateTime lastUpdatedAt;
/**
* 上次更新操作员
*/
private String lastUpdatedUser;
/**
* 0待入库,1取消,2废除,3已入库,4已出库
*/
private Integer state;
}

View File

@ -0,0 +1,72 @@
package com.cdzy.ebikeoperate.model.pojo;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author zjd
* @since 2025-05-19
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_component_inventorycount")
public class EbikeComponentInventorycount implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 部件类型的唯一ID
*/
@Id
private String id;
/**
* 组织id运营商id
*/
private Long orgId;
/**
* 部件类型编号
*/
private String code;
/**
* 部件类型名称
*/
private String name;
/**
* 品牌
*/
private String brand;
/**
* 部件数量
*/
private Integer count;
/**
* 单位
*/
private String unit;
/**
* 价格
*/
private Double price;
}

View File

@ -0,0 +1,51 @@
package com.cdzy.ebikeoperate.model.pojo;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author zjd
* @since 2025-05-19
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_ecu_enter_records")
public class EbikeEcuEnterRecords implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 中控入库记录的唯一ID
*/
@Id
private String ecuEnterRecordId;
/**
* 组件入库记录ID
*/
private String componentEnterRecordId;
/**
* 中控编码
*/
private String ecuCode;
/**
* 中控序列号
*/
private String ecuSn;
}

View File

@ -0,0 +1,51 @@
package com.cdzy.ebikeoperate.model.pojo;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author zjd
* @since 2025-05-19
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_ecu_out_records")
public class EbikeEcuOutRecords implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 中控出库记录的唯一ID
*/
@Id
private String ecuOutRecordId;
/**
* 组件出库记录ID
*/
private Integer componentOutRecordId;
/**
* 中控编码
*/
private String ecuCode;
/**
* 中控序列号
*/
private String ecuSn;
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventory;
import com.mybatisflex.core.service.IService;
/**
* 服务层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeComponentInventoryService extends IService<EbikeComponentInventory> {
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventorycount;
import com.mybatisflex.core.service.IService;
/**
* 服务层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeComponentInventorycountService extends IService<EbikeComponentInventorycount> {
}

View File

@ -0,0 +1,36 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.model.dto.request.ReqDevicePartStockInDto;
import com.mybatisflex.core.service.IService;
import java.util.Map;
/**
* 中控设备部件入库接口
*/
public interface EbikeComponentService {
/***
* 中控设备部件入库接口
* @param params
* @return
*/
JsonResult<?> ecuStorageSave(ReqDevicePartStockInDto params);
/***
* 设备部件作废接口 通用
* @param componentEnterRecordId
* @return
*/
JsonResult<?> invalidateDevicePart(String componentEnterRecordId);
/***
* 设备部件取消接口通用
* @param componentEnterRecordId
* @return
*/
JsonResult<?> cancelDevicePart(String componentEnterRecordId);
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuEnterRecords;
import com.mybatisflex.core.service.IService;
/**
* 服务层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeEcuEnterRecordsService extends IService<EbikeEcuEnterRecords> {
}

View File

@ -0,0 +1,14 @@
package com.cdzy.ebikeoperate.service;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuOutRecords;
import com.mybatisflex.core.service.IService;
/**
* 服务层
*
* @author zjd
* @since 2025-05-19
*/
public interface EbikeEcuOutRecordsService extends IService<EbikeEcuOutRecords> {
}

View File

@ -0,0 +1,18 @@
package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventory;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.cdzy.ebikeoperate.mapper.EbikeComponentInventoryMapper;
import com.cdzy.ebikeoperate.service.EbikeComponentInventoryService;
import org.springframework.stereotype.Service;
/**
* 服务层实现
*
* @author zjd
* @since 2025-05-19
*/
@Service
public class EbikeComponentInventoryServiceImpl extends ServiceImpl<EbikeComponentInventoryMapper, EbikeComponentInventory> implements EbikeComponentInventoryService{
}

View File

@ -0,0 +1,18 @@
package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.pojo.EbikeComponentInventorycount;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.cdzy.ebikeoperate.mapper.EbikeComponentInventorycountMapper;
import com.cdzy.ebikeoperate.service.EbikeComponentInventorycountService;
import org.springframework.stereotype.Service;
/**
* 服务层实现
*
* @author zjd
* @since 2025-05-19
*/
@Service
public class EbikeComponentInventorycountServiceImpl extends ServiceImpl<EbikeComponentInventorycountMapper, EbikeComponentInventorycount> implements EbikeComponentInventorycountService{
}

View File

@ -0,0 +1,269 @@
package com.cdzy.ebikeoperate.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.enums.Code;
import com.cdzy.common.model.JsonResult;
import com.cdzy.ebikeoperate.mapper.*;
import com.cdzy.ebikeoperate.model.dto.request.ReqDevicePartStockInDto;
import com.cdzy.ebikeoperate.model.pojo.*;
import com.cdzy.ebikeoperate.service.EbikeComponentService;
import com.cdzy.ebikeoperate.service.EbikeComponentTypeInfoService;
import com.ebike.feign.clients.StaffFeignClient;
import com.ebike.feign.model.rsp.StaffFeign;
import com.mybatisflex.core.query.QueryWrapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* 部件的相关接口实现
*/
@Service
public class EbikeComponentServiceImpl implements EbikeComponentService {
@Resource
private EbikeEcuEnterRecordsMapper ebikeEcuEnterRecordsMapper;
@Resource
private EbikeComponentProductionMapper ebikeComponentProductionMapper;
@Resource
private StaffFeignClient staffFeignClient;
@Resource
private EbikeComponentTypeInfoMapper ebikeComponentTypeInfoMapper;
@Resource
private EbikeComponentEnterRecordsMapper ebikeComponentEnterRecordsMapper;
@Resource
private EbikeComponentInventoryMapper ebikeComponentInventoryMapper;
@Resource
private EbikeComponentInventorycountMapper ebikeComponentInventorycountMapper;
@Resource
private EbikeBatteryEnterRecordsMapper ebikeBatteryEnterRecordsMapper;
@Resource
private EbikeHelmetEnterRecordsMapper ebikeHelmetEnterRecordsMapper;
public EbikeComponentServiceImpl(EbikeEcuEnterRecordsMapper ebikeEcuEnterRecordsMapper, EbikeComponentProductionMapper ebikeComponentProductionMapper) {
this.ebikeEcuEnterRecordsMapper = ebikeEcuEnterRecordsMapper;
this.ebikeComponentProductionMapper = ebikeComponentProductionMapper;
}
/***
* 中控设备部件入库接口
* @param params
* @return
*/
@Override
@Transactional
public JsonResult<?> ecuStorageSave(ReqDevicePartStockInDto params){
//判断是
//查询部件价格
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("id",params.getComponentType());
EbikeComponentTypeInfo ebikeComponentTypeInfo = ebikeComponentTypeInfoMapper.selectOneById(queryWrapper);
StaffFeign staffFeign = getStaffFeignInfo();
// 获取当前操作用户
String userId = staffFeign.getStaffId().toString();
Long orgId = staffFeign.getOrgId();
//判断
String componentEnterRecordId = params.getComponentEnterRecordId();
EbikeComponentEnterRecords ebikeComponentEnterRecords = new EbikeComponentEnterRecords();
ebikeComponentEnterRecords.setOwningRegion(params.getOwningRegion());
ebikeComponentEnterRecords.setComponentEnterRecordId(params.getComponentType());
ebikeComponentEnterRecords.setEnterQuantity(params.getEnterQuantity());
ebikeComponentEnterRecords.setComponentPrice(ebikeComponentTypeInfo.getPrice());
ebikeComponentEnterRecords.setCreatedUser(userId);
ebikeComponentEnterRecords.setCreatedAt(LocalDateTime.now());
ebikeComponentEnterRecords.setState("1");//已入库
if(componentEnterRecordId==null){ //新增
ebikeComponentEnterRecordsMapper.insert(ebikeComponentEnterRecords);
}else{
//查询表中是否存在一条记录
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
long l = ebikeComponentEnterRecordsMapper.selectCountByQuery(query);
if(l>0){//编辑
ebikeComponentEnterRecords.setComponentEnterRecordId(componentEnterRecordId);
ebikeComponentEnterRecordsMapper.update(ebikeComponentEnterRecords);
}else{
ebikeComponentEnterRecordsMapper.insert(ebikeComponentEnterRecords);
}
}
componentEnterRecordId=ebikeComponentEnterRecords.getComponentEnterRecordId();
//判断数据是否存在 存在则更新 否则插入 删除这次记录的所有 重新插入
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
ebikeEcuEnterRecordsMapper.deleteByQuery(query);
//保存ecu入库记录
List<EbikeEcuEnterRecords> enterRecords = params.getEbikeEcuEnterRecords();
for(EbikeEcuEnterRecords record:enterRecords){
record.setComponentEnterRecordId(componentEnterRecordId);
ebikeEcuEnterRecordsMapper.insert(record);
//部件仓库明细的插入 只有入库的时候才写入 写入后就不可删除了 只能通过状态控制
EbikeComponentInventory ebikeComponentInventory = new EbikeComponentInventory();
ebikeComponentInventory.setItemCode(record.getEcuCode());
ebikeComponentInventory.setSerialNumber(record.getEcuCode());
ebikeComponentInventory.setComponentType(ebikeComponentTypeInfo.getId());
ebikeComponentInventory.setComponentName(ebikeComponentTypeInfo.getName());
ebikeComponentInventory.setComponentPrice(ebikeComponentTypeInfo.getPrice());
ebikeComponentInventory.setOrgId(orgId);
ebikeComponentInventory.setBrand(ebikeComponentTypeInfo.getBrand());
ebikeComponentInventory.setLastUpdatedAt(LocalDateTime.now());
ebikeComponentInventory.setLastUpdatedUser(userId);
ebikeComponentInventory.setState(1);//已入库
ebikeComponentInventoryMapper.insert(ebikeComponentInventory);
}
int size = enterRecords.size();
// 根据部件类型编号查询部件类型 新增或更新 统计表
QueryWrapper query1 = new QueryWrapper();
query1.eq("code", ebikeComponentTypeInfo.getId());
EbikeComponentInventorycount ebikeComponentInventorycount = ebikeComponentInventorycountMapper.selectOneByQuery(query1);
ebikeComponentInventorycount.setOrgId(orgId);
ebikeComponentInventorycount.setCode(ebikeComponentTypeInfo.getId());
ebikeComponentInventorycount.setName(ebikeComponentTypeInfo.getName());
ebikeComponentInventorycount.setBrand(ebikeComponentTypeInfo.getBrand());
ebikeComponentInventorycount.setUnit(ebikeComponentTypeInfo.getUnit());
ebikeComponentInventorycount.setPrice(ebikeComponentTypeInfo.getPrice());
if(ebikeComponentInventorycount==null){
ebikeComponentInventorycount.setCount(size);
ebikeComponentInventorycountMapper.insert(ebikeComponentInventorycount);
}else {
ebikeComponentInventorycount.setCount(size+ebikeComponentInventorycount.getCount());
ebikeComponentInventorycountMapper.update(ebikeComponentInventorycount);
}
return JsonResult.success("入库成功");
}
/***
* 设备部件作废接口 通用
* @param componentEnterRecordId
* @return
*/
@Override
@Transactional
public JsonResult<?> invalidateDevicePart(String componentEnterRecordId){
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query);
String componentType = ebikeComponentEnterRecords.getComponentType();
Integer enterQuantity = ebikeComponentEnterRecords.getEnterQuantity();
// 电池262711452730000 头盔262711452730001 中控262711452730008 需要单独操作明细表
//先更新记录表状态 为已作废-2
ebikeComponentEnterRecords.setState("-2");
ebikeComponentEnterRecordsMapper.update(ebikeComponentEnterRecords);
switch (componentType) {
case "262711452730000": // 电池
updateBatteryDetails(componentEnterRecordId,componentType,-2); // 找到电池编号 更新仓库明细状态 和仓库总数量
break;
case "262711452730001": // 头盔
updateHelmetDetails(componentEnterRecordId,componentType,-2); // 找到头盔编号 更新仓库明细状态 和仓库总数量
break;
case "262711452730008": // 中控
updateCentralControlDetails(componentEnterRecordId,componentType,-2); // 找到中控编号 更新仓库明细状态 和仓库总数量
break;
default: // 其他
updateOtherComponentStock(componentType,enterQuantity); // 其他直接根据数量 更新仓库总数量
break;
}
return JsonResult.success("成功");
}
/***
* 设备部件取消接口通用
* @param componentEnterRecordId
* @return
*/
@Override
@Transactional
public JsonResult<?> cancelDevicePart(String componentEnterRecordId){
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
EbikeComponentEnterRecords ebikeComponentEnterRecords = ebikeComponentEnterRecordsMapper.selectOneByQuery(query);
//先更新记录表状态 为已取消-1
ebikeComponentEnterRecords.setState("-1");
ebikeComponentEnterRecordsMapper.update(ebikeComponentEnterRecords);
return JsonResult.success("成功");
}
// 方法实现
private void updateBatteryDetails(String componentEnterRecordId,String componentType,Integer state) {
// 具体更新电池仓库明细状态和仓库总数量的逻辑
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
List<EbikeBatteryEnterRecords> ebikeBatteryEnterRecords = ebikeBatteryEnterRecordsMapper.selectListWithRelationsByQuery(query);
for(EbikeBatteryEnterRecords record:ebikeBatteryEnterRecords){
query = new QueryWrapper();
query.eq("item_code", record.getBatteryCode());
EbikeComponentInventory ebikeComponentInventory = ebikeComponentInventoryMapper.selectOneByQuery(query);
ebikeComponentInventory.setState(state);
ebikeComponentInventoryMapper.update(ebikeComponentInventory);
}
int size = ebikeBatteryEnterRecords.size();
updateOtherComponentStock(componentType,size);
}
private void updateHelmetDetails(String componentEnterRecordId,String componentType,Integer state) {
// 具体更新头盔仓库明细状态和仓库总数量的逻辑
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
List<EbikeHelmetEnterRecords> ebikeHelmetEnterRecords = ebikeHelmetEnterRecordsMapper.selectListWithRelationsByQuery(query);
for(EbikeHelmetEnterRecords record:ebikeHelmetEnterRecords){
query = new QueryWrapper();
query.eq("item_code", record.getHelmetCode());
EbikeComponentInventory ebikeComponentInventory = ebikeComponentInventoryMapper.selectOneByQuery(query);
ebikeComponentInventory.setState(state);
ebikeComponentInventoryMapper.update(ebikeComponentInventory);
}
int size = ebikeHelmetEnterRecords.size();
updateOtherComponentStock(componentType,size);
}
private void updateCentralControlDetails(String componentEnterRecordId,String componentType,Integer state) {
// 具体更新中控仓库明细状态和仓库总数量的逻辑
QueryWrapper query = new QueryWrapper();
query.eq("component_enter_record_id", componentEnterRecordId);
List<EbikeEcuEnterRecords> ebikeEcuEnterRecords = ebikeEcuEnterRecordsMapper.selectListWithRelationsByQuery(query);
for(EbikeEcuEnterRecords record:ebikeEcuEnterRecords){
query = new QueryWrapper();
query.eq("item_code", record.getEcuSn());
query.eq("serial_number", record.getEcuCode());
EbikeComponentInventory ebikeComponentInventory = ebikeComponentInventoryMapper.selectOneByQuery(query);
ebikeComponentInventory.setState(state);
ebikeComponentInventoryMapper.update(ebikeComponentInventory);
}
int size = ebikeEcuEnterRecords.size();
updateOtherComponentStock(componentType,size);
}
private void updateOtherComponentStock(String componentType,Integer size) {
// 具体更新其他组件仓库总数量的逻辑
QueryWrapper query1 = new QueryWrapper();
query1.eq("code", componentType);
EbikeComponentInventorycount ebikeComponentInventorycount = ebikeComponentInventorycountMapper.selectOneByQuery(query1);
if(ebikeComponentInventorycount !=null){
ebikeComponentInventorycount.setCount(ebikeComponentInventorycount.getCount()-size);
ebikeComponentInventorycountMapper.update(ebikeComponentInventorycount);
}
}
public StaffFeign getStaffFeignInfo() {
String tokenValue = StpUtil.getTokenValue();
// 调用 Feign 客户端获取用户信息
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
// 判断返回码若失败则抛出异常
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
// 返回获取到的 StaffFeign 数据
return result.getData();
}
}

View File

@ -0,0 +1,18 @@
package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.model.pojo.EbikeEcuEnterRecords;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.cdzy.ebikeoperate.mapper.EbikeEcuEnterRecordsMapper;
import com.cdzy.ebikeoperate.service.EbikeEcuEnterRecordsService;
import org.springframework.stereotype.Service;
/**
* 服务层实现
*
* @author zjd
* @since 2025-05-19
*/
@Service
public class EbikeEcuEnterRecordsServiceImpl extends ServiceImpl<EbikeEcuEnterRecordsMapper, EbikeEcuEnterRecords> implements EbikeEcuEnterRecordsService{
}