Compare commits

..

2 Commits

Author SHA1 Message Date
bd05aaa23a Merge remote-tracking branch 'origin/main'
# Conflicts:
#	ebike-operate/src/main/java/com/cdzy/ebikeoperate/service/impl/EbikeSiteRegionServiceImpl.java
#	ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java
2025-05-20 14:51:24 +08:00
fe1f19a2b1 用户端:所在运营区内的全部站点(运营中 2025-05-20 14:46:01 +08:00
2 changed files with 89 additions and 31 deletions

View File

@ -3,12 +3,13 @@ package com.cdzy.ebikeoperate.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.model.JsonResult;
import com.cdzy.common.model.PageParam;
import com.cdzy.ebikeoperate.enums.EbikeRegionInOperation;
import com.cdzy.ebikeoperate.enums.RegionLevelType;
import com.cdzy.ebikeoperate.mapper.EbikeOperationRegionMapper;
import com.cdzy.ebikeoperate.mapper.EbikePointMapper;
import com.cdzy.ebikeoperate.mapper.EbikeSiteImagesMapper;
import com.cdzy.ebikeoperate.mapper.EbikeSiteRegionMapper;
import com.cdzy.ebikeoperate.model.dto.request.ReqBatchRegionDto;
import com.cdzy.common.model.ReqBatchRegionDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqEbikePointDto;
import com.cdzy.ebikeoperate.model.dto.request.ReqSiteRegionDto;
import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionInfoDto;
@ -147,10 +148,20 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
.leftJoin(EBIKE_REGION_LEVEL).on(EBIKE_REGION_LEVEL.LEVEL_VALUE.eq(EBIKE_SITE_REGION.SITE_LEVEL))
.leftJoin(EBIKE_SITE_TYPE).on(EBIKE_SITE_TYPE.SITE_TYPE_VALUE.eq(EBIKE_SITE_REGION.SITE_LEVEL))
.where(EBIKE_REGION_LEVEL.LEVEL_TYPE.eq(RegionLevelType.SITE))
.where(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(operationRegionId, Objects.nonNull(operationRegionId)));
.where(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.eq(operationRegionId, Objects.nonNull(operationRegionId)))
.where(EBIKE_OPERATION_REGION.IN_OPERATION.eq(EbikeRegionInOperation.IN));
return this.mapper.selectListWithRelationsByQueryAs(queryWrapper,ResEbikeSiteRegionPageDto.class);
}
@Override
public List<Long> getInOperationIds(List<Long> operationRegionIds){
QueryWrapper queryWrapper = QueryWrapper.create()
.select(EBIKE_OPERATION_REGION.OPERATION_REGION_ID)
.where(EBIKE_OPERATION_REGION.OPERATION_REGION_ID.in(operationRegionIds))
.where(EBIKE_OPERATION_REGION.IN_OPERATION.eq(EbikeRegionInOperation.IN));
return operationRegionMapper.selectListByQueryAs(queryWrapper,Long.class);
}
private void delImages(Long siteRegionId) throws Exception {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_SITE_IMAGES.SITE_REGION_ID.eq(siteRegionId));

View File

@ -3,6 +3,7 @@ package com.cdzy.orders.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.cdzy.common.enums.Code;
import com.cdzy.common.model.JsonResult;
import com.cdzy.common.model.ReqBatchRegionDto;
import com.cdzy.common.model.ResGPSDto;
import com.cdzy.common.utils.ConvertUtil;
import com.cdzy.orders.component.EbikeCoreHandler;
@ -10,10 +11,7 @@ import com.cdzy.orders.enums.*;
import com.cdzy.orders.mapper.EbikeOrderDetailsMapper;
import com.cdzy.orders.mapper.UserOrdersMapper;
import com.cdzy.orders.model.dto.req.*;
import com.cdzy.orders.model.dto.res.RedisPoint;
import com.cdzy.orders.model.dto.res.RspBikeDto;
import com.cdzy.orders.model.dto.res.RspOrderDetailsInfo;
import com.cdzy.orders.model.dto.res.RspOrderDetailsUserList;
import com.cdzy.orders.model.dto.res.*;
import com.cdzy.orders.model.entity.EbikeOrderDetails;
import com.cdzy.orders.model.entity.EbikeUser;
import com.cdzy.orders.model.entity.EbikeUserOrders;
@ -304,6 +302,16 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
return redisUtil.isPointInParking(resGpsDto.getLongitude(), resGpsDto.getLatitude(), regionDto.getOperationRegionId());
}
@Override
public void refundApply(Long orderId) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_USER_ORDERS.ORDER_ID.eq(orderId))
.where(EBIKE_USER_ORDERS.STATUS.eq(OrderStatus.PAID));
EbikeUserOrders userOrders = this.mapper.selectOneByQuery(queryWrapper);
userOrders.setStatus(OrderStatus.REFUND_APPLYING);
this.mapper.update(userOrders);
}
@Override
public void refund(Long orderId) {
QueryWrapper queryWrapper = QueryWrapper.create()
@ -324,6 +332,26 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
this.mapper.update(userOrders);
}
@Override
public void rejectRefund(Long orderId) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_USER_ORDERS.ORDER_ID.eq(orderId))
.where(EBIKE_USER_ORDERS.STATUS.eq(OrderStatus.REFUNDING));
EbikeUserOrders userOrders = this.mapper.selectOneByQuery(queryWrapper);
userOrders.setStatus(OrderStatus.REFUND_REJECTED);
this.mapper.update(userOrders);
}
@Override
public void failRefund(Long orderId) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_USER_ORDERS.ORDER_ID.eq(orderId))
.where(EBIKE_USER_ORDERS.STATUS.eq(OrderStatus.REFUNDING));
EbikeUserOrders userOrders = this.mapper.selectOneByQuery(queryWrapper);
userOrders.setStatus(OrderStatus.REFUND_FAILED);
this.mapper.update(userOrders);
}
@Override
public RspOrderDetailsInfo orderDetailsInfo(Long orderId) {
return this.mapper.selectOneWithRelationsByIdAs(orderId, RspOrderDetailsInfo.class);
@ -672,6 +700,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
}
return decimal;
}
/**
* 根据用户ID获取订单详情列表带分页
*
@ -691,9 +720,27 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
@Override
public JsonResult<?> siteRegionList(ReqSiteDto siteDto) {
String operationId = redisUtil.isPointInAllOperationWithOperationId(siteDto.getLongitude(), siteDto.getLatitude());
List<ResOperationInAllDto> area = redisUtil.findNearbyAreaByOperationInAll(siteDto.getLongitude(), siteDto.getLatitude());
List<Long> ids = area.stream().map(dto -> {
String areaId = dto.getAreaId();
return Long.valueOf(areaId);
}).toList();
JsonResult<List<Long>> jsonResult = operateFeignClient.operationRegionIdFilter(new ReqBatchRegionDto(ids));
if (jsonResult.getCode() != Code.SUCCESS) {
throw new RuntimeException("获取运营区信息错误");
}
List<Long> data = jsonResult.getData();
if (data == null || !data.isEmpty()) {
return JsonResult.success(List.of());
}
List<ResOperationInAllDto> list = area.stream().filter(dto -> {
String areaId = dto.getAreaId();
Long aLong = Long.valueOf(areaId);
return data.contains(aLong);
}).toList();
String operationId = redisUtil.isPointInAllOperationWithOperationId(siteDto.getLongitude(), siteDto.getLatitude(),list);
if (operationId == null) {
return JsonResult.success();
return JsonResult.success(List.of());
}
return operateFeignClient.selectSiteListByOperationRegionId(Long.valueOf(operationId));
}