优化量表套餐结构路劲。优化获取量表套餐详情接口

This commit is contained in:
cjw 2024-10-24 10:22:20 +08:00
parent 79f581f259
commit 7b7b858cca
9 changed files with 99 additions and 32 deletions

View File

@ -1,4 +1,4 @@
package org.dromara.system.controller.system; package org.dromara.scale.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaCheckRole; import cn.dev33.satoken.annotation.SaCheckRole;
@ -15,9 +15,10 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.bo.SysScalePackageBo; import org.dromara.scale.domain.bo.SysScalePackageBo;
import org.dromara.system.domain.vo.SysScalePackageVo; import org.dromara.scale.domain.vo.SysScalePackageDetailVo;
import org.dromara.system.service.ISysScalePackageService; import org.dromara.scale.domain.vo.SysScalePackageVo;
import org.dromara.scale.service.ISysScalePackageService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -65,7 +66,7 @@ public class SysScalePackageController extends BaseController {
@SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY)
@SaCheckPermission("system:scalePackage:query") @SaCheckPermission("system:scalePackage:query")
@GetMapping("/{packageId}") @GetMapping("/{packageId}")
public R<SysScalePackageVo> getInfo(@NotNull(message = "主键不能为空") public R<SysScalePackageDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long packageId) { @PathVariable Long packageId) {
return R.ok(sysScalePackageService.queryById(packageId)); return R.ok(sysScalePackageService.queryById(packageId));
} }

View File

@ -1,4 +1,4 @@
package org.dromara.system.domain; package org.dromara.scale.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableLogic;
@ -9,7 +9,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.system.domain.vo.SysScalePackageVo; import org.dromara.scale.domain.vo.SysScalePackageVo;
import java.io.Serial; import java.io.Serial;

View File

@ -1,14 +1,15 @@
package org.dromara.system.domain.bo; package org.dromara.scale.domain.bo;
import io.github.linpeilie.annotations.AutoMapping;
import org.dromara.system.domain.SysScalePackage;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMapping;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.scale.domain.SysScalePackage;
import java.util.List; import java.util.List;

View File

@ -0,0 +1,52 @@
package org.dromara.scale.domain.vo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.scale.domain.SysScale;
import org.dromara.scale.domain.SysScalePackage;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 量表套餐视图对象 sys_scale_package
*
* @author cjw
* @date 2024-10-23
*/
@Data
@AutoMapper(target = SysScalePackage.class)
public class SysScalePackageDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 量表套餐id
*/
private Long packageId;
/**
* 套餐名称
*/
private String packageName;
/**
* 关联量表id
*/
List<SysScale> scaleDetail;
/**
* 备注
*/
private String remark;
/**
* 状态0正常 1停用
*/
private String status;
}

View File

@ -1,4 +1,4 @@
package org.dromara.system.domain.vo; package org.dromara.scale.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;

View File

@ -1,9 +1,10 @@
package org.dromara.system.mapper; package org.dromara.scale.mapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.dromara.system.domain.SysScalePackage;
import org.dromara.system.domain.vo.SysScalePackageVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.scale.domain.SysScalePackage;
import org.dromara.scale.domain.vo.SysScalePackageVo;
/** /**
* 量表套餐Mapper接口 * 量表套餐Mapper接口

View File

@ -1,9 +1,10 @@
package org.dromara.system.service; package org.dromara.scale.service;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.bo.SysScalePackageBo; import org.dromara.scale.domain.bo.SysScalePackageBo;
import org.dromara.system.domain.vo.SysScalePackageVo; import org.dromara.scale.domain.vo.SysScalePackageDetailVo;
import org.dromara.scale.domain.vo.SysScalePackageVo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -22,7 +23,7 @@ public interface ISysScalePackageService {
* @param packageId 主键 * @param packageId 主键
* @return 量表套餐 * @return 量表套餐
*/ */
SysScalePackageVo queryById(Long packageId); SysScalePackageDetailVo queryById(Long packageId);
/** /**
* 分页查询量表套餐列表 * 分页查询量表套餐列表

View File

@ -1,6 +1,7 @@
package org.dromara.system.service.impl; package org.dromara.scale.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -11,16 +12,18 @@ import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.SysScalePackage; import org.dromara.scale.domain.SysScale;
import org.dromara.scale.domain.SysScalePackage;
import org.dromara.scale.domain.bo.SysScalePackageBo;
import org.dromara.scale.domain.vo.SysScalePackageDetailVo;
import org.dromara.scale.domain.vo.SysScalePackageVo;
import org.dromara.scale.mapper.SysScaleMapper;
import org.dromara.scale.mapper.SysScalePackageMapper;
import org.dromara.scale.service.ISysScalePackageService;
import org.dromara.system.domain.SysTenant; import org.dromara.system.domain.SysTenant;
import org.dromara.system.domain.bo.SysScalePackageBo;
import org.dromara.system.domain.vo.SysScalePackageVo;
import org.dromara.system.mapper.SysScalePackageMapper;
import org.dromara.system.mapper.SysTenantMapper; import org.dromara.system.mapper.SysTenantMapper;
import org.dromara.system.service.ISysScalePackageService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -37,6 +40,7 @@ public class SysScalePackageServiceImpl implements ISysScalePackageService {
private final SysScalePackageMapper baseMapper; private final SysScalePackageMapper baseMapper;
private final SysTenantMapper tenantMapper; private final SysTenantMapper tenantMapper;
private final SysScaleMapper scaleMapper;
/** /**
* 查询量表套餐 * 查询量表套餐
@ -45,8 +49,15 @@ public class SysScalePackageServiceImpl implements ISysScalePackageService {
* @return 量表套餐 * @return 量表套餐
*/ */
@Override @Override
public SysScalePackageVo queryById(Long packageId) { public SysScalePackageDetailVo queryById(Long packageId) {
return baseMapper.selectVoById(packageId);
SysScalePackage scalePackage = baseMapper.selectById(packageId);
SysScalePackageDetailVo detailVo = MapstructUtils.convert(scalePackage, SysScalePackageDetailVo.class);
List<String> split = StrUtil.split(scalePackage.getScaleIds(), ",");
List<SysScale> sysScales = scaleMapper.selectList(new LambdaQueryWrapper<SysScale>().select(SysScale::getScaleId)
.select(SysScale::getScaleName).in(SysScale::getScaleId, split));
detailVo.setScaleDetail(sysScales);
return detailVo;
} }
/** /**

View File

@ -2,6 +2,6 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.system.mapper.SysScalePackageMapper"> <mapper namespace="org.dromara.scale.mapper.SysScalePackageMapper">
</mapper> </mapper>