This commit is contained in:
attiya 2025-05-07 15:11:10 +08:00
parent 75ee58b11a
commit 31d031e944
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.EbikeOperationRegionService;
import com.cdzy.ebikeoperate.service.EbikeSiteRegionService;
import com.cdzy.ebikeoperate.utils.MinioUtil;
import com.ebike.feign.clients.StaffFeignClient;
import com.ebike.feign.model.rsp.RspBikeInfo;
import com.ebike.feign.model.rsp.StaffFeign;
@ -29,6 +30,7 @@ import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Objects;
@ -70,6 +72,9 @@ public class EbikeRegionController {
@Resource
private EbikeRegionLevelMapper levelMapper;
@Resource
private MinioUtil minioUtil;
/**
* 添加运营区
*
@ -183,8 +188,8 @@ public class EbikeRegionController {
* @return {@code 200} 添加成功{@code 500} 添加失败
*/
@PostMapping("saveSite")
public JsonResult<?> saveSite(@RequestBody @Validated ReqSiteRegionDto regionDto) {
siteRegionService.createSiteRegion(regionDto);
public JsonResult<?> saveSite(@RequestBody @Validated ReqSiteRegionDto regionDto, List<MultipartFile> files) throws Exception {
siteRegionService.createSiteRegion(regionDto,files);
return JsonResult.success();
}
@ -249,7 +254,7 @@ public class EbikeRegionController {
*/
@GetMapping("getRegion")
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);
}

View File

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

View File

@ -103,4 +103,6 @@ public class EbikeOperationRegion implements Serializable {
*/
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.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -23,7 +24,7 @@ public interface EbikeSiteRegionService extends IService<EbikeSiteRegion> {
* 生成站点
* @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
* @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.EbikeSiteRegion;
import com.cdzy.ebikeoperate.service.EbikeSiteRegionService;
import com.cdzy.ebikeoperate.utils.MinioUtil;
import com.cdzy.ebikeoperate.utils.RedisUtil;
import com.ebike.feign.clients.StaffFeignClient;
import com.ebike.feign.model.rsp.StaffFeign;
@ -27,7 +28,9 @@ import jakarta.annotation.Resource;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@ -61,9 +64,12 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
@Resource
private EbikeOperationRegionMapper operationRegionMapper;
@Resource
private MinioUtil minioUtil;
@Override
public void createSiteRegion(ReqSiteRegionDto regionDto) {
public void createSiteRegion(ReqSiteRegionDto regionDto,List<MultipartFile> files) throws Exception {
Long operationRegionId = regionDto.getOperationRegionId();
EbikeOperationRegion operationRegion = operationRegionMapper.selectOneById(operationRegionId);
if (Objects.isNull(operationRegion)) {
@ -75,6 +81,10 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
siteRegion.setCreatedStaff(staffFeign.getStaffId());
siteRegion.setOrgId(staffFeign.getOrgId());
List<ReqEbikePointDto> points = regionDto.getPoints();
for (MultipartFile file : files) {
InputStream inputStream = file.getInputStream();
minioUtil.uploadFile(inputStream,MinioUtil.BUCKET_SIT,"");
}
this.mapper.insert(siteRegion);
savePoints(points, operationRegionId, siteRegion.getSiteRegionId());
}
@ -108,14 +118,14 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
}
@Override
public List<EbikeSiteRegion> listByToken(Long regionId) {
public List<ResEbikeSiteRegionPageDto> listByToken(Long regionId) {
StaffFeign staffFeign = getStaff();
QueryWrapper queryWrapper = QueryWrapper.create()
.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))
.where(EBIKE_STAFF_REGION.STAFF_ID.eq(staffFeign.getStaffId()))
.where(EBIKE_STAFF_REGION.REGION_ID.eq(regionId, regionId != null));
return this.mapper.selectListByQuery(queryWrapper);
return this.mapper.selectListWithRelationsByQueryAs(queryWrapper,ResEbikeSiteRegionPageDto.class);
}
@Override
@ -185,7 +195,7 @@ public class EbikeSiteRegionServiceImpl extends ServiceImpl<EbikeSiteRegionMappe
pointMapper.insertBatch(list);
}
void delPoints(Long areaId, Long siteRegionId) {
void delPoints(Long areaId, Long siteRegionId) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_POINT.REGION_ID.eq(siteRegionId));
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_SIT = "site-images";
@Resource
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 packageName ="com.cdzy.ebikeoperate";
private static final String[] tables= new String[]{
"ebike_site_type"
"ebike_region_level"
};
@Test