diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java index 1e3ec6979..8faea9e73 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscServiceController.java @@ -1,30 +1,31 @@ package com.ruoyi.isc.controller; -import java.util.List; -import java.util.Arrays; -import java.util.concurrent.TimeUnit; - -import lombok.RequiredArgsConstructor; -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.*; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.isc.domain.vo.IscServiceVo; +import com.ruoyi.isc.domain.bo.IscAuditBo; import com.ruoyi.isc.domain.bo.IscServiceBo; +import com.ruoyi.isc.domain.vo.IscServiceVo; import com.ruoyi.isc.service.IIscServiceService; -import com.ruoyi.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; /** * 服务信息Controller @@ -109,4 +110,16 @@ public class IscServiceController extends BaseController { @PathVariable Long[] serviceIds) { return toAjax(iIscServiceService.deleteWithValidByIds(Arrays.asList(serviceIds), true) ? 1 : 0); } + + /** + * 服务信息审核 + */ + @ApiOperation("服务信息审核") + @PreAuthorize("@ss.hasPermi('isc:service:audit')") + @Log(title = "服务信息审核", businessType = BusinessType.AUDIT) + @RepeatSubmit() + @PutMapping("/audit") + public AjaxResult audit(@Validated @RequestBody IscAuditBo bo) { + return toAjax(iIscServiceService.audit(bo) ? 1 : 0); + } } diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java index dc125d83f..2ff145ec1 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscServiceService.java @@ -1,10 +1,10 @@ package com.ruoyi.isc.service; import cn.hutool.core.lang.tree.Tree; -import cn.hutool.core.lang.tree.TreeNode; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.isc.domain.IscService; +import com.ruoyi.isc.domain.bo.IscAuditBo; import com.ruoyi.isc.domain.bo.IscServiceBo; import com.ruoyi.isc.domain.vo.IscServiceVo; @@ -77,4 +77,17 @@ public interface IIscServiceService extends IServicePlus> genServiceTree(Set exitsIds); + + /** + * 服务信息审核 + * @param bo 审核信息 + * @return 操作结果 + */ + Boolean audit(IscAuditBo bo); + + /** + * 校验 审核参数 + * @param bo 审核业务对象 + */ + void checkAuditBO(IscAuditBo bo); } diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java index c6c805832..a48376e36 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscAppServiceApplyServiceImpl.java @@ -2,14 +2,12 @@ package com.ruoyi.isc.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.constant.IscConstants; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.isc.domain.IscAppService; @@ -138,15 +136,7 @@ public class IscAppServiceApplyServiceImpl extends ServicePlusImpl new ServiceException("审核意见不能为空")); - break; - default: - throw new ServiceException("审核状态异常"); - } + serviceService.checkAuditBO(bo); boolean result = true; for (Long id : bo.getIds()) { diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscServiceServiceImpl.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscServiceServiceImpl.java index 2b0895d11..1ecff6f25 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscServiceServiceImpl.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscServiceServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.isc.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.map.MapUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -12,11 +13,13 @@ import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.FullPathUtils; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.isc.domain.IscService; +import com.ruoyi.isc.domain.bo.IscAuditBo; import com.ruoyi.isc.domain.bo.IscServiceBo; import com.ruoyi.isc.domain.vo.IscServiceVo; import com.ruoyi.isc.mapper.IscServiceMapper; @@ -159,4 +162,37 @@ public class IscServiceServiceImpl extends ServicePlusImpllambdaQuery() + .eq(IscService::getServiceId, id) + .eq(IscService::getStatus, IscConstants.AUDIT_WAIT), false); + if(Objects.isNull(service)) { + continue; + } + result = updateById(new IscService().setServiceId(id).setStatus(bo.getStatus()) + .setAuditMind(bo.getRemark())); + } + return result; + } + + @Override + public void checkAuditBO(IscAuditBo bo) + { + switch (bo.getStatus()) { + case IscConstants.AUDIT_PASS: + break; + case IscConstants.AUDIT_REJECT: + Assert.notBlank(bo.getRemark(), () -> new ServiceException("审核意见不能为空")); + break; + default: + throw new ServiceException("审核状态异常"); + } + } } diff --git a/ruoyi-ui/src/api/isc/service.js b/ruoyi-ui/src/api/isc/service.js index e181459bc..ba9c58336 100644 --- a/ruoyi-ui/src/api/isc/service.js +++ b/ruoyi-ui/src/api/isc/service.js @@ -42,3 +42,12 @@ export function delService(serviceId) { method: 'delete' }) } + +// 服务信息审核 +export function auditService(data) { + return request({ + url: '/isc/service/audit', + method: 'put', + data: data + }) +} diff --git a/ruoyi-ui/src/views/isc/service/index.vue b/ruoyi-ui/src/views/isc/service/index.vue index 9e613b17d..b191f79a3 100644 --- a/ruoyi-ui/src/views/isc/service/index.vue +++ b/ruoyi-ui/src/views/isc/service/index.vue @@ -78,7 +78,7 @@ icon="el-icon-view" size="mini" :disabled="multiple" - @click="handleUpdate" + @click="handleAudit" v-hasPermi="['isc:service:audit']" >批量审核 @@ -139,14 +139,14 @@ size="mini" type="text" icon="el-icon-info" - @click="handleUpdate(scope.row)" + @click="handleAuditSingle(scope.row)" v-hasPermi="['isc:service:query']" >查看 审核 取 消 + + + + + + 服务分类 + {{this.form.cateName}} + + + 服务名称 + {{this.form.serviceName}} + + + 服务地址 + {{this.form.serviceAddr}} + + + 探活地址 + {{this.form.probeActiveAddr}} + + + 请求方式 + + + + + + 备注 + {{this.form.remark}} + + + 跨域标志 + + + + + + 隐藏参数 + {{this.form.hiddenParams}} + + + JSON文档 + {{this.form.apiDoc}} + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/views/isc/serviceapply/index.vue b/ruoyi-ui/src/views/isc/serviceapply/index.vue index 4c0faa76e..3a11bca06 100644 --- a/ruoyi-ui/src/views/isc/serviceapply/index.vue +++ b/ruoyi-ui/src/views/isc/serviceapply/index.vue @@ -85,19 +85,18 @@ 审核 + icon="el-icon-info" + @click="handleAuditSingle(scope.row, true)" + v-hasPermi="['isc:serviceapply:query']" + >查看 查看 + icon="el-icon-view" + @click="handleAuditSingle(scope.row, false)" + v-if="scope.row.status == 0" + v-hasPermi="['isc:serviceapply:audit']" + >审核 @@ -110,70 +109,70 @@ @pagination="getList" /> - + - + 应用名称 - {{this.form.applicationName}} + {{this.viewData.applicationName}} 服务名称 - {{this.form.serviceName}} + {{this.viewData.serviceName}} 申请类型 - + 审核状态 - + 续期时长(月) - {{this.form.renewalDuration}} + {{this.viewData.renewalDuration}} 每日配额 - {{this.form.quotaDays}} + {{this.viewData.quotaDays}} 小时配额 - {{this.form.quotaHours}} + {{this.viewData.quotaHours}} 分钟配额 - {{this.form.quotaMinutes}} + {{this.viewData.quotaMinutes}} 每秒配额 - {{this.form.quotaSeconds}} + {{this.viewData.quotaSeconds}} 提交人 - {{this.form.updateBy}} + {{this.viewData.updateBy}} 提交时间 - {{this.form.updateTime}} + {{this.viewData.updateTime}} 备注 - {{this.form.remark}} + {{this.viewData.remark}} - + @@ -195,6 +194,10 @@ export default { exportLoading: false, // 选中数组 ids: [], + // 是否查看 + view: false, + // 是否展示详情 + show: false, // 非单个禁用 single: true, // 非多个禁用 @@ -221,7 +224,7 @@ export default { status: undefined, }, // 表单参数 - form: {}, + viewData: {}, // 审核表单参数 auditForm: {}, // 表单校验 @@ -255,18 +258,23 @@ export default { cancel() { this.open = false; this.reset(); + this.resetAudit(); }, selectable(row, index) { return row.status == 0; }, // 表单重置 reset() { - this.form = { - applyId: undefined, + this.viewData = { }; + }, + // 审核表单重置 + resetAudit() { + this.auditForm = { + ids: [], status: "0", remark: undefined }; - this.resetForm("form"); + this.resetForm("auditForm"); }, /** 搜索按钮操作 */ handleQuery() { @@ -289,22 +297,28 @@ export default { if(this.single) { this.open = true; this.title = "服务申请审核"; + this.resetAudit(); + this.show = false; this.auditForm.ids = this.ids; return; } - this.handleAuditSingle(row); + this.handleAuditSingle(row, false); }, - handleAuditSingle(row) { - this.single = false; + handleAuditSingle(row, view) { this.loading = true; + this.view = view; + this.show = true; this.reset(); const applyId = row.applyId || this.ids - console.log(applyId) getServiceapply(applyId).then(response => { this.loading = false; - this.form = response.data; + this.viewData = response.data; this.open = true; - this.title = "服务申请审核"; + if(view) { + this.title = "服务申请查看"; + }else{ + this.title = "服务申请审核"; + } this.auditForm.ids = [applyId] }); }, @@ -314,7 +328,6 @@ export default { this.$refs["auditForm"].validate(valid => { if (valid) { this.buttonLoading = true; - console.log(this.auditForm) if (this.auditForm.ids.length > 0) { auditServiceapply(this.auditForm).then(response => { this.msgSuccess("审核成功");