Compare commits

...

2 Commits

Author SHA1 Message Date
6bab79843e Merge remote-tracking branch 'origin/main' 2025-05-07 15:11:32 +08:00
31d031e944 站点 2025-05-07 15:11:10 +08:00
7 changed files with 35 additions and 10 deletions

View File

@ -18,6 +18,7 @@ import com.cdzy.ebikeoperate.model.pojo.*;
import com.cdzy.ebikeoperate.service.EbikeAdministrationZoneService; import com.cdzy.ebikeoperate.service.EbikeAdministrationZoneService;
import com.cdzy.ebikeoperate.service.EbikeOperationRegionService; import com.cdzy.ebikeoperate.service.EbikeOperationRegionService;
import com.cdzy.ebikeoperate.service.EbikeSiteRegionService; import com.cdzy.ebikeoperate.service.EbikeSiteRegionService;
import com.cdzy.ebikeoperate.utils.MinioUtil;
import com.ebike.feign.clients.StaffFeignClient; import com.ebike.feign.clients.StaffFeignClient;
import com.ebike.feign.model.rsp.RspBikeInfo; import com.ebike.feign.model.rsp.RspBikeInfo;
import com.ebike.feign.model.rsp.StaffFeign; import com.ebike.feign.model.rsp.StaffFeign;
@ -29,6 +30,7 @@ import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -70,6 +72,9 @@ public class EbikeRegionController {
@Resource @Resource
private EbikeRegionLevelMapper levelMapper; private EbikeRegionLevelMapper levelMapper;
@Resource
private MinioUtil minioUtil;
/** /**
* 添加运营区 * 添加运营区
* *
@ -183,8 +188,8 @@ public class EbikeRegionController {
* @return {@code 200} 添加成功{@code 500} 添加失败 * @return {@code 200} 添加成功{@code 500} 添加失败
*/ */
@PostMapping("saveSite") @PostMapping("saveSite")
public JsonResult<?> saveSite(@RequestBody @Validated ReqSiteRegionDto regionDto) { public JsonResult<?> saveSite(@RequestBody @Validated ReqSiteRegionDto regionDto, List<MultipartFile> files) throws Exception {
siteRegionService.createSiteRegion(regionDto); siteRegionService.createSiteRegion(regionDto,files);
return JsonResult.success(); return JsonResult.success();
} }
@ -249,7 +254,7 @@ public class EbikeRegionController {
*/ */
@GetMapping("getRegion") @GetMapping("getRegion")
public JsonResult<?> getRegion(@RequestParam(value = "regionId", required = false) Long regionId) { public JsonResult<?> getRegion(@RequestParam(value = "regionId", required = false) Long regionId) {
List<EbikeSiteRegion> list = siteRegionService.listByToken(regionId); List<ResEbikeSiteRegionPageDto> list = siteRegionService.listByToken(regionId);
return JsonResult.success(list); return JsonResult.success(list);
} }

View File

@ -26,6 +26,8 @@ public class ReqSiteRegionDto {
*/ */
private String siteName; private String siteName;
private String describe;
/** /**
* 站点地址 * 站点地址
*/ */

View File

@ -103,4 +103,6 @@ public class EbikeOperationRegion implements Serializable {
*/ */
private Integer operationLevel; private Integer operationLevel;
private String describe;
} }

View File

@ -8,6 +8,7 @@ import com.cdzy.ebikeoperate.model.dto.response.ResEbikeSiteRegionPageDto;
import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion; import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion;
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.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
@ -23,7 +24,7 @@ public interface EbikeSiteRegionService extends IService<EbikeSiteRegion> {
* 生成站点 * 生成站点
* @param regionDto 站点信息 * @param regionDto 站点信息
*/ */
void createSiteRegion(ReqSiteRegionDto regionDto); void createSiteRegion(ReqSiteRegionDto regionDto,List<MultipartFile> files) throws Exception;
/** /**
* 修改站点 * 修改站点
@ -42,7 +43,7 @@ public interface EbikeSiteRegionService extends IService<EbikeSiteRegion> {
* @param regionId 运营区ID * @param regionId 运营区ID
* @return 站点列表 * @return 站点列表
*/ */
List<EbikeSiteRegion> listByToken(Long regionId); List<ResEbikeSiteRegionPageDto> listByToken(Long regionId);
/** /**
* 获取站点详情 * 获取站点详情

View File

@ -16,6 +16,7 @@ import com.cdzy.ebikeoperate.model.pojo.EbikeOperationRegion;
import com.cdzy.ebikeoperate.model.pojo.EbikePoint; import com.cdzy.ebikeoperate.model.pojo.EbikePoint;
import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion; import com.cdzy.ebikeoperate.model.pojo.EbikeSiteRegion;
import com.cdzy.ebikeoperate.service.EbikeSiteRegionService; import com.cdzy.ebikeoperate.service.EbikeSiteRegionService;
import com.cdzy.ebikeoperate.utils.MinioUtil;
import com.cdzy.ebikeoperate.utils.RedisUtil; import com.cdzy.ebikeoperate.utils.RedisUtil;
import com.ebike.feign.clients.StaffFeignClient; import com.ebike.feign.clients.StaffFeignClient;
import com.ebike.feign.model.rsp.StaffFeign; import com.ebike.feign.model.rsp.StaffFeign;
@ -27,7 +28,9 @@ import jakarta.annotation.Resource;
import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Coordinate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -61,9 +64,12 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
@Resource @Resource
private EbikeOperationRegionMapper operationRegionMapper; private EbikeOperationRegionMapper operationRegionMapper;
@Resource
private MinioUtil minioUtil;
@Override @Override
public void createSiteRegion(ReqSiteRegionDto regionDto) { public void createSiteRegion(ReqSiteRegionDto regionDto,List<MultipartFile> files) throws Exception {
Long operationRegionId = regionDto.getOperationRegionId(); Long operationRegionId = regionDto.getOperationRegionId();
EbikeOperationRegion operationRegion = operationRegionMapper.selectOneById(operationRegionId); EbikeOperationRegion operationRegion = operationRegionMapper.selectOneById(operationRegionId);
if (Objects.isNull(operationRegion)) { if (Objects.isNull(operationRegion)) {
@ -75,6 +81,10 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
siteRegion.setCreatedStaff(staffFeign.getStaffId()); siteRegion.setCreatedStaff(staffFeign.getStaffId());
siteRegion.setOrgId(staffFeign.getOrgId()); siteRegion.setOrgId(staffFeign.getOrgId());
List<ReqEbikePointDto> points = regionDto.getPoints(); List<ReqEbikePointDto> points = regionDto.getPoints();
for (MultipartFile file : files) {
InputStream inputStream = file.getInputStream();
minioUtil.uploadFile(inputStream,MinioUtil.BUCKET_SIT,"");
}
this.mapper.insert(siteRegion); this.mapper.insert(siteRegion);
savePoints(points, operationRegionId, siteRegion.getSiteRegionId()); savePoints(points, operationRegionId, siteRegion.getSiteRegionId());
} }
@ -108,14 +118,14 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
} }
@Override @Override
public List<EbikeSiteRegion> listByToken(Long regionId) { public List<ResEbikeSiteRegionPageDto> listByToken(Long regionId) {
StaffFeign staffFeign = getStaff(); StaffFeign staffFeign = getStaff();
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.leftJoin(EBIKE_OPERATION_REGION).on(EBIKE_SITE_REGION.OPERATION_REGION_ID.eq(EBIKE_OPERATION_REGION.OPERATION_REGION_ID)) .leftJoin(EBIKE_OPERATION_REGION).on(EBIKE_SITE_REGION.OPERATION_REGION_ID.eq(EBIKE_OPERATION_REGION.OPERATION_REGION_ID))
.leftJoin(EBIKE_STAFF_REGION).on(EBIKE_STAFF_REGION.REGION_ID.eq(EBIKE_OPERATION_REGION.OPERATION_REGION_ID)) .leftJoin(EBIKE_STAFF_REGION).on(EBIKE_STAFF_REGION.REGION_ID.eq(EBIKE_OPERATION_REGION.OPERATION_REGION_ID))
.where(EBIKE_STAFF_REGION.STAFF_ID.eq(staffFeign.getStaffId())) .where(EBIKE_STAFF_REGION.STAFF_ID.eq(staffFeign.getStaffId()))
.where(EBIKE_STAFF_REGION.REGION_ID.eq(regionId, regionId != null)); .where(EBIKE_STAFF_REGION.REGION_ID.eq(regionId, regionId != null));
return this.mapper.selectListByQuery(queryWrapper); return this.mapper.selectListWithRelationsByQueryAs(queryWrapper,ResEbikeSiteRegionPageDto.class);
} }
@Override @Override
@ -185,7 +195,7 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
pointMapper.insertBatch(list); pointMapper.insertBatch(list);
} }
void delPoints(Long areaId, Long siteRegionId) { void delPoints(Long areaId, Long siteRegionId) {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_POINT.REGION_ID.eq(siteRegionId)); .where(EBIKE_POINT.REGION_ID.eq(siteRegionId));
pointMapper.deleteByQuery(queryWrapper); pointMapper.deleteByQuery(queryWrapper);

View File

@ -18,6 +18,11 @@ public class MinioUtil {
*/ */
public final static String BUCKET_OPERATE = "operate-bucket"; public final static String BUCKET_OPERATE = "operate-bucket";
/**
*站点附件
*/
public final static String BUCKET_SIT = "site-images";
@Resource @Resource
private MinioClient minioClient; private MinioClient minioClient;

View File

@ -20,7 +20,7 @@ public class MybatisFlexGenCode {
private static final String mapperPath="D:/Project/克能单车/resources/mapper"; private static final String mapperPath="D:/Project/克能单车/resources/mapper";
private static final String packageName ="com.cdzy.ebikeoperate"; private static final String packageName ="com.cdzy.ebikeoperate";
private static final String[] tables= new String[]{ private static final String[] tables= new String[]{
"ebike_site_type" "ebike_region_level"
}; };
@Test @Test