From dfe379f10f5d16a3b34b33f260d3a7ca97c7fdc6 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 十月 2025 14:43:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdServiceImpl.java index 00de1bd..68705d9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdServiceImpl.java @@ -1,10 +1,19 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.system.dto.asset.AssetAdDTO; import com.ruoyi.system.mapper.AssetAdMapper; import com.ruoyi.system.model.AssetAd; import com.ruoyi.system.service.AssetAdService; +import com.ruoyi.system.service.AssetTypeService; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; /** * <p> @@ -15,6 +24,42 @@ * @since 2025-09-15 */ @Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class AssetAdServiceImpl extends ServiceImpl<AssetAdMapper, AssetAd> implements AssetAdService { + private final AssetTypeService assetTypeService; + @Override + public void addAssetAd(AssetAdDTO dto) { + AssetAd assetAd = BeanUtil.copyProperties(dto, AssetAd.class); + assetAd.setAssetTypeId(2); + assetAd.setAssetCode(generateCode()); + assetAd.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + save(assetAd); + } + private String generateCode() { + // 根据资产类型ID获取资产编码前缀 + String typeCodePrefix = assetTypeService.getAssetCodePrefix(2); + LocalDate today = LocalDate.now(); + String dateStr = today.format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String prefix = typeCodePrefix + dateStr + "-"; + + // 查询当天该类型资产的数量 + Long count = this.lambdaQuery() + .like(AssetAd::getAssetCode, prefix) + .ge(AssetAd::getCreateTime, today.atStartOfDay()) + .lt(AssetAd::getCreateTime, today.plusDays(1).atStartOfDay()) + .count(); + + int sequence = (count != null ? count.intValue() : 0) + 1; + String sequenceStr = String.format("%04d", sequence); + + return prefix + sequenceStr; + } + + @Override + public void editAssetAd(AssetAdDTO dto) { + AssetAd assetAd = BeanUtil.copyProperties(dto, AssetAd.class); + assetAd.setUpdateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + updateById(assetAd); + } } -- Gitblit v1.7.1