diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java new file mode 100644 index 000000000..1041bb632 --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/controller/IscApplicationController.java @@ -0,0 +1,113 @@ +package com.ruoyi.isc.controller; + +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.core.validate.QueryGroup; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.isc.domain.bo.IscApplicationBo; +import com.ruoyi.isc.domain.vo.IscApplicationVo; +import com.ruoyi.isc.service.IIscApplicationService; +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 + * + * @author wenchao gong + * @date 2021-09-08 + */ +@Validated +@Api(value = "应用信息控制器", tags = {"应用信息管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/isc/application") +public class IscApplicationController extends BaseController { + + private final IIscApplicationService iIscApplicationService; + + /** + * 查询应用信息列表 + */ + @ApiOperation("查询应用信息列表") + @PreAuthorize("@ss.hasPermi('isc:application:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated(QueryGroup.class) IscApplicationBo bo) { + return iIscApplicationService.queryPageList(bo); + } + + /** + * 导出应用信息列表 + */ + @ApiOperation("导出应用信息列表") + @PreAuthorize("@ss.hasPermi('isc:application:export')") + @Log(title = "应用信息", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public void export(@Validated IscApplicationBo bo, HttpServletResponse response) { + List list = iIscApplicationService.queryList(bo); + ExcelUtil.exportExcel(list, "应用信息", IscApplicationVo.class, response); + } + + /** + * 获取应用信息详细信息 + */ + @ApiOperation("获取应用信息详细信息") + @PreAuthorize("@ss.hasPermi('isc:application:query')") + @GetMapping("/{applicationId}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("applicationId") Long applicationId) { + return AjaxResult.success(iIscApplicationService.queryById(applicationId)); + } + + /** + * 新增应用信息 + */ + @ApiOperation("新增应用信息") + @PreAuthorize("@ss.hasPermi('isc:application:add')") + @Log(title = "应用信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public AjaxResult add(@Validated(AddGroup.class) @RequestBody IscApplicationBo bo) { + return toAjax(iIscApplicationService.insertByBo(bo) ? 1 : 0); + } + + /** + * 修改应用信息 + */ + @ApiOperation("修改应用信息") + @PreAuthorize("@ss.hasPermi('isc:application:edit')") + @Log(title = "应用信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public AjaxResult edit(@Validated(EditGroup.class) @RequestBody IscApplicationBo bo) { + return toAjax(iIscApplicationService.updateByBo(bo) ? 1 : 0); + } + + /** + * 删除应用信息 + */ + @ApiOperation("删除应用信息") + @PreAuthorize("@ss.hasPermi('isc:application:remove')") + @Log(title = "应用信息" , businessType = BusinessType.DELETE) + @DeleteMapping("/{applicationIds}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] applicationIds) { + return toAjax(iIscApplicationService.deleteWithValidByIds(Arrays.asList(applicationIds), true) ? 1 : 0); + } +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java new file mode 100644 index 000000000..8305042a8 --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscApplication.java @@ -0,0 +1,82 @@ +package com.ruoyi.isc.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; + +/** + * 应用信息对象 isc_application + * + * @author wenchao gong + * @date 2021-09-08 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("isc_application") +public class IscApplication implements Serializable { + + private static final long serialVersionUID=1L; + + + /** + * 应用ID + */ + @TableId(value = "application_id") + private Long applicationId; + + /** + * 应用名称 + */ + private String applicationName; + + /** + * 应用密钥 + */ + private String accessKey; + + /** + * 用户ID + */ + private Long userId; + + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + + /** + * 备注 + */ + private String remark; + +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java index 0abc1fd75..ab00eafc7 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/IscServiceCate.java @@ -5,10 +5,10 @@ import com.ruoyi.common.core.domain.entity.SysMenu; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; + import java.io.Serializable; import java.util.ArrayList; import java.util.Date; -import java.math.BigDecimal; import java.util.List; /** @@ -48,7 +48,7 @@ public class IscServiceCate implements Serializable { private String fullPath; /** - * 服务状态(0启用 1停用) + * 启用状态(0启用 1停用) */ private String enabled; diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java new file mode 100644 index 000000000..cf0b87ecd --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscApplicationBo.java @@ -0,0 +1,68 @@ +package com.ruoyi.isc.domain.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; + +/** + * 应用信息业务对象 isc_application + * + * @author wenchao gong + * @date 2021-09-08 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("应用信息业务对象") +public class IscApplicationBo extends BaseEntity { + + /** + * 应用ID + */ + @ApiModelProperty(value = "应用ID") + private Long applicationId; + + /** + * 应用名称 + */ + @ApiModelProperty(value = "应用名称", required = true) + @NotBlank(message = "应用名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String applicationName; + + /** + * 应用密钥 + */ + @ApiModelProperty(value = "应用密钥", required = true) + private String accessKey; + + /** + * 分页大小 + */ + @ApiModelProperty("分页大小") + private Integer pageSize; + + /** + * 当前页数 + */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + /** + * 排序列 + */ + @ApiModelProperty("排序列") + private String orderByColumn; + + /** + * 排序的方向desc或者asc + */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java index 5cc7b1df3..8b5c2e12c 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/bo/IscServiceCateBo.java @@ -1,16 +1,14 @@ package com.ruoyi.isc.domain.bo; +import com.ruoyi.common.core.domain.TreeEntity; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.*; -import java.util.Date; - -import com.ruoyi.common.core.domain.TreeEntity; +import javax.validation.constraints.NotBlank; /** * 服务分类业务对象 isc_service_cate @@ -37,10 +35,10 @@ public class IscServiceCateBo extends TreeEntity { private String cateName; /** - * 服务状态(0启用 1停用) + * 启用状态(0启用 1停用) */ - @ApiModelProperty(value = "服务状态(0启用 1停用)", required = true) - @NotBlank(message = "服务状态(0启用 1停用)不能为空", groups = { AddGroup.class, EditGroup.class }) + @ApiModelProperty(value = "启用状态(0启用 1停用)", required = true) + @NotBlank(message = "启用状态(0启用 1停用)不能为空", groups = { AddGroup.class, EditGroup.class }) private String enabled; diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java new file mode 100644 index 000000000..dcaf94f64 --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscApplicationVo.java @@ -0,0 +1,67 @@ +package com.ruoyi.isc.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + + + +/** + * 应用信息视图对象 isc_application + * + * @author wenchao gong + * @date 2021-09-08 + */ +@Data +@ApiModel("应用信息视图对象") +@ExcelIgnoreUnannotated +public class IscApplicationVo { + + private static final long serialVersionUID = 1L; + + /** + * 应用ID + */ + @ApiModelProperty("应用ID") + private Long applicationId; + + /** + * 应用名称 + */ + @ExcelProperty(value = "应用名称") + @ApiModelProperty("应用名称") + private String applicationName; + + /** + * 应用密钥 + */ + @ExcelProperty(value = "应用密钥") + @ApiModelProperty("应用密钥") + private String accessKey; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 更新者 + */ + @ExcelProperty(value = "更新者") + @ApiModelProperty("更新者") + private String updateBy; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + @ApiModelProperty("更新时间") + private Date updateTime; + + +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java index 78322128b..f360e03fd 100644 --- a/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/domain/vo/IscServiceCateVo.java @@ -45,11 +45,11 @@ public class IscServiceCateVo { private String cateName; /** - * 服务状态(0启用 1停用) + * 启用状态(0启用 1停用) */ - @ExcelProperty(value = "服务状态", converter = ExcelDictConvert.class) + @ExcelProperty(value = "启用状态", converter = ExcelDictConvert.class) @ExcelDictFormat(dictType = "sys_normal_disable") - @ApiModelProperty("服务状态(0启用 1停用)") + @ApiModelProperty("启用状态(0启用 1停用)") private String enabled; /** diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java new file mode 100644 index 000000000..12af14d1e --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/mapper/IscApplicationMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.isc.mapper; + +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.isc.domain.IscApplication; + +/** + * 应用信息Mapper接口 + * + * @author wenchao gong + * @date 2021-09-08 + */ +public interface IscApplicationMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java new file mode 100644 index 000000000..f01cec619 --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/IIscApplicationService.java @@ -0,0 +1,56 @@ +package com.ruoyi.isc.service; + +import com.ruoyi.isc.domain.IscApplication; +import com.ruoyi.isc.domain.vo.IscApplicationVo; +import com.ruoyi.isc.domain.bo.IscApplicationBo; +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; + +import java.util.Collection; +import java.util.List; + +/** + * 应用信息Service接口 + * + * @author wenchao gong + * @date 2021-09-08 + */ +public interface IIscApplicationService extends IServicePlus { + /** + * 查询单个 + * @return + */ + IscApplicationVo queryById(Long applicationId); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(IscApplicationBo bo); + + /** + * 查询列表 + */ + List queryList(IscApplicationBo bo); + + /** + * 根据新增业务对象插入应用信息 + * @param bo 应用信息新增业务对象 + * @return + */ + Boolean insertByBo(IscApplicationBo bo); + + /** + * 根据编辑业务对象修改应用信息 + * @param bo 应用信息编辑业务对象 + * @return + */ + Boolean updateByBo(IscApplicationBo bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscApplicationServiceImpl.java b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscApplicationServiceImpl.java new file mode 100644 index 000000000..3c4550381 --- /dev/null +++ b/ruoyi-isc/src/main/java/com/ruoyi/isc/service/impl/IscApplicationServiceImpl.java @@ -0,0 +1,89 @@ +package com.ruoyi.isc.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +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.utils.PageUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.isc.domain.IscApplication; +import com.ruoyi.isc.domain.bo.IscApplicationBo; +import com.ruoyi.isc.domain.vo.IscApplicationVo; +import com.ruoyi.isc.mapper.IscApplicationMapper; +import com.ruoyi.isc.service.IIscApplicationService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 应用信息Service业务层处理 + * + * @author wenchao gong + * @date 2021-09-08 + */ +@Service +public class IscApplicationServiceImpl extends ServicePlusImpl implements IIscApplicationService { + + @Override + public IscApplicationVo queryById(Long applicationId){ + return getVoById(applicationId); + } + + @Override + public TableDataInfo queryPageList(IscApplicationBo bo) { + PagePlus result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(IscApplicationBo bo) { + return listVo(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(IscApplicationBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getApplicationName()), IscApplication::getApplicationName, bo.getApplicationName()); + lqw.eq(StringUtils.isNotBlank(bo.getAccessKey()), IscApplication::getAccessKey, bo.getAccessKey()); + return lqw; + } + + @Override + public Boolean insertByBo(IscApplicationBo bo) { + IscApplication add = BeanUtil.toBean(bo, IscApplication.class); + validEntityBeforeSave(add); + add.setAccessKey(IdUtil.simpleUUID()); + add.setUserId(SecurityUtils.getUserId()); + return save(add); + } + + @Override + public Boolean updateByBo(IscApplicationBo bo) { + IscApplication update = BeanUtil.toBean(bo, IscApplication.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(IscApplication entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } +} diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml b/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml new file mode 100644 index 000000000..607808cf4 --- /dev/null +++ b/ruoyi-isc/src/main/resources/mapper/isc/IscApplicationMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml b/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml index 930f4e20e..c08b45e9d 100644 --- a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml +++ b/ruoyi-isc/src/main/resources/mapper/isc/IscServiceCateMapper.xml @@ -1,7 +1,7 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> diff --git a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml b/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml index df021ab28..e7924dd40 100644 --- a/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml +++ b/ruoyi-isc/src/main/resources/mapper/isc/IscServiceMapper.xml @@ -1,7 +1,7 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> diff --git a/ruoyi-ui/src/views/isc/cate/index.vue b/ruoyi-ui/src/views/isc/cate/index.vue index 451ee6d75..dc380256d 100644 --- a/ruoyi-ui/src/views/isc/cate/index.vue +++ b/ruoyi-ui/src/views/isc/cate/index.vue @@ -10,8 +10,8 @@ @keyup.enter.native="handleQuery" /> - - + + - + @@ -93,7 +93,7 @@ - +