From 0eaeea3b2492b742bf24680ac9c721a2fe2ec78a Mon Sep 17 00:00:00 2001 From: ljw Date: Wed, 12 Nov 2025 15:15:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../route/controller/RouteController.java | 69 ++++++++++ .../controller/RouteDetailController.java | 69 ++++++++++ .../route/mapper/RouteDetailMapper.java | 14 ++ .../supervisory/route/mapper/RouteMapper.java | 22 ++++ .../route/pojo/RouteDetailEntity.java | 71 ++++++++++ .../supervisory/route/pojo/RouteEntity.java | 95 ++++++++++++++ .../route/service/RouteDetailService.java | 42 ++++++ .../route/service/RouteService.java | 41 ++++++ .../service/impl/RouteDetailServiceImpl.java | 71 ++++++++++ .../route/service/impl/RouteServiceImpl.java | 122 ++++++++++++++++++ .../resources/mapper/route/RouteMapper.xml | 47 +++++++ 11 files changed, 663 insertions(+) create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteController.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteDetailController.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteDetailMapper.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteMapper.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteDetailEntity.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteEntity.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteDetailService.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteService.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteDetailServiceImpl.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteServiceImpl.java create mode 100644 njzscloud-svr/src/main/resources/mapper/route/RouteMapper.xml diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteController.java new file mode 100644 index 0000000..a2b9d3a --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteController.java @@ -0,0 +1,69 @@ +package com.njzscloud.supervisory.route.controller; + +import com.njzscloud.common.core.utils.R; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.route.pojo.RouteEntity; +import com.njzscloud.supervisory.route.service.RouteService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 路线管理 + */ +@Slf4j +@RestController +@RequestMapping("/route") +@RequiredArgsConstructor +public class RouteController { + + private final RouteService routeService; + + /** + * 新增 + */ + @PostMapping("/add") + public R add(@RequestBody RouteEntity routeEntity) { + routeService.add(routeEntity); + return R.success(); + } + + /** + * 修改 + */ + @PostMapping("/modify") + public R modify(@RequestBody RouteEntity routeEntity) { + routeService.modify(routeEntity); + return R.success(); + } + + /** + * 删除 + */ + @PostMapping("/del") + public R del(@RequestBody List ids) { + routeService.del(ids); + return R.success(); + } + + /** + * 详情 + */ + @GetMapping("/detail") + public R detail(@RequestParam Long id) { + return R.success(routeService.detail(id)); + } + + /** + * 分页查询 + */ + @GetMapping("/paging") + public R> paging(PageParam pageParam, RouteEntity routeEntity) { + return R.success(routeService.paging(pageParam, routeEntity)); + } + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteDetailController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteDetailController.java new file mode 100644 index 0000000..9fe33ee --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/controller/RouteDetailController.java @@ -0,0 +1,69 @@ +package com.njzscloud.supervisory.route.controller; + +import com.njzscloud.common.core.utils.R; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.route.pojo.RouteDetailEntity; +import com.njzscloud.supervisory.route.service.RouteDetailService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 路线详情管理 + */ +@Slf4j +@RestController +@RequestMapping("/route_detail") +@RequiredArgsConstructor +public class RouteDetailController { + + private final RouteDetailService routeDetailService; + + /** + * 新增 + */ + @PostMapping("/add") + public R add(@RequestBody RouteDetailEntity detailEntity) { + routeDetailService.add(detailEntity); + return R.success(); + } + + /** + * 修改 + */ + @PostMapping("/modify") + public R modify(@RequestBody RouteDetailEntity detailEntity) { + routeDetailService.modify(detailEntity); + return R.success(); + } + + /** + * 删除 + */ + @PostMapping("/del") + public R del(@RequestBody List ids) { + routeDetailService.del(ids); + return R.success(); + } + + /** + * 详情 + */ + @GetMapping("/detail") + public R detail(@RequestParam Long id) { + return R.success(routeDetailService.detail(id)); + } + + /** + * 分页查询 + */ + @GetMapping("/paging") + public R> paging(PageParam pageParam, RouteDetailEntity detailEntity) { + return R.success(routeDetailService.paging(pageParam, detailEntity)); + } + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteDetailMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteDetailMapper.java new file mode 100644 index 0000000..bc44a30 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteDetailMapper.java @@ -0,0 +1,14 @@ +package com.njzscloud.supervisory.route.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njzscloud.supervisory.route.pojo.RouteDetailEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 路线详情管理 + */ +@Mapper +public interface RouteDetailMapper extends BaseMapper { + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteMapper.java new file mode 100644 index 0000000..2af084d --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/mapper/RouteMapper.java @@ -0,0 +1,22 @@ +package com.njzscloud.supervisory.route.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njzscloud.supervisory.route.pojo.RouteEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 路线管理 + */ +@Mapper +public interface RouteMapper extends BaseMapper { + + IPage paging(Page page, @Param("ew") QueryWrapper ew); + + RouteEntity selectDetailById(@Param("id") Long id); + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteDetailEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteDetailEntity.java new file mode 100644 index 0000000..079dbf8 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteDetailEntity.java @@ -0,0 +1,71 @@ +package com.njzscloud.supervisory.route.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 优惠管理 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName(value = "biz_route_detail", autoResultMap = true) +public class RouteDetailEntity { + + /** + * Id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** + * 路线id + */ + private Long routeId; + + /** + * 路线名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; + + /** + * 创建人 Id; sys_user.id + */ + @TableField(fill = FieldFill.INSERT) + private Long creatorId; + + /** + * 修改人 Id; sys_user.id + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Long modifierId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime modifyTime; + + /** + * 是否删除; 0-->未删除、1-->已删除 + */ + @TableLogic + private Boolean deleted; + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteEntity.java new file mode 100644 index 0000000..eb979f5 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/pojo/RouteEntity.java @@ -0,0 +1,95 @@ +package com.njzscloud.supervisory.route.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 优惠管理 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName(value = "biz_route", autoResultMap = true) +public class RouteEntity { + + /** + * Id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + + /** + * 项目id + */ + private Long projectId; + + /** + * 清运公司id + */ + private Long companyId; + + /** + * 站点id + */ + private Long stationId; + + /** + * 路线名称 + */ + private String name; + + /** + * 起始地 + */ + @TableField(exist = false) + private String startAddress; + + /** + * 终点地 + */ + @TableField(exist = false) + private String endAddress; + + /** + * 路线详情 + */ + @TableField(exist = false) + private List detailEntityList; + + /** + * 创建人 Id; sys_user.id + */ + @TableField(fill = FieldFill.INSERT) + private Long creatorId; + + /** + * 修改人 Id; sys_user.id + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Long modifierId; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime modifyTime; + + /** + * 是否删除; 0-->未删除、1-->已删除 + */ + @TableLogic + private Boolean deleted; + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteDetailService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteDetailService.java new file mode 100644 index 0000000..49c3c27 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteDetailService.java @@ -0,0 +1,42 @@ +package com.njzscloud.supervisory.route.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.route.pojo.RouteDetailEntity; +import com.njzscloud.supervisory.route.pojo.RouteEntity; + +import java.util.List; + +/** + * 路线详情管理 + */ +public interface RouteDetailService extends IService { + + /** + * 新增 + */ + void add(RouteDetailEntity detailEntity); + + /** + * 修改 + */ + void modify(RouteDetailEntity detailEntity); + + /** + * 删除 + */ + void del(List ids); + + /** + * 详情 + */ + RouteDetailEntity detail(Long id); + + /** + * 分页查询 + */ + PageResult paging(PageParam pageParam, RouteDetailEntity detailEntity); + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteService.java new file mode 100644 index 0000000..7b6ba5f --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/RouteService.java @@ -0,0 +1,41 @@ +package com.njzscloud.supervisory.route.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.route.pojo.RouteEntity; + +import java.util.List; + +/** + * 路线管理 + */ +public interface RouteService extends IService { + + /** + * 新增 + */ + void add(RouteEntity routeEntity); + + /** + * 修改 + */ + void modify(RouteEntity routeEntity); + + /** + * 删除 + */ + void del(List ids); + + /** + * 详情 + */ + RouteEntity detail(Long id); + + /** + * 分页查询 + */ + PageResult paging(PageParam pageParam, RouteEntity routeEntity); + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteDetailServiceImpl.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteDetailServiceImpl.java new file mode 100644 index 0000000..84cd904 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteDetailServiceImpl.java @@ -0,0 +1,71 @@ +package com.njzscloud.supervisory.route.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.route.mapper.RouteDetailMapper; +import com.njzscloud.supervisory.route.pojo.RouteDetailEntity; +import com.njzscloud.supervisory.route.service.RouteDetailService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 路线详情管理 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class RouteDetailServiceImpl extends ServiceImpl implements RouteDetailService { + + /** + * 新增 + */ + @Override + public void add(RouteDetailEntity detailEntity) { + this.save(detailEntity); + } + + /** + * 修改 + */ + @Override + public void modify(RouteDetailEntity detailEntity) { + this.updateById(detailEntity); + } + + /** + * 删除 + */ + @Override + public void del(List ids) { + this.removeBatchByIds(ids); + } + + /** + * 详情 + */ + @Override + public RouteDetailEntity detail(Long id) { + return this.getById(id); + } + + /** + * 分页查询 + */ + @Override + public PageResult paging(PageParam pageParam, RouteDetailEntity detailEntity) { + Page page = this.page(pageParam.toPage(), Wrappers.lambdaQuery() + .eq(StrUtil.isNotBlank(detailEntity.getName()), RouteDetailEntity::getName, detailEntity.getName()) + .eq(RouteDetailEntity::getDeleted, Boolean.FALSE) + .orderByDesc(RouteDetailEntity::getCreateTime)); + return PageResult.of(page); + } + +} + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteServiceImpl.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteServiceImpl.java new file mode 100644 index 0000000..ca2e4b8 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/route/service/impl/RouteServiceImpl.java @@ -0,0 +1,122 @@ +package com.njzscloud.supervisory.route.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njzscloud.common.mp.support.PageParam; +import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.order.pojo.entity.OrderExpenseItemsEntity; +import com.njzscloud.supervisory.route.mapper.RouteMapper; +import com.njzscloud.supervisory.route.pojo.RouteDetailEntity; +import com.njzscloud.supervisory.route.pojo.RouteEntity; +import com.njzscloud.supervisory.route.service.RouteDetailService; +import com.njzscloud.supervisory.route.service.RouteService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 路线管理 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class RouteServiceImpl extends ServiceImpl implements RouteService { + + private final RouteDetailService routeDetailService; + + private final RouteMapper routeMapper; + + /** + * 新增 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void add(RouteEntity routeEntity) { + this.save(routeEntity); + // 保存详情 + List detailEntityList = routeEntity.getDetailEntityList(); + if (null != detailEntityList && detailEntityList.size() > 0) { + for (RouteDetailEntity detailEntity : detailEntityList) { + detailEntity.setRouteId(routeEntity.getId()); + } + routeDetailService.saveBatch(detailEntityList); + } + } + + /** + * 修改 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void modify(RouteEntity routeEntity) { + this.updateById(routeEntity); + // 删除原有数据,然后直接新增 + routeDetailService.remove(Wrappers.lambdaQuery() + .in(RouteDetailEntity::getRouteId, routeEntity.getId())); + List detailEntityList = routeEntity.getDetailEntityList(); + if (null != detailEntityList && detailEntityList.size() > 0) { + for (RouteDetailEntity detailEntity : detailEntityList) { + detailEntity.setRouteId(routeEntity.getId()); + } + routeDetailService.saveBatch(detailEntityList); + } + } + + /** + * 删除 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void del(List ids) { + this.removeBatchByIds(ids); + for (Long id : ids) { + // 删除详细路线 + routeDetailService.remove(Wrappers.lambdaQuery() + .in(RouteDetailEntity::getRouteId, id)); + } + } + + /** + * 详情 + */ + @Override + public RouteEntity detail(Long id) { + RouteEntity entity = routeMapper.selectDetailById(id); + List detailEntityList = routeDetailService.list(Wrappers.lambdaQuery(RouteDetailEntity.class) + .eq(RouteDetailEntity::getRouteId, entity.getId()) + .orderByAsc(RouteDetailEntity::getSort)); + if (null != detailEntityList && detailEntityList.size() > 0) { + entity.setDetailEntityList(detailEntityList); + } + return entity; + } + + /** + * 分页查询 + */ + @Override + public PageResult paging(PageParam pageParam, RouteEntity routeEntity) { + QueryWrapper ew = Wrappers.query() + .eq("a.deleted", 0) + .like(StrUtil.isNotBlank(routeEntity.getName()), "a.name", routeEntity.getName()) + .eq(null != routeEntity.getCompanyId(), "a.company_id", routeEntity.getCompanyId()) + .eq(null != routeEntity.getStationId(), "a.station_id", routeEntity.getStationId()); + IPage page = routeMapper.paging(pageParam.toPage(), ew); + for (RouteEntity entity : page.getRecords()) { + List detailEntityList = routeDetailService.list(Wrappers.lambdaQuery(RouteDetailEntity.class) + .eq(RouteDetailEntity::getRouteId, entity.getId()).orderByAsc(RouteDetailEntity::getSort)); + if (null != detailEntityList && detailEntityList.size() > 0) { + entity.setDetailEntityList(detailEntityList); + } + } + return PageResult.of(page); + } + +} + diff --git a/njzscloud-svr/src/main/resources/mapper/route/RouteMapper.xml b/njzscloud-svr/src/main/resources/mapper/route/RouteMapper.xml new file mode 100644 index 0000000..ae68f66 --- /dev/null +++ b/njzscloud-svr/src/main/resources/mapper/route/RouteMapper.xml @@ -0,0 +1,47 @@ + + + + + + + +