diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeSiteServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeSiteServiceImpl.java index 10bbb80..a2ec79d 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeSiteServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeSiteServiceImpl.java @@ -2,12 +2,19 @@ package com.cdzy.operations.service.impl; import cn.dev33.satoken.stp.StpUtil; import com.cdzy.common.ex.EbikeException; +import com.cdzy.operations.mapper.EbikeRegionMapper; +import com.cdzy.operations.model.entity.EbikeRegion; import com.cdzy.operations.model.vo.EbikeSiteVo; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.cdzy.operations.model.entity.EbikeSite; import com.cdzy.operations.mapper.EbikeSiteMapper; import com.cdzy.operations.service.EbikeSiteService; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import static com.cdzy.operations.model.entity.table.EbikeRegionTableDef.EBIKE_REGION; /** * 服务层实现。 @@ -18,9 +25,20 @@ import org.springframework.stereotype.Service; @Service public class EbikeSiteServiceImpl extends ServiceImpl implements EbikeSiteService { + @Resource + private EbikeRegionMapper regionMapper; + + @Transactional @Override public void saveSite(EbikeSiteVo ebikeSite) { - EbikeSite site = EbikeSite.builder() + QueryWrapper queryWrapper = QueryWrapper.create() + .where(EBIKE_REGION.REGION_ID.eq(ebikeSite.getRegionId())); + EbikeRegion region = regionMapper.selectOneByQuery(queryWrapper); + if (region == null) { + throw new EbikeException("所选运营区不存在"); + } + region.setSiteNum(region.getSiteNum() + 1); + EbikeSite site = EbikeSite.builder() .siteName(ebikeSite.getSiteName()) .sitePolygon(ebikeSite.getSitePolygon()) .operatorId(ebikeSite.getOperatorId()) @@ -29,6 +47,7 @@ public class EbikeSiteServiceImpl extends ServiceImpl