Merge remote-tracking branch 'origin/main'

This commit is contained in:
jkcdev 2025-05-06 09:06:48 +08:00
commit 25e0df6d0f
16 changed files with 133 additions and 53 deletions

View File

@ -832,5 +832,16 @@ public class EbikeBikeInfoController {
// 调用服务层方法执行完成投放操作
return ebikeBikeInfoService.completeDeployment(request);
}
/**
* 获取工单列表
*
* @param request 获取工单列表请求参数如分页信息筛选条件等
* @return 返回工单列表数据
*/
@PostMapping("getWorkOrderList")
public JsonResult<?> getWorkOrderList(@RequestBody Map<String, Object> request) {
// 调用服务层方法获取工单列表数据
return ebikeBikeInfoService.getWorkOrderList(request);
}
}

View File

@ -288,4 +288,13 @@ public interface EbikeBikeInfoService extends IService<EbikeBikeInfo> {
* @return
*/
JsonResult<?> completeDeployment(Map<String,Object> param);
/**
* 获取工单列表
*
* @param param 获取工单列表请求参数如分页信息筛选条件等
* @return 返回工单列表数据
*/
JsonResult<?> getWorkOrderList(Map<String,Object> param);
}

View File

@ -126,7 +126,6 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
private EbikeScheduleWorkOrderExtensionMapper ebikeScheduleWorkOrderExtensionMapper;
@Resource
private EbikeVehicleDispatchFileMapper ebikeVehicleDispatchFileMapper;
@Override
public EbikeBikeInfo getByBikeCode(String bikeCode) {
QueryWrapper query = QueryWrapper.create();
@ -620,13 +619,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
if (faultIds == null || bikeCode.isEmpty()) {
return "";
}
String tokenValue = StpUtil.getTokenValue();
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
StaffFeign staffFeign = result.getData();
StaffFeign staffFeign = getStaffFeignInfo();
// 获取当前操作用户
String userId = staffFeign.getStaffId().toString();
//生成工单编号
@ -754,13 +747,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
}
ebikeBikeInfo.setBatteryId(newBattery.getBatteryId());
ebikeBikeInfoMapper.update(ebikeBikeInfo);
String tokenValue = StpUtil.getTokenValue();
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
StaffFeign staffFeign = result.getData();
StaffFeign staffFeign = getStaffFeignInfo();
//匹配工单ID将其完成
String orderId = orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(), String.valueOf(staffFeign.getStaffId()));
//生成换电记录
@ -1133,12 +1120,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
public void batchRecordBikeListingInfo(ReqBulkDeliveryDto reqBulkDeliveryDto) {
// 获取车辆上架的车牌列表
List<String> bikeCode = reqBulkDeliveryDto.getBikeCode();
String tokenValue = StpUtil.getTokenValue();
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
StaffFeign staffFeign = result.getData();
StaffFeign staffFeign = getStaffFeignInfo();
// 获取当前操作用户和时间
String operatorName = staffFeign.getStaffId().toString();
LocalDateTime currentTime = LocalDateTime.now();
@ -1175,14 +1157,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
public String createWorkOrderDispatch(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) {
try {
// 获取 token 和用户信息
String tokenValue = StpUtil.getTokenValue();
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
if (result.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取用户信息失败");
}
StaffFeign staffFeign = result.getData();
StaffFeign staffFeign = getStaffFeignInfo();
String userId = staffFeign.getStaffId().toString();
// 生成工单编号
SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator();
@ -1209,8 +1185,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
if(resGPSDto!=null){
Double latitude = resGPSDto.getLatitude();
Double longitude = resGPSDto.getLongitude();
dispatchRecord.setStartVehicleLng(latitude);
dispatchRecord.setStartVehicleLat(longitude);
dispatchRecord.setStartVehicleLng(longitude);
dispatchRecord.setStartVehicleLat(latitude);
}
dispatchRecord.setOrderId(ebikeBikeOrder.getOrderId());
dispatchRecord.setBikeCode(bikeCode);
@ -1415,4 +1391,45 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
}
return JsonResult.success("投放成功");
}
public JsonResult<?> getWorkOrderList(Map<String, Object> param) {
try {
// 获取当前操作用户的staff信息
StaffFeign staffFeign = getStaffFeignInfo();
// 获取当前用户ID
String userId = staffFeign.getStaffId().toString();
// 获取分页参数
Map<String,Object> param1 = (Map<String,Object>)param.get("pageParam");
int pageNum = (int) param1.get("pageNum");
int pageSize = (int) param1.get("pageSize");
// 创建查询条件
QueryWrapper query = QueryWrapper.create()
.select("order_id, bike_code, order_type, created_at, receiver_id, dispatch_type," +
" bike_count, longitude, latitude,order_type_name") // 选择需要的字段
.from("v_ebike_work_order_summary") // 指定查询的表
.eq("receiver_id", userId); // 根据当前用户ID过滤数据
// 执行查询获取工作订单列表
Page<ResEbikeWorkOrderSummaryDto> resEbikeWorkOrderSummaryDtoPage = ebikeBikeOrderMapper
.paginateAs(pageNum,pageSize, query,ResEbikeWorkOrderSummaryDto.class);
// 返回查询结果
return JsonResult.success(resEbikeWorkOrderSummaryDtoPage);
} catch (Exception e) {
// 捕获异常并记录日志
log.error("获取工作订单列表时发生错误: ", e);
// 返回错误信息
return JsonResult.failed("获取工作订单列表时发生错误。");
}
}
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

@ -1,6 +1,7 @@
package com.cdzy.ebikeoperate.model.dto.request;
import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson2.JSONArray;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -24,7 +25,7 @@ public class ReqEbikeSysOperateSetSaveDto {
/**
* 星期几;,分隔null为按时间段运营
*/
private String weekday;
private JSONArray weekday;
/**
* 工作开始时间;HH:mm:ss

View File

@ -1,5 +1,6 @@
package com.cdzy.ebikeoperate.model.dto.request;
import com.alibaba.fastjson2.JSONArray;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
@ -84,12 +85,12 @@ public class ReqEbikeSysRbacksetDto implements Serializable {
/**
* 规范还车跳过类型
*/
private String ignoreRegularType;
private JSONArray ignoreRegularType;
/**
* 学习免调度费还车类型
*/
private String freeReturnType;
private JSONArray freeReturnType;
/**
* 学习免调度费次数

View File

@ -5,6 +5,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@ -177,7 +178,7 @@ public class ReqEbikeSysRoperatesetDto implements Serializable {
/**
* 开票开始时间
*/
private LocalDateTime issueAnInvoiceStartTime;
private LocalDate issueAnInvoiceStartTime;
/**
* 0公里申诉自动退款

View File

@ -1,6 +1,7 @@
package com.cdzy.ebikeoperate.model.dto.response;
import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson2.JSONArray;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -27,7 +28,7 @@ public class ResEbikeSysOperateSetDto {
/**
* 星期几;,分隔null为按时间段运营
*/
private String weekday;
private JSONArray weekday;
/**
* 工作开始时间;HH:mm:ss

View File

@ -1,5 +1,6 @@
package com.cdzy.ebikeoperate.model.dto.response;
import com.alibaba.fastjson2.JSONArray;
import lombok.Data;
import java.io.Serializable;
@ -78,12 +79,12 @@ public class ResEbikeSysRbacksetDto implements Serializable {
/**
* 规范还车跳过类型
*/
private String ignoreRegularType;
private JSONArray ignoreRegularType;
/**
* 学习免调度费还车类型
*/
private String freeReturnType;
private JSONArray freeReturnType;
/**
* 学习免调度费次数

View File

@ -6,6 +6,7 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@ -178,7 +179,7 @@ public class ResEbikeSysRoperatesetDto implements Serializable {
/**
* 开票开始时间
*/
private LocalDateTime issueAnInvoiceStartTime;
private LocalDate issueAnInvoiceStartTime;
/**
* 0公里申诉自动退款

View File

@ -37,7 +37,7 @@ public class EbikeSysLinktel implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 电话号码

View File

@ -37,7 +37,7 @@ public class EbikeSysOperateSet implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 星期几;,分隔null为按时间段运营

View File

@ -37,7 +37,7 @@ public class EbikeSysRbackset implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 是否站点还车

View File

@ -36,7 +36,7 @@ public class EbikeSysRlockset implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 自动锁车分钟

View File

@ -2,8 +2,10 @@ 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.LocalDate;
import java.time.LocalDateTime;
import java.io.Serial;
@ -38,7 +40,7 @@ public class EbikeSysRoperateset implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 是否运营;1运营中 0停止运营
@ -193,7 +195,7 @@ public class EbikeSysRoperateset implements Serializable {
/**
* 开票开始时间
*/
private LocalDateTime issueAnInvoiceStartTime;
private LocalDate issueAnInvoiceStartTime;
/**
* 0公里申诉自动退款

View File

@ -37,7 +37,7 @@ public class EbikeSysRusecondset implements Serializable {
/**
* 区域ID
*/
private String reginId;
private String regionId;
/**
* 禁止用户借车电量;百分比默认30

View File

@ -1,22 +1,28 @@
package com.cdzy.ebikeoperate.service.impl;
import com.cdzy.ebikeoperate.mapper.EbikeSysLinktelMapper;
import com.cdzy.ebikeoperate.mapper.EbikeSysOperateSetMapper;
import com.cdzy.ebikeoperate.mapper.*;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysOperateSetSaveDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysRoperatesetDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikeSysRoperatesetsDto;
import com.cdzy.ebikeoperate.model.pojo.EbikeSysOperateSet;
import com.cdzy.ebikeoperate.model.pojo.EbikeSysRcostset;
import com.cdzy.ebikeoperate.service.EbikeSysRcostsetService;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.cdzy.ebikeoperate.model.pojo.EbikeSysRoperateset;
import com.cdzy.ebikeoperate.mapper.EbikeSysRoperatesetMapper;
import com.cdzy.ebikeoperate.service.EbikeSysRoperatesetService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSysLinktelTableDef.EBIKE_SYS_LINKTEL;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSysOperateSetTableDef.EBIKE_SYS_OPERATE_SET;
import static com.cdzy.ebikeoperate.model.pojo.table.EbikeSysRoperatesetTableDef.EBIKE_SYS_ROPERATESET;
/**
@ -33,11 +39,19 @@ public class EbikeSysRoperatesetServiceImpl extends ServiceImpl<EbikeSysRoperate
private EbikeSysOperateSetMapper ebikeSysOperateSetMapper;
@Resource
private EbikeSysLinktelMapper ebikeSysLinktelMapper;
@Autowired
private EbikeSysRlocksetMapper ebikeSysRlocksetMapper;
@Autowired
private EbikeSysRusecondsetMapper ebikeSysRusecondsetMapper;
@Autowired
private EbikeSysRbacksetMapper ebikeSysRbacksetMapper;
@Autowired
private EbikeSysRoperatesetMapper ebikeSysRoperatesetMapper;
@Override
public EbikeSysRoperateset getByRegionId(String regionId) {
QueryWrapper query = QueryWrapper.create()
.where(EBIKE_SYS_ROPERATESET.REGIN_ID.eq(regionId));
.where(EBIKE_SYS_ROPERATESET.REGION_ID.eq(regionId));
return getOne(query);
}
@ -45,9 +59,9 @@ public class EbikeSysRoperatesetServiceImpl extends ServiceImpl<EbikeSysRoperate
@Override
public Boolean deleteByRegionId(String regionId) {
try {
ebikeSysOperateSetMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGIN_ID.eq(regionId));
ebikeSysLinktelMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGIN_ID.eq(regionId));
remove(EBIKE_SYS_ROPERATESET.REGIN_ID.eq(regionId));
ebikeSysOperateSetMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGION_ID.eq(regionId));
ebikeSysLinktelMapper.deleteByCondition(EBIKE_SYS_LINKTEL.REGION_ID.eq(regionId));
remove(EBIKE_SYS_ROPERATESET.REGION_ID.eq(regionId));
return true;
} catch (Exception e) {
log.error("删除区域运营信息配置表失败, regionId:{}", regionId, e);
@ -62,11 +76,32 @@ public class EbikeSysRoperatesetServiceImpl extends ServiceImpl<EbikeSysRoperate
* @return
*/
@Override
@Transactional
public Boolean save(ReqEbikeSysRoperatesetsDto reqEbikeSysRoperatesetsDto) {
ReqEbikeSysRoperatesetDto reqEbikeSysRoperatesetDto = reqEbikeSysRoperatesetsDto.getReqEbikeSysRoperatesetDto();
String regionId = reqEbikeSysRoperatesetDto.getRegionId();
EbikeSysRoperateset ebikeSysRoperateset = new EbikeSysRoperateset();
BeanUtils.copyProperties(reqEbikeSysRoperatesetDto, ebikeSysRoperateset);
ebikeSysRoperatesetMapper.insert(ebikeSysRoperateset);
QueryWrapper query = QueryWrapper.create();
query.eq(EBIKE_SYS_OPERATE_SET.REGION_ID.getName(), regionId);
ebikeSysOperateSetMapper.deleteByQuery(query);
List<ReqEbikeSysOperateSetSaveDto> operateTime = reqEbikeSysRoperatesetDto.getOperateTime();
List<EbikeSysOperateSet> ebikeSysOperateSets = new ArrayList<>();
for (ReqEbikeSysOperateSetSaveDto reqEbikeSysOperateSetSaveDto : operateTime) {
EbikeSysOperateSet ebikeSysOperateSet = new EbikeSysOperateSet();
BeanUtils.copyProperties(reqEbikeSysOperateSetSaveDto, ebikeSysOperateSet);
if (reqEbikeSysOperateSetSaveDto.getWeekday() != null) {
ebikeSysOperateSet.setWeekday(reqEbikeSysOperateSetSaveDto.getWeekday().toString());
}
ebikeSysOperateSets.add(ebikeSysOperateSet);
}
if (!ebikeSysOperateSets.isEmpty()) {
ebikeSysOperateSetMapper.insertBatch(ebikeSysOperateSets);
}
return true;
}
}