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; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.BaseEnergyStorageDeviceEnt;
import pps.core.base.entity.BasePowerLineStorageEnt; import pps.core.base.entity.BasePowerLineStorageEnt;
import pps.core.base.mapper.BaseEnergyStorageDeviceMapper; import pps.core.base.mapper.BaseEnergyStorageDeviceMapper;
...@@ -25,6 +26,7 @@ import xstartup.feature.api.annotation.XApiAnonymous; ...@@ -25,6 +26,7 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import xstartup.helper.XTransactionHelper;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -42,26 +44,24 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -42,26 +44,24 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult createBaseEnergyStorageDevice(XContext context, CreateBaseEnergyStorageDeviceInput input) { public XServiceResult createBaseEnergyStorageDevice(XContext context, CreateBaseEnergyStorageDeviceInput input) {
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = new BaseEnergyStorageDeviceEnt(); BaseEnergyStorageDeviceEnt entity = XCopyUtils.copyNewObject(input, BaseEnergyStorageDeviceEnt.class);
XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class); PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
});
} }
@XText("更新") @XText("更新")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult updateBaseEnergyStorageDevice(XContext context, UpdateBaseEnergyStorageDeviceInput input) { public XServiceResult updateBaseEnergyStorageDevice(XContext context, UpdateBaseEnergyStorageDeviceInput input) {
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(input.getId(), mapper);
queryWrapper.lambda() if (Objects.isNull(entity)) {
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
...@@ -69,6 +69,7 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -69,6 +69,7 @@ public class BaseEnergyStorageDeviceService extends BaseService {
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
});
} }
@XText("删除") @XText("删除")
...@@ -79,22 +80,20 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -79,22 +80,20 @@ public class BaseEnergyStorageDeviceService extends BaseService {
if (this.checkStorageIsReference(context, storageId)) { if (this.checkStorageIsReference(context, storageId)) {
return XServiceResult.error(992, "当前储能设备已被引用"); return XServiceResult.error(992, "当前储能设备已被引用");
} }
return XTransactionHelper.begin(context, () -> {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(storageId, mapper);
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (Objects.isNull(entity)) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
entity = new BaseEnergyStorageDeviceEnt(); entity = new BaseEnergyStorageDeviceEnt();
entity.setId(input.getId()); entity.setId(storageId);
entity.setIsDeleted(BusinessConstant.ZERO); entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class); PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
});
} }
@XText("根据id获取详情") @XText("根据id获取详情")
...@@ -102,16 +101,11 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -102,16 +101,11 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiGet @XApiGet
public XSingleResult<GetBaseEnergyStorageDeviceOutput> getBaseEnergyStorageDevice(XContext context, GetBaseEnergyStorageDeviceInput input) { public XSingleResult<GetBaseEnergyStorageDeviceOutput> getBaseEnergyStorageDevice(XContext context, GetBaseEnergyStorageDeviceInput input) {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); BaseEnergyStorageDeviceEnt entity = this.selectOneByDeviceId(input.getId(), mapper);
queryWrapper.lambda() if (Objects.isNull(entity)) {
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound); return XSingleResult.error(context, XError.NotFound);
} }
GetBaseEnergyStorageDeviceOutput output = new GetBaseEnergyStorageDeviceOutput(); GetBaseEnergyStorageDeviceOutput output = XCopyUtils.copyNewObject(entity, GetBaseEnergyStorageDeviceOutput.class);
XCopyUtils.copyObject(entity, output);
return XSingleResult.success(output); return XSingleResult.success(output);
} }
...@@ -153,4 +147,17 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -153,4 +147,17 @@ public class BaseEnergyStorageDeviceService extends BaseService {
); );
return count > 0; 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