模板库

This commit is contained in:
wr
2025-09-11 09:18:47 +08:00
parent fe1195b7b5
commit 28f7e038ce
10 changed files with 543 additions and 3 deletions

View File

@@ -0,0 +1,89 @@
package com.njcn.supervision.controller.databank;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.supervision.pojo.param.databank.LibModelParam;
import com.njcn.supervision.pojo.po.databank.LibModel;
import com.njcn.supervision.service.databank.ILibModelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.njcn.web.controller.BaseController;
/**
* <p>
* 前端控制器
* </p>
*
* @author wr
* @since 2025-09-10
*/
@RestController
@RequestMapping("/libModel")
@RequiredArgsConstructor
@Api(tags = "模型库")
public class LibModelController extends BaseController {
private final ILibModelService libModelService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pageLibModelQuery")
@ApiOperation("分页查询案例库")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<Page<LibModel>> pageLibModelQuery(@RequestBody @Validated LibModelParam.LibModelParamQuery param) {
String methodDescribe = getMethodDescribe("pageLibModelQuery");
Page<LibModel> page = libModelService.page(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/addLibModel")
@ApiOperation("新增")
@ApiImplicitParam(name = "libTemplateParam", value = "实体参数", required = true)
public HttpResult<Boolean> addLibModel(@RequestBody @Validated LibModelParam param) {
String methodDescribe = getMethodDescribe("addLibModel");
Boolean add = libModelService.add(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, add, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/updateLibModel")
@ApiOperation("更新")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Boolean> updateLibModel(@RequestBody @Validated LibModelParam.LibModelParamUpdate param) {
String methodDescribe = getMethodDescribe("updateLibModel");
Boolean update = libModelService.update(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, update, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.DELETE)
@GetMapping("/deleteByLibModelId")
@ApiOperation("通过id删除")
public HttpResult<Boolean> deleteByLibModelId(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("deleteByLibModelId");
boolean update = libModelService.lambdaUpdate().set(LibModel::getStatus, 0).eq(LibModel::getId, id).update();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, update, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/queryByLibModelId")
@ApiOperation("根据id查询")
public HttpResult<LibModel> queryByLibModelId(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("queryByLibModelId");
LibModel result = libModelService.lambdaQuery().eq(LibModel::getId,id).one();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -0,0 +1,16 @@
package com.njcn.supervision.mapper.databank;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.supervision.pojo.po.databank.LibModel;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wr
* @since 2025-09-10
*/
public interface LibModelMapper extends BaseMapper<LibModel> {
}

View File

@@ -0,0 +1,5 @@
<?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.njcn.supervision.mapper.databank.LibModelMapper">
</mapper>

View File

@@ -0,0 +1,23 @@
package com.njcn.supervision.service.databank;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.supervision.pojo.param.databank.LibModelParam;
import com.njcn.supervision.pojo.po.databank.LibModel;
/**
* <p>
* 服务类
* </p>
*
* @author wr
* @since 2025-09-10
*/
public interface ILibModelService extends IService<LibModel> {
Boolean add(LibModelParam param);
Boolean update(LibModelParam.LibModelParamUpdate param);
Page<LibModel> page(LibModelParam.LibModelParamQuery param);
}

View File

@@ -0,0 +1,79 @@
package com.njcn.supervision.service.databank.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.supervision.enums.SupervisionResponseEnum;
import com.njcn.supervision.mapper.databank.LibModelMapper;
import com.njcn.supervision.pojo.param.databank.LibModelParam;
import com.njcn.supervision.pojo.po.databank.LibModel;
import com.njcn.supervision.service.databank.ILibModelService;
import com.njcn.web.factory.PageFactory;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author wr
* @since 2025-09-10
*/
@Service
public class LibModelServiceImpl extends ServiceImpl<LibModelMapper, LibModel> implements ILibModelService {
@Override
public Boolean add(LibModelParam param) {
checkName(param, false);
LibModel model = BeanUtil.copyProperties(param, LibModel.class);
model.setStatus(DataStateEnum.ENABLE.getCode());
return this.save(model);
}
@Override
public Boolean update(LibModelParam.LibModelParamUpdate param) {
checkName(param,true);
LibModel model = BeanUtil.copyProperties(param, LibModel.class);
return this.updateById(model);
}
@Override
public Page<LibModel> page(LibModelParam.LibModelParamQuery param) {
LambdaQueryWrapper<LibModel> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LibModel::getStatus,DataStateEnum.ENABLE.getCode());
//添加上时间范围
queryWrapper.like(StrUtil.isNotBlank(param.getSearchValue()),LibModel::getName,param.getSearchValue());
if(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime())){
queryWrapper.between(
LibModel::getCreateTime,
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
}
queryWrapper.orderByDesc(LibModel::getUpdateTime);
return this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper);
}
private void checkName(LibModelParam param, boolean isExcludeSelf) {
LambdaQueryWrapper<LibModel> sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
sgUserLambdaQueryWrapper
.eq(LibModel::getName, param.getName())
.eq(LibModel::getStatus, DataStateEnum.ENABLE.getCode());
//更新的时候,需排除当前记录
if (isExcludeSelf) {
if (param instanceof LibModelParam.LibModelParamUpdate) {
sgUserLambdaQueryWrapper.ne(LibModel::getId, ((LibModelParam.LibModelParamUpdate) param).getId());
}
}
int countByAccount = this.count(sgUserLambdaQueryWrapper);
//大于等于1个则表示重复
if (countByAccount >= 1) {
throw new BusinessException(SupervisionResponseEnum.NAME_EXISTS);
}
}
}

View File

@@ -42,8 +42,6 @@ public class LibTemplateServiceImpl extends ServiceImpl<LibTemplateMapper, LibTe
}
private void checkName(LibTemplateParam libTemplateParam, boolean isExcludeSelf) {
LambdaQueryWrapper<LibTemplate> sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
sgUserLambdaQueryWrapper
.eq(LibTemplate::getName, libTemplateParam.getName())