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; }