用户对象管理接口

This commit is contained in:
cdf
2025-12-02 14:34:04 +08:00
parent cea2b9694a
commit f33986e934
4 changed files with 167 additions and 4 deletions

View File

@@ -0,0 +1,76 @@
package com.njcn.csharmonic.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author: cdf
* @CreateTime: 2025-12-02
* @Description:
*/
@Data
public class PqSensitiveUserParam {
/**
* 敏感用户名称
*/
@NotBlank(message = "用户名称不可为空")
@ApiModelProperty(name = "name",value = "用户名称不可为空")
private String name;
/**
* 敏感负荷类型
*/
@NotBlank(message = "敏感负荷类型不可为空")
@ApiModelProperty(name = "loadType",value = "敏感负荷类型")
private String loadType;
/**
* 用户协议容量
*/
@Range(min = 0,max = 10000000 )
@ApiModelProperty(name = "userAgreementCapacity",value = "用户协议容量")
private Double userAgreementCapacity;
/**
* 装机容量
*/
@Range(min = 0,max = 10000000 )
@ApiModelProperty(name = "installedCapacity",value = "装机容量")
private Double installedCapacity;
/**
* 所属厂站名称
*/
@NotBlank(message = "所属厂站名称不可为空")
@ApiModelProperty(name = "substationName",value = "所属厂站名称")
private String substationName;
/**
* 排序
*/
@NotNull(message = "排序不可为空")
@ApiModelProperty(name = "sort",value = "排序")
private Integer sort;
@Data
@EqualsAndHashCode(callSuper = true)
public static class UpdatePqSensitiveUserParam extends PqSensitiveUserParam{
/**
* id
*/
@NotBlank(message = "id不可为空")
@ApiModelProperty(name = "id",value = "id")
private String id;
}
}

View File

@@ -5,10 +5,12 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.csharmonic.pojo.param.PqSensitiveUserParam;
import com.njcn.csharmonic.pojo.po.PqSensitiveUser;
import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo;
import com.njcn.csharmonic.service.IPqSensitiveUserService;
@@ -19,6 +21,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -64,6 +67,43 @@ public class PqSensitiveUserController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
/**
* 新增用户对象
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/save")
@ApiOperation("新增用户对象")
public HttpResult<Boolean> save(@RequestBody @Validated PqSensitiveUserParam pqSensitiveUserParam) {
String methodDescribe = getMethodDescribe("save");
pqSensitiveUserService.save(pqSensitiveUserParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
}
/**
* 修改用户对象
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@PostMapping("/update")
@ApiOperation("修改用户对象")
public HttpResult<Boolean> update(@RequestBody @Validated PqSensitiveUserParam.UpdatePqSensitiveUserParam pqSensitiveUserParam) {
String methodDescribe = getMethodDescribe("update");
pqSensitiveUserService.update(pqSensitiveUserParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
}
/**
* 删除用户对象
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.DELETE)
@PostMapping("/delete")
@ApiOperation("删除用户对象")
@ApiImplicitParam(name = "ids", value = "id集合")
public HttpResult<Boolean> delete(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("delete");
pqSensitiveUserService.removeByIds(ids);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
}
}

View File

@@ -2,6 +2,7 @@ package com.njcn.csharmonic.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csharmonic.pojo.param.PqSensitiveUserParam;
import com.njcn.csharmonic.pojo.po.PqSensitiveUser;
import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo;
import com.njcn.web.pojo.param.BaseParam;
@@ -18,4 +19,8 @@ public interface IPqSensitiveUserService extends IService<PqSensitiveUser> {
Page<PqSensitiveUserVo> getList(BaseParam param);
boolean save(PqSensitiveUserParam pqSensitiveUserParam);
boolean update(PqSensitiveUserParam.UpdatePqSensitiveUserParam pqSensitiveUserParam);
}

View File

@@ -7,21 +7,23 @@ import com.baomidou.dynamic.datasource.annotation.DS;
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.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csharmonic.mapper.PqSensitiveUserMapper;
import com.njcn.csharmonic.pojo.param.PqSensitiveUserParam;
import com.njcn.csharmonic.pojo.po.PqSensitiveUser;
import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo;
import com.njcn.csharmonic.service.IPqSensitiveUserService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.pojo.param.BaseParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -40,6 +42,8 @@ public class PqSensitiveUserServiceImpl extends ServiceImpl<PqSensitiveUserMappe
private final CsLineFeignClient csLineFeignClient;
private final DicDataFeignClient dicDataFeignClient;
@Override
public Page<PqSensitiveUserVo> getList(BaseParam param) {
Page<PqSensitiveUserVo> result = new Page<>(param.getPageNum(),param.getPageSize());
@@ -82,5 +86,43 @@ public class PqSensitiveUserServiceImpl extends ServiceImpl<PqSensitiveUserMappe
return result;
}
@Override
public boolean save(PqSensitiveUserParam pqSensitiveUserParam) {
checkParam(pqSensitiveUserParam,false);
PqSensitiveUser pqSensitiveUser = new PqSensitiveUser();
BeanUtil.copyProperties(pqSensitiveUserParam,pqSensitiveUser);
this.save(pqSensitiveUser);
return true;
}
@Override
public boolean update(PqSensitiveUserParam.UpdatePqSensitiveUserParam pqSensitiveUserParam) {
checkParam(pqSensitiveUserParam,true);
PqSensitiveUser pqSensitiveUser = new PqSensitiveUser();
BeanUtil.copyProperties(pqSensitiveUserParam,pqSensitiveUser);
this.save(pqSensitiveUser);
return true;
}
private void checkParam(PqSensitiveUserParam param,boolean update){
DictData data = dicDataFeignClient.getDicDataById(param.getLoadType()).getData();
if(Objects.isNull(data)){
throw new BusinessException(CommonResponseEnum.FAIL,"字典负荷类型缺失!");
}
LambdaQueryWrapper<PqSensitiveUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PqSensitiveUser::getName,param.getName());
if(update){
if(param instanceof PqSensitiveUserParam.UpdatePqSensitiveUserParam){
lambdaQueryWrapper.ne(PqSensitiveUser::getId,param);
}
}
int count = this.count(lambdaQueryWrapper);
if(count>0){
throw new BusinessException(CommonResponseEnum.FAIL,"用户名称重复!");
}
}
}