buhuazhen
2 天以前 893ffa33b917229726eb9e7c4581d75981b2477d
:zap: 对于前端修改 采购和应付
已修改9个文件
已添加11个文件
506 ■■■■■ 文件已修改
main-business/src/main/java/com/ruoyi/business/controller/DuePayableController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/dto/DuePayableDto.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/entity/DuePayable.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/mapper/DuePayableMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/service/DuePayableService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/service/impl/DuePayableServiceImpl.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/vo/DuePayableVo.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/vo/SearchDuePurchaseVo.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/resources/mapper/DuePayableMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/basic/entity/dto/SimpleStorageDto.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageBlobService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/DictDataVo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main-business/src/main/java/com/ruoyi/business/controller/DuePayableController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
package com.ruoyi.business.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.business.dto.DuePayableDto;
import com.ruoyi.business.entity.DuePayable;
import com.ruoyi.business.service.DuePayableService;
import com.ruoyi.business.vo.DuePayableVo;
import com.ruoyi.business.vo.SearchDuePurchaseVo;
import com.ruoyi.common.core.domain.R;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
 * åº”付款controller
 *
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@RestController
@Api(tags = "应付款")
@AllArgsConstructor
@RequestMapping("/duePayable")
public class DuePayableController {
    private final DuePayableService duePayableService;
    @PostMapping("/addDuePayable")
    public R addDuePayable(@RequestBody DuePayableDto duePayableDto) {
        return R.ok(duePayableService.addDuePayable(duePayableDto));
    }
    @GetMapping("/list")
    public R<IPage<DuePayableVo>> list(Page<DuePayable> page, SearchDuePurchaseVo vo) {
        return R.ok(duePayableService.selectPayableList(page, vo));
    }
}
main-business/src/main/java/com/ruoyi/business/dto/DuePayableDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.ruoyi.business.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@Data
public class DuePayableDto {
    private Long id;
    private String ticketNo;
    /**
     * å¯¹åº”采购信息表id
     */
    private Long purchaseRegistrationId;
    /**
     * ä»˜æ¬¾ç±»åž‹ ï¼ˆé¢„付款、进度款、质保金等)
     */
    private Integer payableType;
    /**
     * ä»˜æ¬¾é‡‘额
     */
    private String paymentAmount;
    /**
     * é™„ä»¶ `,`分割
     */
    private String attachUpload;
}
main-business/src/main/java/com/ruoyi/business/entity/DuePayable.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.business.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.MyBaseEntity;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * åº”付款表
 * @TableName due_payable
 */
@TableName(value ="due_payable")
@Data
public class DuePayable extends MyBaseEntity {
    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * ç¥¨å·
     */
    @TableField("ticket_no")
    private String ticketNo;
    /**
     * å¯¹åº”采购信息表id
     */
    @TableField("purchase_registration_id")
    private Long purchaseRegistrationId;
    /**
     * ä»˜æ¬¾ç±»åž‹ ï¼ˆé¢„付款、进度款、质保金等)
     */
    @TableField("payable_type")
    private Integer payableType;
    /**
     * ä»˜æ¬¾é‡‘额
     */
    @TableField("payment_amount")
    private BigDecimal paymentAmount;
    /**
     * é™„ä»¶ `,`分割
     */
    @TableField("attach_upload")
    private String attachUpload;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java
@@ -95,6 +95,11 @@
    @TableField(value = "coal_plan_id")
    private Long coalPlanId;
    /**
     * é‡‡è´­ç±»åž‹
     */
    @TableField(value = "purchase_type")
    private Integer purchaseType;
    /**
     * ç™»è®°æ—¥æœŸ
     */
    @TableField(value = "registration_date")
main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java
@@ -93,4 +93,9 @@
     */
    @TableField(value = "freight")
    private BigDecimal freight;
    /**
     * é‡‡è´­ç±»åž‹
     */
    @TableField(value = "purchase_type")
    private Integer purchaseType;
}
main-business/src/main/java/com/ruoyi/business/mapper/DuePayableMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.ruoyi.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.business.entity.DuePayable;
import org.mapstruct.Mapper;
/**
* @author buhuazhen
* @description é’ˆå¯¹è¡¨ã€due_payable(应付款表)】的数据库操作Mapper
* @createDate 2025-08-26 16:12:56
* @Entity generator.domain.DuePayable
*/
public interface DuePayableMapper extends BaseMapper<DuePayable> {
}
main-business/src/main/java/com/ruoyi/business/service/DuePayableService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.ruoyi.business.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.dto.DuePayableDto;
import com.ruoyi.business.dto.PurchaseRegistrationDto;
import com.ruoyi.business.entity.DuePayable;
import com.ruoyi.business.entity.PurchaseRegistration;
import com.ruoyi.business.vo.DuePayableVo;
import com.ruoyi.business.vo.SearchDuePurchaseVo;
/**
* @author buhuazhen
* @description é’ˆå¯¹è¡¨ã€due_payable(应付款表)】的数据库操作Service
* @createDate 2025-08-26 16:12:56
*/
public interface DuePayableService extends IService<DuePayable> {
    int addDuePayable(DuePayableDto dueDto);
    IPage<DuePayableVo> selectPayableList(Page<DuePayable> page, SearchDuePurchaseVo vo);
}
main-business/src/main/java/com/ruoyi/business/service/impl/DuePayableServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.ruoyi.business.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.entity.dto.SimpleStorageDto;
import com.ruoyi.basic.service.StorageBlobService;
import com.ruoyi.business.dto.DuePayableDto;
import com.ruoyi.business.entity.DuePayable;
import com.ruoyi.business.mapper.DuePayableMapper;
import com.ruoyi.business.service.DuePayableService;
import com.ruoyi.business.vo.DuePayableVo;
import com.ruoyi.business.vo.SearchDuePurchaseVo;
import com.ruoyi.common.utils.StringUtils;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * @author buhuazhen
 * @description é’ˆå¯¹è¡¨ã€due_payable(应付款表)】的数据库操作Service实现
 * @createDate 2025-08-26 16:12:56
 */
