Commit 4deecd67 authored by ZWT's avatar ZWT

feat(能源管理系统): 基础信息配置

1.优化基础信息配置-柴发设备模块新增,修改,删除,查询接口,优化代码结构增加事务处理;
2.优化基础信息配置-储能设备模块新增,修改,删除,查询接口,优化代码结构增加事务处理;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 6d20fcee
......@@ -4,6 +4,7 @@ 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.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import pps.core.base.entity.BaseEnergyStorageDeviceEnt;
import pps.core.base.entity.BasePowerLineStorageEnt;
import pps.core.base.mapper.BaseEnergyStorageDeviceMapper;
......@@ -25,6 +26,7 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import xstartup.helper.XTransactionHelper;
import java.util.List;
import java.util.Objects;
......@@ -42,33 +44,32 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiAnonymous
@XApiPost
public XServiceResult createBaseEnergyStorageDevice(XContext context, CreateBaseEnergyStorageDeviceInput input) {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = new BaseEnergyStorageDeviceEnt();
XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = XCopyUtils.copyNewObject(input, BaseEnergyStorageDeviceEnt.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
});
}
@XText("更新")
@XApiAnonymous
@XApiPost
public XServiceResult updateBaseEnergyStorageDevice(XContext context, UpdateBaseEnergyStorageDeviceInput input) {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(input.getId(), mapper);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
}
@XText("删除")
......@@ -79,22 +80,20 @@ public class BaseEnergyStorageDeviceService extends BaseService {
if (this.checkStorageIsReference(context, storageId)) {
return XServiceResult.error(992, "当前储能设备已被引用");
}
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BaseEnergyStorageDeviceEnt();
entity.setId(input.getId());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(storageId, mapper);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BaseEnergyStorageDeviceEnt();
entity.setId(storageId);
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
}
@XText("根据id获取详情")
......@@ -102,16 +101,11 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiGet
public XSingleResult<GetBaseEnergyStorageDeviceOutput> getBaseEnergyStorageDevice(XContext context, GetBaseEnergyStorageDeviceInput input) {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(input.getId(), mapper);
if (Objects.isNull(entity)) {
return XSingleResult.error(context, XError.NotFound);
}
GetBaseEnergyStorageDeviceOutput output = new GetBaseEnergyStorageDeviceOutput();
XCopyUtils.copyObject(entity, output);
GetBaseEnergyStorageDeviceOutput output = XCopyUtils.copyNewObject(entity, GetBaseEnergyStorageDeviceOutput.class);
return XSingleResult.success(output);
}
......@@ -153,4 +147,17 @@ public class BaseEnergyStorageDeviceService extends BaseService {
);
return count > 0;
}
/**
* 通过设备ID查询设备信息
*
* @param deviceId 设备id
* @param mapper 映射器
* @return {@link BaseEnergyStorageDeviceEnt}
*/
private BaseEnergyStorageDeviceEnt selectOneByDeviceId(String deviceId, BaseEnergyStorageDeviceMapper mapper) {
return mapper.selectOne(new LambdaUpdateWrapper<BaseEnergyStorageDeviceEnt>()
.eq(BaseEnergyStorageDeviceEnt::getId, deviceId)
);
}
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment