From 7c95a690ea652d6deb63b3a38ff3a6d094b867da Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Mon, 30 Jun 2025 20:00:07 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=9D=E6=B4=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E5=A2=9E=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/property/domain/Clean.java | 12 +++++- .../dromara/property/domain/CleanOrder.java | 5 ++- .../dromara/property/domain/bo/CleanBo.java | 10 +++++ .../property/domain/bo/CleanOrderBo.java | 8 +++- .../property/domain/vo/CleanOrderVo.java | 2 +- .../dromara/property/domain/vo/CleanVo.java | 14 +++++++ .../property/mapper/CleanOrderMapper.java | 3 ++ .../service/impl/CleanOrderServiceImpl.java | 38 +++++++++++++++++-- .../mapper/Property/CleanOrderMapper.xml | 8 ++++ 9 files changed, 92 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java index 426bbb1..5341b0d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java @@ -37,6 +37,11 @@ public class Clean extends TenantEntity { */ private String measure; + /** + * 保洁面积 + */ + private Long cleanArea; + /** * 计算方式 */ @@ -45,7 +50,12 @@ public class Clean extends TenantEntity { /** * 单价 */ - private String peices; + private Long peices; + + /** + * 总价 + */ + private Long sumPrices; /** * 保洁频率 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java index 42930aa..0ed10a5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java @@ -8,6 +8,7 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; +import java.util.List; /** * 保洁订单对象 clean_order @@ -37,7 +38,7 @@ public class CleanOrder extends TenantEntity { /** * 面积 */ - private String area; + private Long area; /** * 保洁id @@ -114,5 +115,7 @@ public class CleanOrder extends TenantEntity { */ private String searchValue; + private List cleanList; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java index 4503fd0..5f3f404 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java @@ -47,6 +47,11 @@ public class CleanBo extends BaseEntity { @NotBlank(message = "计量单位不能为空", groups = { AddGroup.class, EditGroup.class }) private String measure; + /** + * 保洁面积 + */ + private Long cleanArea; + /** * 计算方式 */ @@ -59,6 +64,11 @@ public class CleanBo extends BaseEntity { @NotBlank(message = "单价不能为空", groups = { AddGroup.class, EditGroup.class }) private String peices; + /** + * 总价 + */ + @NotBlank(message = "总价不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sumPrices; /** * 保洁频率 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java index 7036d49..6e6be49 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java @@ -1,5 +1,6 @@ package org.dromara.property.domain.bo; +import org.dromara.property.domain.Clean; import org.dromara.property.domain.CleanOrder; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; @@ -8,6 +9,8 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; + +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -39,7 +42,7 @@ public class CleanOrderBo extends BaseEntity { /** * 面积 */ - private String area; + private Long area; /** * 保洁id @@ -110,5 +113,8 @@ public class CleanOrderBo extends BaseEntity { */ private int state; + @NotEmpty(message = "订单详情不能为空", groups = { AddGroup.class }) + private List cleanList; + } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java index 3d4c77e..0a8e2bd 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanOrderVo.java @@ -47,7 +47,7 @@ public class CleanOrderVo implements Serializable { * 面积 */ @ExcelProperty(value = "面积") - private String area; + private Long area; /** * 保洁id diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java index 0ef362b..550c005 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java @@ -1,5 +1,8 @@ package org.dromara.property.domain.vo; +import jakarta.validation.constraints.NotBlank; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; import org.dromara.property.domain.Clean; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; @@ -46,6 +49,11 @@ public class CleanVo implements Serializable { @ExcelProperty(value = "计量单位") private String measure; + /** + * 保洁面积 + */ + private Long cleanArea; + /** * 计算方式 */ @@ -58,6 +66,12 @@ public class CleanVo implements Serializable { @ExcelProperty(value = "单价") private String peices; + /** + * 总价 + */ + @NotBlank(message = "总价不能为空", groups = { AddGroup.class, EditGroup.class }) + private String sumPrices; + /** * 保洁频率 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java index 3bda884..da9f2ef 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java @@ -1,5 +1,7 @@ package org.dromara.property.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.dromara.property.domain.CleanOrder; import org.dromara.property.domain.vo.CleanOrderVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -12,4 +14,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface CleanOrderMapper extends BaseMapperPlus { + Page selectForPage(Page build, LambdaQueryWrapper lqw); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java index d6b9a1e..d677738 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java @@ -12,14 +12,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.Clean; import org.dromara.property.domain.CleanserverOrder; +import org.dromara.property.mapper.CleanMapper; import org.dromara.property.mapper.CleanserverOrderMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.CleanOrderBo; import org.dromara.property.domain.vo.CleanOrderVo; import org.dromara.property.domain.CleanOrder; import org.dromara.property.mapper.CleanOrderMapper; import org.dromara.property.service.ICleanOrderService; +import org.springframework.transaction.annotation.Transactional; import org.stringtemplate.v4.ST; import java.util.*; @@ -41,6 +45,8 @@ public class CleanOrderServiceImpl implements ICleanOrderService { private final CleanOrderMapper baseMapper; private final CleanserverOrderMapper cleanserverOrderMapper; + private final CleanMapper cleanMapper; + /** * 查询保洁订单 * @@ -62,7 +68,7 @@ public class CleanOrderServiceImpl implements ICleanOrderService { @Override public TableDataInfo queryPageList(CleanOrderBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + Page result = baseMapper.selectForPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -83,7 +89,7 @@ public class CleanOrderServiceImpl implements ICleanOrderService { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(CleanOrder::getId); lqw.eq(StringUtils.isNotBlank(bo.getLocation()), CleanOrder::getLocation, bo.getLocation()); - lqw.eq(StringUtils.isNotBlank(bo.getArea()), CleanOrder::getArea, bo.getArea()); +// lqw.eq(StringUtils.isNotBlank(bo.getArea()), CleanOrder::getArea, bo.getArea()); // lqw.eq(bo.getCleanIds() != null, CleanOrder::getCleanId, bo.getCleanIds()); // lqw.like(StringUtils.isNotBlank(bo.getName()), CleanOrder::getName, bo.getName()); @@ -107,12 +113,36 @@ public class CleanOrderServiceImpl implements ICleanOrderService { * @param bo 保洁订单 * @return 是否新增成功 */ + @Transactional(rollbackFor = Exception.class) @Override public Boolean insertByBo(CleanOrderBo bo) { - CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class); - validEntityBeforeSave(add); + //向clean_order表中插入数据 +// CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class); +// validEntityBeforeSave(add); + CleanOrder add = new CleanOrder(); + BeanUtils.copyProperties(bo, add); + + + + //向clean表中插入数据 + //判断clean表是否为空 + List cleanList = bo.getCleanList(); + if (!CollectionUtils.isEmpty(cleanList)) { + //不为空,循环插入clean表 + for (Clean clean : cleanList) { + BeanUtils.copyProperties(add.getCleanList(), clean); + clean.setSumPrices(clean.getPeices() * clean.getCleanArea()); + cleanMapper.insert(clean); + } + } + + + //通过clean表格中的所有总价,计算出clean_order表中的总价 + add.setSumPeices(cleanList.stream().map(Clean::getSumPrices).reduce(Long::sum).orElse(0L)); boolean flag = baseMapper.insert(add) > 0; + + //向中间表插入数据 if (flag) { bo.setId(add.getId()); ArrayList cleanserverOrders = new ArrayList<>(); diff --git a/ruoyi-modules/Property/src/main/resources/mapper/Property/CleanOrderMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/CleanOrderMapper.xml index 372d7e5..682c741 100644 --- a/ruoyi-modules/Property/src/main/resources/mapper/Property/CleanOrderMapper.xml +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/CleanOrderMapper.xml @@ -4,4 +4,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + From b8ccb255d538add632e11641e319c03df1c26175 Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Mon, 30 Jun 2025 20:05:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=9D=E6=B4=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E5=A2=9E=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/dromara/property/domain/TbBuilding.java | 2 +- .../main/java/org/dromara/property/domain/TbCommunity.java | 4 ++-- .../java/org/dromara/property/domain/bo/TbBuildingBo.java | 2 +- .../java/org/dromara/property/domain/bo/TbCommunityBo.java | 4 ++-- .../java/org/dromara/property/domain/vo/TbBuildingVo.java | 2 +- .../java/org/dromara/property/domain/vo/TbCommunityVo.java | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java index 307dea6..95c5bf6 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbBuilding.java @@ -24,7 +24,7 @@ public class TbBuilding extends TenantEntity { private static final long serialVersionUID = 1L; /** - * + * */ @TableId(value = "id") private Long id; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java index a4c072b..97a5aa9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/TbCommunity.java @@ -24,7 +24,7 @@ public class TbCommunity extends TenantEntity { private static final long serialVersionUID = 1L; /** - * + * */ @TableId(value = "id") private Long id; @@ -80,7 +80,7 @@ public class TbCommunity extends TenantEntity { private Long area; /** - * + * */ private Date builtYear; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java index cbe3e64..23253ed 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbBuildingBo.java @@ -23,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class TbBuildingBo extends BaseEntity { /** - * + * */ @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java index be9c0f0..347f45f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/TbCommunityBo.java @@ -23,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class TbCommunityBo extends BaseEntity { /** - * + * */ @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; @@ -88,7 +88,7 @@ public class TbCommunityBo extends BaseEntity { private Long area; /** - * + * */ private Date builtYear; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java index 9abd2ed..351a0fa 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbBuildingVo.java @@ -31,7 +31,7 @@ public class TbBuildingVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private Long id; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java index a53cfa5..dc07a34 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/TbCommunityVo.java @@ -31,7 +31,7 @@ public class TbCommunityVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private Long id; @@ -97,7 +97,7 @@ public class TbCommunityVo implements Serializable { private Long area; /** - * + * */ @ExcelProperty(value = "") private Date builtYear; From 26be25d9cb4c6a4016f55a7ef36bfe0d001a70bc Mon Sep 17 00:00:00 2001 From: lxj <15683799673@163.com> Date: Tue, 1 Jul 2025 10:47:38 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0property-api=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-api/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index 8b5f0b9..e276c9a 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -13,6 +13,7 @@ ruoyi-api-system ruoyi-api-resource ruoyi-api-workflow + property-api ruoyi-api From 2a2b4007601db77d68d47af79686dde35e3a4f28 Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Tue, 1 Jul 2025 15:13:38 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=9D=E6=B4=81=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 8 +- .../org/dromara/property/domain/Clean.java | 2 +- .../dromara/property/domain/CleanOrder.java | 11 ++- .../property/domain/CleanRelation.java | 41 +++++++++ .../dromara/property/domain/bo/CleanBo.java | 2 +- .../property/domain/bo/CleanOrderBo.java | 25 +++--- .../property/domain/bo/CleanRelationBo.java | 43 ++++++++++ .../property/domain/vo/CleanRelationVo.java | 43 ++++++++++ .../dromara/property/domain/vo/CleanVo.java | 2 +- .../property/mapper/CleanOrderMapper.java | 2 + .../property/mapper/CleanRelationMapper.java | 18 ++++ .../service/impl/CleanOrderServiceImpl.java | 85 ++++++++++++------- 12 files changed, 229 insertions(+), 53 deletions(-) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanRelation.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanRelationBo.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanRelationVo.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanRelationMapper.java diff --git a/pom.xml b/pom.xml index 1bc0e9c..e37a556 100644 --- a/pom.xml +++ b/pom.xml @@ -90,10 +90,10 @@ dev - - - 47.109.37.87:8848 - 47.109.37.87:4560 + 127.0.0.1:8848 + 127.0.0.1:4560 + + DEFAULT_GROUP DEFAULT_GROUP nacos diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java index 5341b0d..cd52932 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/Clean.java @@ -40,7 +40,7 @@ public class Clean extends TenantEntity { /** * 保洁面积 */ - private Long cleanArea; + private Long area; /** * 计算方式 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java index 0ed10a5..29c817f 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanOrder.java @@ -4,6 +4,8 @@ import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -68,12 +70,15 @@ public class CleanOrder extends TenantEntity { /** * 开始时间 */ - private Date starTime; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime starTime; /** * 结束时间 */ - private Date endTime; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") + + private LocalDateTime endTime; /** * 单位id @@ -115,7 +120,7 @@ public class CleanOrder extends TenantEntity { */ private String searchValue; - private List cleanList; +// private List cleanList; } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanRelation.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanRelation.java new file mode 100644 index 0000000..62a4de8 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CleanRelation.java @@ -0,0 +1,41 @@ +package org.dromara.property.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 保洁详情关联表 clean_relation + * + * @author mocheng + * @date 2025-06-19 + */ +@Data +@TableName("clean_order") +public class CleanRelation { + + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 保洁id + */ + private Long cleanId; + + /** + * 面积 + */ + private Long area; + + private Long sumPrices; +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java index 5f3f404..30184a5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanBo.java @@ -50,7 +50,7 @@ public class CleanBo extends BaseEntity { /** * 保洁面积 */ - private Long cleanArea; + private Long area; /** * 计算方式 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java index 6e6be49..4d796f1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanOrderBo.java @@ -10,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -30,13 +31,13 @@ public class CleanOrderBo extends BaseEntity { /** * 主键 */ - @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + @NotNull(message = "主键不能为空", groups = {EditGroup.class}) private Long id; /** * 位置 */ - @NotBlank(message = "位置不能为空", groups = { AddGroup.class, EditGroup.class }) +// @NotBlank(message = "位置不能为空", groups = { AddGroup.class, EditGroup.class }) private String location; /** @@ -69,25 +70,27 @@ public class CleanOrderBo extends BaseEntity { /** * 支付状态 */ - @NotNull(message = "支付状态不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "支付状态不能为空", groups = {AddGroup.class, EditGroup.class}) private Long payState; /** * 开始时间 */ - @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) - private Date starTime; + @NotBlank(message = "开始时间不能为空", groups = {AddGroup.class, EditGroup.class}) +// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private String starTime; /** * 结束时间 */ - @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) - private Date endTime; + @NotBlank(message = "结束时间不能为空", groups = {AddGroup.class, EditGroup.class}) +// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private String endTime; /** * 单位id */ - @NotNull(message = "单位id不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "单位id不能为空", groups = {AddGroup.class, EditGroup.class}) private Long unitId; // /** @@ -99,13 +102,13 @@ public class CleanOrderBo extends BaseEntity { /** * 联系人 */ - @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "联系人不能为空", groups = {AddGroup.class, EditGroup.class}) private String persion; /** * 联系电话 */ - @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "联系电话不能为空", groups = {AddGroup.class, EditGroup.class}) private String phone; /** @@ -113,7 +116,7 @@ public class CleanOrderBo extends BaseEntity { */ private int state; - @NotEmpty(message = "订单详情不能为空", groups = { AddGroup.class }) + @NotEmpty(message = "订单详情不能为空", groups = {AddGroup.class}) private List cleanList; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanRelationBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanRelationBo.java new file mode 100644 index 0000000..2840beb --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CleanRelationBo.java @@ -0,0 +1,43 @@ +package org.dromara.property.domain.bo; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.property.domain.Clean; + +import java.io.Serial; + +/** + * 保洁详情关联表 clean_relation + * + * @author mocheng + * @date 2025-06-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = Clean.class, reverseConvertGenerate = false) +public class CleanRelationBo extends BaseEntity { + + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 保洁id + */ + private Long cleanId; + + /** + * 面积 + */ + private Long area; +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanRelationVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanRelationVo.java new file mode 100644 index 0000000..d2a97d2 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanRelationVo.java @@ -0,0 +1,43 @@ +package org.dromara.property.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.property.domain.Clean; + +import java.io.Serial; + +/** + * 保洁详情关联表 clean_relation + * + * @author mocheng + * @date 2025-06-19 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = Clean.class, reverseConvertGenerate = false) +public class CleanRelationVo extends BaseEntity { + + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 保洁id + */ + private Long cleanId; + + /** + * 面积 + */ + private Long area; +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java index 550c005..abc542e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CleanVo.java @@ -52,7 +52,7 @@ public class CleanVo implements Serializable { /** * 保洁面积 */ - private Long cleanArea; + private Long area; /** * 计算方式 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java index da9f2ef..26000e1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanOrderMapper.java @@ -15,4 +15,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; public interface CleanOrderMapper extends BaseMapperPlus { Page selectForPage(Page build, LambdaQueryWrapper lqw); + +// int insertCleanOrder(CleanOrder add); } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanRelationMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanRelationMapper.java new file mode 100644 index 0000000..9e82ece --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CleanRelationMapper.java @@ -0,0 +1,18 @@ +package org.dromara.property.mapper; + +import org.apache.ibatis.annotations.Insert; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.property.domain.CleanRelation; +import org.dromara.property.domain.vo.CleanRelationVo; + +/** + * 保洁-保洁关系表Mapper接口 + * + * @author mocheng + * @date 2025-07-01 + */ +public interface CleanRelationMapper extends BaseMapperPlus { + + @Insert("insert into clean_relation(id,clean_id, area, sum_prices) values(#{id},#{cleanId}, #{area}, #{sumPrices})") + void insertCleanRelation(CleanRelation cleanRelation); +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java index d677738..3b71a9c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CleanOrderServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.Mapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -13,8 +14,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.property.domain.Clean; +import org.dromara.property.domain.CleanRelation; import org.dromara.property.domain.CleanserverOrder; import org.dromara.property.mapper.CleanMapper; +import org.dromara.property.mapper.CleanRelationMapper; import org.dromara.property.mapper.CleanserverOrderMapper; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -26,6 +29,7 @@ import org.dromara.property.service.ICleanOrderService; import org.springframework.transaction.annotation.Transactional; import org.stringtemplate.v4.ST; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -47,6 +51,8 @@ public class CleanOrderServiceImpl implements ICleanOrderService { private final CleanMapper cleanMapper; + private final CleanRelationMapper cleanRelationMapper; + /** * 查询保洁订单 * @@ -118,54 +124,69 @@ public class CleanOrderServiceImpl implements ICleanOrderService { public Boolean insertByBo(CleanOrderBo bo) { //向clean_order表中插入数据 // CleanOrder add = MapstructUtils.convert(bo, CleanOrder.class); -// validEntityBeforeSave(add); CleanOrder add = new CleanOrder(); + validEntityBeforeSave(add); BeanUtils.copyProperties(bo, add); + add.setStarTime(new DateTime(bo.getStarTime()).toLocalDateTime()); + add.setEndTime(new DateTime(bo.getEndTime()).toLocalDateTime()); + boolean flag = baseMapper.insert(add) > 0; + //向clean表中插入数据 //判断clean表是否为空 List cleanList = bo.getCleanList(); if (!CollectionUtils.isEmpty(cleanList)) { //不为空,循环插入clean表 - for (Clean clean : cleanList) { - BeanUtils.copyProperties(add.getCleanList(), clean); - clean.setSumPrices(clean.getPeices() * clean.getCleanArea()); - cleanMapper.insert(clean); + for (Clean clean : bo.getCleanList()) { + //向clean关联表中插入数据 + CleanRelation cleanRelation = new CleanRelation(); + cleanRelation.setCleanId(clean.getId()); + cleanRelation.setArea(clean.getArea()); + cleanRelation.setSumPrices(clean.getPeices() * clean.getArea()); + + cleanRelationMapper.insertCleanRelation(cleanRelation); } } - //通过clean表格中的所有总价,计算出clean_order表中的总价 - add.setSumPeices(cleanList.stream().map(Clean::getSumPrices).reduce(Long::sum).orElse(0L)); - - boolean flag = baseMapper.insert(add) > 0; - - //向中间表插入数据 - if (flag) { - bo.setId(add.getId()); - ArrayList cleanserverOrders = new ArrayList<>(); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - // 查询cleanserver_order表中的所有记录 - List cleanserverOrderList = cleanserverOrderMapper.selectList(queryWrapper); - //判断是否有cleanserver表中的数据 - if (!cleanserverOrderList.isEmpty()) { - // 循环插入cleanserver_order表 - for (CleanserverOrder order : cleanserverOrderList) { - Long cleanId = order.getCleanServerId(); - CleanserverOrder cleanserverOrder = new CleanserverOrder(); - cleanserverOrder.setCleanServerId(cleanId); - cleanserverOrder.setOrderId(add.getId()); -// CleanserverOrder convert = MapstructUtils.convert(cleanserverOrder, CleanserverOrder.class); - cleanserverOrders.add(cleanserverOrder); - } + //通过cleanlist取出所有的cleanId + List cleanIds = cleanList.stream().map(Clean::getId).collect(Collectors.toList()); + //向cleanserver_order表中插入数据 + if (!CollectionUtils.isEmpty(cleanIds)) { + //循环插入cleanserver_order表 + for (Long cleanId : cleanIds) { + CleanserverOrder cleanserverOrder = new CleanserverOrder(); + cleanserverOrder.setCleanServerId(cleanId); + cleanserverOrder.setOrderId(add.getId()); + cleanserverOrderMapper.insert(cleanserverOrder); } - - - cleanserverOrderMapper.insert(cleanserverOrders); - } + +// //向中间表插入数据 +// if (flag) { +// bo.setId(add.getId()); +// ArrayList cleanserverOrders = new ArrayList<>(); +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// // 查询cleanserver_order表中的所有记录 +// List cleanserverOrderList = cleanserverOrderMapper.selectList(queryWrapper); +// //判断是否有cleanserver表中的数据 +//// if (!cleanserverOrderList.isEmpty()) { +//// // 循环插入cleanserver_order表 +//// for (CleanserverOrder order : cleanserverOrderList) { +//// Long cleanId = order.getCleanServerId(); +//// CleanserverOrder cleanserverOrder = new CleanserverOrder(); +//// cleanserverOrder.setCleanServerId(cleanId); +//// cleanserverOrder.setOrderId(add.getId()); +//// cleanserverOrders.add(cleanserverOrder); +//// } +//// } +// +// +// cleanserverOrderMapper.insert(cleanserverOrders); +// +// } return flag; } From 49d512970d66fed727924bba72bab686ca97eb51 Mon Sep 17 00:00:00 2001 From: dy <2389062315@qq.com> Date: Tue, 1 Jul 2025 15:15:16 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index e37a556..1bc0e9c 100644 --- a/pom.xml +++ b/pom.xml @@ -90,10 +90,10 @@ dev - 127.0.0.1:8848 - 127.0.0.1:4560 - - + + + 47.109.37.87:8848 + 47.109.37.87:4560 DEFAULT_GROUP DEFAULT_GROUP nacos