@Service
@RequiredArgsConstructor
public class DuePayableServiceImpl extends ServiceImpl<DuePayableMapper, DuePayable>
        implements DuePayableService {
    private final StorageBlobService storageBlobService;
    private final DuePayableMapper duePayableMapper;
    @Getter
    @Value("${minio.default-bucket}")
    private String defaultBucket;
    @Override
    public int addDuePayable(DuePayableDto dto) {
        DuePayable duePayable = new DuePayable();
        duePayable.setPayableType(dto.getPayableType());
        duePayable.setAttachUpload(dto.getAttachUpload());
        duePayable.setPurchaseRegistrationId(dto.getPurchaseRegistrationId());
        duePayable.setPaymentAmount(new BigDecimal(dto.getPaymentAmount()));
        duePayable.setTicketNo(dto.getTicketNo());
        duePayable.setId(dto.getId());
        if (Objects.isNull(dto.getId())) {
            return duePayableMapper.insert(duePayable);
        }
        return duePayableMapper.updateById(duePayable);
    }
    @Override
    public IPage<DuePayableVo> selectPayableList(Page<DuePayable> page, SearchDuePurchaseVo vo) {
        LambdaQueryWrapper<DuePayable> queryWrapper = new LambdaQueryWrapper<>();
        // todo æœç´¢æ¡ä»¶æš‚时不知道是什么🤷
        queryWrapper.orderByDesc(DuePayable::getCreateTime);
        Page<DuePayable> duePayablePage = duePayableMapper.selectPage(page, queryWrapper);
        /**
         * æŸ¥è¯¢å‡ºé™„ä»¶id ç”±äºŽåŽç»­è¯¦ç»†
         */
        Map<Long, List<Long>> attachMap = duePayablePage.getRecords().stream()
                .collect(Collectors.toMap(
                        DuePayable::getId,
                        it -> {
                            if (StringUtils.isNotBlank(it.getAttachUpload())) {
                                return Arrays.stream(it.getAttachUpload().split(","))
                                        .map(Long::parseLong)
                                        .collect(Collectors.toList());
                            } else {
                                return List.of();
                            }
                        }
                ));
        /**
         * æ ¹æ®ä¸Šé¢çš„ids æŸ¥è¯¢å‡ºå…·ä½“信息
         */
        Map<Long,SimpleStorageDto> storageMap = storageBlobService.findStorageByIds(attachMap.values().stream().flatMap(List::stream).toList(), getDefaultBucket()).stream().collect(Collectors.toMap(SimpleStorageDto::getId,it->it));
        List<DuePayableVo> convertedList = duePayablePage.getRecords().stream().map(it -> {
            DuePayableVo dueVo = new DuePayableVo(it.getId(), it.getTicketNo(), it.getPurchaseRegistrationId(), it.getPayableType(), it.getPaymentAmount(),Long.parseLong(it.getCreateBy()),it.getCreateTime().toLocalDate());
            // æ–‡ä»¶ä¿¡æ¯
            List<Long> storageIds = attachMap.get(it.getId());
            dueVo.setAttachFileList(
                    storageIds.stream()
                            .map(storageMap::get)   // O(1) èŽ·å–
                            .filter(Objects::nonNull)
                            .toList()
            );
            return dueVo;
        }).toList();
        IPage<DuePayableVo> voPage = new Page<>();
        voPage.setCurrent(duePayablePage.getCurrent());
        voPage.setSize(duePayablePage.getSize());
        voPage.setTotal(duePayablePage.getTotal());
        voPage.setRecords(convertedList);
        return voPage;
    }
}
main-business/src/main/java/com/ruoyi/business/vo/DuePayableVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package com.ruoyi.business.vo;
import com.ruoyi.basic.entity.dto.SimpleStorageDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
/**
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DuePayableVo {
    private Long id;
    private String ticketNo;
    private Long purchaseRegistrationId;
    // æœ‰éœ€è¦å¯ä»¥æŸ¥è¯¢å‡ºé‡‡è´­å…·ä½“信息
    private Integer payableType;
    private BigDecimal paymentAmount;
    private List<SimpleStorageDto> attachFileList;
    private Long registrantId;
    private LocalDate registrationDate;
    public DuePayableVo(Long id, String ticketNo, Long purchaseRegistrationId, Integer payableType, BigDecimal paymentAmount) {
        this.id = id;
        this.ticketNo = ticketNo;
        this.purchaseRegistrationId = purchaseRegistrationId;
        this.payableType = payableType;
        this.paymentAmount = paymentAmount;
    }
    public DuePayableVo(Long id, String ticketNo, Long purchaseRegistrationId, Integer payableType, BigDecimal paymentAmount, Long registrantId, LocalDate registrationDate) {
        this.id = id;
        this.ticketNo = ticketNo;
        this.purchaseRegistrationId = purchaseRegistrationId;
        this.payableType = payableType;
        this.paymentAmount = paymentAmount;
        this.registrantId = registrantId;
        this.registrationDate = registrationDate;
    }
}
main-business/src/main/java/com/ruoyi/business/vo/SearchDuePurchaseVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.ruoyi.business.vo;
import lombok.Data;
/**
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@Data
public class SearchDuePurchaseVo {
    private String search;
}
main-business/src/main/resources/mapper/DuePayableMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.business.mapper.DuePayableMapper">
    <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.DuePayable">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="ticketNo" column="ticket_no" jdbcType="VARCHAR"/>
            <result property="purchaseRegistrationId" column="purchase_registration_id" jdbcType="BIGINT"/>
            <result property="payableType" column="payable_type" jdbcType="INTEGER"/>
            <result property="paymentAmount" column="payment_amount" jdbcType="NUMERIC"/>
            <result property="attachUpload" column="attach_upload" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,ticket_no,purchase_registration_id,
        payable_type,payment_amount,attach_upload,
        deleted,create_by,create_time,
        update_by,update_time
    </sql>
</mapper>
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
@@ -49,6 +49,15 @@
        return getDataTable(list);
    }
    /**
     * èŽ·å–å…¨éƒ¨å¯ç”¨å­—æ®µä¿¡æ¯
     * @return
     */
    @GetMapping("/dictDataList")
    public AjaxResult dictDataList(){
       return AjaxResult.success(dictDataService.selectAllDictDataList());
    }
    @Log(title = "字典数据", businessType = BusinessType.EXPORT)
    @PreAuthorize("@ss.hasPermi('system:dict:export')")
    @PostMapping("/export")
