Commit 8148359b authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.基础信息配置模块创建基础风机电站表及基础风机电站关联测风塔表,同时生成对应代码;
2.开发基础信息配置模块基础风机电站新增接口,完成接口冒烟测试并生成接口文档同时生成接口测试用例;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 3f2fd70f
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import pps.core.base.entity.BaseWindTowerView;
import pps.core.base.entity.BaseWindTurbineEnt;
import pps.core.base.entity.BaseWindTurbineView;
import pps.core.base.mapper.BaseWindTowerViewMapper;
import pps.core.base.mapper.BaseWindTurbineMapper;
import pps.core.base.mapper.BaseWindTurbineViewMapper;
import pps.core.base.service.data.base_wind_tower.ModifyBaseWindTowerInput;
import pps.core.base.service.data.base_wind_turbine.*;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XPageResult;
import xstartup.data.XServiceResult;
import xstartup.data.XSingleResult;
import xstartup.error.XError;
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.ArrayList;
import java.util.List;
/**
* 基础风机电站
*
* @author ZWT
* @date 2024/08/28
*/
@XText("基础风机电站")
@XService
public class BaseWindTurbineService {
private PpsUserSession getSession(XContext context) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("123");
return session;
}
/**
* 创建基础风机电站
*
* @param context 上下文
* @param input 输入
* @return {@link XServiceResult }
*/
@XText("新增")
@XApiPost
public XServiceResult createBaseWindTurbine(XContext context, CreateBaseWindTurbineInput input) {
return XTransactionHelper.begin(context, () -> {
PpsUserSession session = getSession(context);
//封装主表信息
BaseWindTurbineEnt entity = XCopyUtils.copyNewObject(input, BaseWindTurbineEnt.class);
BaseUtils.setBaseModelDefault(entity, session);
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
mapper.insert(entity);
//封装子表信息
List<ModifyBaseWindTowerInput> windTowerList = input.getWindTowerList();
if (CollUtil.isNotEmpty(windTowerList)) {
BaseWindTowerView view;
List<BaseWindTowerView> windTowerViewList = new ArrayList<>(windTowerList.size());
for (ModifyBaseWindTowerInput towerInput : windTowerList) {
view = new BaseWindTowerView();
BaseUtils.setBaseModelDefault(view, session);
view.setStationId(entity.getId());
view.setTowerId(towerInput.getTowerId());
view.setTowerName(towerInput.getTowerName());
view.setId(UUID.randomUUID(true).toString(true));
windTowerViewList.add(view);
}
BaseWindTowerViewMapper viewMapper = context.getBean(BaseWindTowerViewMapper.class);
viewMapper.batchInsert(windTowerViewList);
}
return XServiceResult.OK;
});
}
@XApiAnonymous
@XApiPost
public XServiceResult updateBaseWindTurbine(XContext context, UpdateBaseWindTurbineInput input) {
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
QueryWrapper<BaseWindTurbineEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BaseWindTurbineEnt::getId, input.getId());
BaseWindTurbineEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
mapper.updateById(entity);
return XServiceResult.OK;
}
@XApiAnonymous
@XApiPost
public XServiceResult deleteBaseWindTurbine(XContext context, DeleteBaseWindTurbineInput input) {
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
QueryWrapper<BaseWindTurbineEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BaseWindTurbineEnt::getId, input.getId());
BaseWindTurbineEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
mapper.deleteById(entity);
return XServiceResult.OK;
}
@XApiAnonymous
@XApiGet
public XSingleResult<GetBaseWindTurbineOutput> getBaseWindTurbine(XContext context, GetBaseWindTurbineInput input) {
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
QueryWrapper<BaseWindTurbineEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BaseWindTurbineEnt::getId, input.getId());
BaseWindTurbineEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound);
}
GetBaseWindTurbineOutput output = new GetBaseWindTurbineOutput();
XCopyUtils.copyObject(entity, output);
return XSingleResult.success(output);
}
@XApiAnonymous
@XApiGet
public XPageResult<QueryBaseWindTurbineOutput> queryBaseWindTurbine(XContext context, QueryBaseWindTurbineInput input) {
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
QueryWrapper<BaseWindTurbineEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().like(BaseWindTurbineEnt::getId, input.getId())
.eq(BaseWindTurbineEnt::getIsDeleted, input.getIsDeleted())
.like(BaseWindTurbineEnt::getCreateById, input.getCreateById())
.like(BaseWindTurbineEnt::getCreateByName, input.getCreateByName())
.eq(BaseWindTurbineEnt::getCreateTime, input.getCreateTime())
.like(BaseWindTurbineEnt::getModifyById, input.getModifyById())
.like(BaseWindTurbineEnt::getModifyByName, input.getModifyByName())
.eq(BaseWindTurbineEnt::getModifyTime, input.getModifyTime())
.like(BaseWindTurbineEnt::getOuId, input.getOuId())
.like(BaseWindTurbineEnt::getOuName, input.getOuName())
.like(BaseWindTurbineEnt::getStationName, input.getStationName())
.eq(BaseWindTurbineEnt::getTotalPower, input.getTotalPower())
.eq(BaseWindTurbineEnt::getDiameter, input.getDiameter())
.eq(BaseWindTurbineEnt::getVaneLength, input.getVaneLength())
.eq(BaseWindTurbineEnt::getHubHeight, input.getHubHeight())
.eq(BaseWindTurbineEnt::getLongitude, input.getLongitude())
.eq(BaseWindTurbineEnt::getLatitude, input.getLatitude())
.eq(BaseWindTurbineEnt::getElevation, input.getElevation())
.eq(BaseWindTurbineEnt::getAreaCode, input.getAreaCode());
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseWindTurbineOutput.class);
}
@XApiAnonymous
@XApiGet
public XPageResult<QueryBaseWindTurbineOutput> dynamicQueryBaseWindTurbine(XContext context, CustomQueryInput input) {
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
return XMapperHelper.query(mapper, input, BaseWindTurbineEnt.class, QueryBaseWindTurbineOutput.class);
}
@XApiAnonymous
@XApiGet
public XSingleResult<GetBaseWindTurbineViewOutput> getBaseWindTurbineView(XContext context, GetBaseWindTurbineViewInput input) {
BaseWindTurbineViewMapper mapper = context.getBean(BaseWindTurbineViewMapper.class);
BaseWindTurbineView record = new BaseWindTurbineView();
XCopyUtils.copyObject(input, record);
BaseWindTurbineView view = mapper.selectOne(record);
if (view == null) {
return XSingleResult.error(context, XError.NotFound);
}
GetBaseWindTurbineViewOutput output = new GetBaseWindTurbineViewOutput();
XCopyUtils.copyObject(view, output);
return XSingleResult.success(output);
}
@XApiAnonymous
@XApiGet
public XPageResult<QueryBaseWindTurbineViewOutput> queryBaseWindTurbineView(XContext context, QueryBaseWindTurbineViewInput input) {
BaseWindTurbineViewMapper mapper = context.getBean(BaseWindTurbineViewMapper.class);
BaseWindTurbineView record = new BaseWindTurbineView();
XCopyUtils.copyObject(input, record);
PageHelper.startPage(input.getPage(), input.getLimit());
List<BaseWindTurbineView> list = mapper.selectList(record);
PageInfo<BaseWindTurbineView> pageInfo = new PageInfo<>(list);
List<QueryBaseWindTurbineViewOutput> outputs = XCopyUtils.copyNewList(pageInfo.getList(), QueryBaseWindTurbineViewOutput.class);
return XPageResult.success(outputs, input, pageInfo.getTotal());
}
}
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