From 6840411c4d1ee4bd562b1abb02df655c316f7f8c Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 3 Mar 2025 23:55:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AF=8F=E6=97=A5?= =?UTF-8?q?=E8=8F=9C=E8=B0=B1=E6=96=B0=E5=A2=9E=E5=8F=AF=E8=83=BD=E4=BC=9A?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CanteenDailyMenuServiceImpl.java | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java index 13c06bd42..cb74c31e2 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java @@ -24,6 +24,7 @@ import com.bsd.pjcloud.wallet.api.vo.MchManageVo; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.DayOfWeek; import java.time.LocalDate; @@ -93,13 +94,33 @@ public class CanteenDailyMenuServiceImpl extends ServiceImpl { - CanteenDailyMenuEntity todayDO = new CanteenDailyMenuEntity(); - BeanUtils.copyProperties(canteenDailyMenu, todayDO); - todayDO.setSpuId(x); - baseMapper.insert(todayDO); - }); + List spuIds = Optional.ofNullable(canteenDailyMenu.getSpuIds()).orElse(Collections.emptyList()); + if (spuIds.isEmpty()) return; + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(CanteenDailyMenuEntity::getMerchantId, canteenDailyMenu.getMerchantId()) + .eq(CanteenDailyMenuEntity::getStartTime, canteenDailyMenu.getStartTime()) + .eq(CanteenDailyMenuEntity::getHourType, canteenDailyMenu.getHourType()) + .select(CanteenDailyMenuEntity::getSpuId); // 仅查询必要字段 + + List existSpuIds = baseMapper.selectList(queryWrapper) + .stream() + .map(CanteenDailyMenuEntity::getSpuId) + .collect(Collectors.toList()); + + List insertList = spuIds.stream() + .filter(id -> !existSpuIds.contains(id)) + .map(id -> { + CanteenDailyMenuEntity entity = new CanteenDailyMenuEntity(); + BeanUtils.copyProperties(canteenDailyMenu, entity); + entity.setSpuId(id); + return entity; + }) + .collect(Collectors.toList()); + saveBatch(insertList); + // 发送mq消息 sendMqttMsg(canteenDailyMenu.getMerchantId()); } From c985458b138eca03bd0d9b7765ea197bfe040cc0 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Tue, 4 Mar 2025 00:30:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=AF=8F=E6=97=A5?= =?UTF-8?q?=E8=8F=9C=E8=B0=B1=E6=96=B0=E5=A2=9E=E5=8F=AF=E8=83=BD=E4=BC=9A?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/CanteenDailyMenuMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml index 9ba506975..22db42b53 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml @@ -31,7 +31,7 @@