ruoyi-common/src/main/java/com/ruoyi/basic/entity/dto/SimpleStorageDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.ruoyi.basic.entity.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SimpleStorageDto {
    private Long id;
    private String originalFilename;
    private String contentType;
    private String url;
    private String downloadUrl;
    private Date createTime;
    public SimpleStorageDto(Long id, String contentType, String originalFilename, Date createTime) {
        this.id = id;
        this.contentType = contentType;
        this.originalFilename = originalFilename;
        this.createTime = createTime;
    }
}
ruoyi-common/src/main/java/com/ruoyi/basic/service/StorageBlobService.java
@@ -3,6 +3,7 @@
import com.ruoyi.basic.entity.StorageAttachment;
import com.ruoyi.basic.entity.StorageBlob;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.entity.dto.SimpleStorageDto;
import com.ruoyi.basic.entity.dto.StorageBlobDTO;
import org.springframework.web.multipart.MultipartFile;
@@ -32,4 +33,6 @@
     * @return
     */
    public int deleteStorageBlobs(StorageAttachment attachment);
    List<SimpleStorageDto> findStorageByIds(List<Long> ids,String bucketName);
}
ruoyi-common/src/main/java/com/ruoyi/basic/service/impl/StorageBlobServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.entity.StorageAttachment;
import com.ruoyi.basic.entity.StorageBlob;
import com.ruoyi.basic.entity.dto.SimpleStorageDto;
import com.ruoyi.basic.entity.dto.StorageBlobDTO;
import com.ruoyi.basic.mapper.StorageAttachmentMapper;
import com.ruoyi.basic.mapper.StorageBlobMapper;
@@ -47,7 +48,7 @@
    private MinioUtils minioUtils;
    @Override
    public List<StorageBlobDTO> updateStorageBlobs(List<MultipartFile> files, String bucketName,Long type) {
    public List<StorageBlobDTO> updateStorageBlobs(List<MultipartFile> files, String bucketName, Long type) {
        // è‹¥æ²¡ä¼ å…¥bucketName,则使用默认bucketName
        if (StringUtils.isEmpty(bucketName)) {
@@ -85,7 +86,7 @@
                "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt", "rtf", "md", "csv", "odt",
                // è§†é¢‘
                "mp4", "mov", "avi", "wmv", "flv", "mkv", "webm", "mpeg", "3gp","MOV",
                "mp4", "mov", "avi", "wmv", "flv", "mkv", "webm", "mpeg", "3gp", "MOV",
                // éŸ³é¢‘
                "mp3", "wav", "ogg", "aac", "flac", "m4a", "wma", "amr",
@@ -142,7 +143,7 @@
                    new LambdaQueryWrapper<StorageBlob>().in(StorageBlob::getId, ids)
            );
        }
        // ç§»é™¤MinIO中的文件
        if (!storageBlobs.isEmpty()) {
            for (StorageBlob storageBlob : storageBlobs) {
@@ -158,4 +159,17 @@
        }
        return 0;
    }
    @Override
    public List<SimpleStorageDto> findStorageByIds(List<Long> ids, String bucketName) {
        if (ids == null || ids.isEmpty()) {
            return List.of();
        }
        return storageBlobMapper.selectByIds(ids).parallelStream().map(it -> {
            SimpleStorageDto dto = new SimpleStorageDto(it.getId(), it.getContentType(), it.getOriginalFilename(), it.getCreateTime());
            dto.setDownloadUrl(minioUtils.getDownloadUrls(it.getBucketFilename(), bucketName, it.getOriginalFilename(), true));
            dto.setUrl(minioUtils.getPreviewUrl(it.getBucketFilename(), bucketName, true));
            return dto;
        }).toList();
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/DictDataVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.ruoyi.system.domain.vo;
import lombok.Data;
import lombok.RequiredArgsConstructor;
/**
 * @author buhuazhen
 * @date 2025/8/26
 * @email 3038525872@qq.com
 */
@Data
public class DictDataVo {
    private String label;
    private String value;
    private String type;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
@@ -19,6 +19,8 @@
     */
    public List<SysDictData> selectDictDataList(SysDictData dictData);
    public List<SysDictData> selectAllDictList();
    /**
     * æ ¹æ®å­—典类型查询字典数据
     * 
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
@@ -2,6 +2,7 @@
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.system.domain.vo.DictDataVo;
/**
 * å­—å…¸ ä¸šåС层
@@ -57,4 +58,7 @@
     * @return ç»“æžœ
     */
    public int updateDictData(SysDictData dictData);
    public List<DictDataVo> selectAllDictDataList();
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.system.domain.vo.DictDataVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -108,4 +110,15 @@
        }
        return row;
    }
    @Override
    public List<DictDataVo> selectAllDictDataList() {
       return dictDataMapper.selectAllDictList().stream().map(it->{
            DictDataVo dict =  new DictDataVo();
            dict.setLabel(it.getDictLabel());
            dict.setValue(it.getDictValue());
            dict.setType(it.getDictType());
            return dict;
        }).toList();
    }
}
ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -59,8 +59,12 @@
    <select id="countDictDataByType" resultType="Integer">
        select count(1) from sys_dict_data where dict_type=#{dictType}  
    </select>
    <delete id="deleteDictDataById" parameterType="Long">
    <select id="selectAllDictList" resultType="com.ruoyi.common.core.domain.entity.SysDictData">
        <include refid="selectDictDataVo"/>
            where status = '0'
    </select>
    <delete id="deleteDictDataById" parameterType="Long">
         delete from sys_dict_data where dict_code = #{dictCode}
     </delete>