运营区站点数量

This commit is contained in:
attiya 2025-12-18 16:48:46 +08:00
parent 231816d7ae
commit 65996f5be5

View File

@ -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,8 +25,19 @@ import org.springframework.stereotype.Service;
@Service
public class EbikeSiteServiceImpl extends ServiceImpl<EbikeSiteMapper, EbikeSite> implements EbikeSiteService {
@Resource
private EbikeRegionMapper regionMapper;
@Transactional
@Override
public void saveSite(EbikeSiteVo ebikeSite) {
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())
@ -29,6 +47,7 @@ public class EbikeSiteServiceImpl extends ServiceImpl<EbikeSiteMapper, EbikeSite
.createdBy(StpUtil.getLoginIdAsLong())
.build();
this.mapper.insert(site);
regionMapper.update(region);
}
@Override
@ -38,6 +57,12 @@ public class EbikeSiteServiceImpl extends ServiceImpl<EbikeSiteMapper, EbikeSite
if (site == null) {
throw new EbikeException("站点不存在");
}
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_REGION.REGION_ID.eq(ebikeSite.getRegionId()));
EbikeRegion region = regionMapper.selectOneByQuery(queryWrapper);
if (region == null) {
throw new EbikeException("所选运营区不存在");
}
site.setSiteName(ebikeSite.getSiteName());
site.setSitePolygon(ebikeSite.getSitePolygon());
site.setOperatorId(ebikeSite.getOperatorId());