Commit b0b91211 authored by ZWT's avatar ZWT

feat(能源管理系统): 系统开发

1.删除deploy-pps-task模块错误依赖项,解决pom文件依赖引用异常导致项目编译失败问题;
2.参照原型,设计并创建基础信息配置模块所需要的表:base_wellhead
井口配置表,base_photovoltaic_plant
光伏电站表,base_diesel_generator
柴发设备表,base_energy_storage_device
储能设备表,base_price_strategy
市电峰谷表,base_price_strategy_month
市电峰谷月配置表,base_price_strategy_detail
市电峰谷当月明细配置表,base_power_line
输电线路配置,base_power_line_wellhead
输电线路井口配置,base_power_line_plant
输电线路光伏配置,base_power_line_storage
输电线路储能配置,base_power_line_diesel
输电线路柴发设备配置;
3.通过使用代码生成工具根据基础信息配置模块新建数据表生成entity,mapper及service包对应代码,同时导入系统base模块,解决代码导入后编译失败问题,项目编译通过后提交代码;
4.开发基础信息配置-市电峰谷配置模块新增功能,完成接口冒烟测试并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 708e97a1
......@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.Valid;
import lombok.Data;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 市电峰谷月配置表
......@@ -58,4 +60,11 @@ public class BasePriceStrategyMonthEnt implements Serializable {
@XText("市电峰谷月(1-12)")
@TableField
private Integer strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailEnt> details;
}
package pps.core.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyMonthView;
import java.util.List;
@Repository(value="pps.core.base.mapper.BasePriceStrategyMonthViewMapper")
/**
* 市电峰谷月配置
*
* @author ZWT
* @date 2023/08/24
*/
@Repository(value = "pps.core.base.mapper.BasePriceStrategyMonthViewMapper")
public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
}
......@@ -8,13 +8,11 @@ import pps.core.base.entity.BasePriceStrategyDetailEnt;
import pps.core.base.entity.BasePriceStrategyEnt;
import pps.core.base.entity.BasePriceStrategyMonthEnt;
import pps.core.base.entity.BasePriceStrategyView;
import pps.core.base.mapper.BasePriceStrategyDetailMapper;
import pps.core.base.mapper.BasePriceStrategyMapper;
import pps.core.base.mapper.BasePriceStrategyMonthMapper;
import pps.core.base.mapper.BasePriceStrategyViewMapper;
import pps.core.base.mapper.*;
import pps.core.base.service.data.base_price_strategy.*;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import pps.core.base.service.data.base_price_strategy_month.CreateBasePriceStrategyMonthInput;
import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput;
import pps.core.common.session.PpsUserSession;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
......@@ -35,7 +33,6 @@ import xstartup.helper.XTransactionHelper;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* 市电峰谷配置模块
......@@ -69,109 +66,79 @@ public class BasePriceStrategyService {
this.setBasePriceStrategyEntDefault(entity, session);
mapper.insert(entity);
String strategyId = entity.getId();
List<CreateBasePriceStrategyDetailInput> inputDetails = input.getDetails();
List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (!inputMonths.isEmpty()) {
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16);
List<BasePriceStrategyDetailEnt> detailList = new ArrayList<>(32);
XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class);
XCopyUtils.copyList(inputDetails, detailList, BasePriceStrategyDetailEnt.class);
Integer strategyMonth;
List<BasePriceStrategyDetailEnt> detailList;
for (BasePriceStrategyMonthEnt monthEnt : monthList) {
this.setBasePriceStrategyMonthEntDefault(monthEnt, strategyId, session);
monthMapper.insert(monthEnt);
strategyMonth = monthEnt.getStrategyMonth();
detailList = monthEnt.getDetails();
for (BasePriceStrategyDetailEnt detailEnt : detailList) {
this.setBasePriceStrategyDetailEntDefault(detailEnt, strategyId, strategyMonth, session);
detailMapper.insert(detailEnt);
}
}
} else {
if (!inputDetails.isEmpty()) {
throw new XServiceException("请选择月份");
}
}
return XServiceResult.OK;
});
}
/**
* 设置市电峰谷当月明细配置默认值
*
* @param entity 实体
* @param strategyId 战略id
* @param strategyMonth 战略月
* @param session 会话
*/
private void setBasePriceStrategyDetailEntDefault(BasePriceStrategyDetailEnt entity, String strategyId, Integer strategyMonth, PpsUserSession session) {
Date now = new Date();
entity.setId(UUID.randomUUID().toString());
entity.setStrategyId(strategyId);
entity.setStrategyMonth(strategyMonth);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(now);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(now);
}
/**
* 设置市电峰谷月配置默认值
* 更新市电峰谷策略
*
* @param entity 实体
* @param strategyId 战略id
* @param session 会话
*/
private void setBasePriceStrategyMonthEntDefault(BasePriceStrategyMonthEnt entity, String strategyId, PpsUserSession session) {
Date now = new Date();
entity.setStrategyId(strategyId);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(now);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(now);
}
/**
* 设置市电峰谷策略默认值
*
* @param entity 实体
* @param session 会话
* @param context 上下文
* @param input 输入
* @return {@link XServiceResult}
*/
private void setBasePriceStrategyEntDefault(BasePriceStrategyEnt entity, PpsUserSession session) {
String id = entity.getId();
Date now = new Date();
String userId = session.getId();
String userName = session.getUserName();
if (StringUtils.isEmpty(id)) {
entity.setCreateById(userId);
entity.setCreateByName(userName);
entity.setCreateTime(now);
}
entity.setModifyById(userId);
entity.setModifyByName(userName);
entity.setModifyTime(now);
}
@XApiAnonymous
@XApiPost
@XText("更新市电峰谷策略")
public XServiceResult updateBasePriceStrategy(XContext context, UpdateBasePriceStrategyInput input) {
BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class);
QueryWrapper<BasePriceStrategyEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, input.getId());
BasePriceStrategyEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
mapper.updateById(entity);
return XServiceResult.OK;
// PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
String strategyId = input.getId();
return XTransactionHelper.begin(context, () -> {
BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class);
QueryWrapper<BasePriceStrategyEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, input.getId());
BasePriceStrategyEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
List<CreateBasePriceStrategyDetailInput> inputDetails = input.getDetails();
List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (!inputMonths.isEmpty()) {
List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16);
List<BasePriceStrategyDetailEnt> detailList = new ArrayList<>(32);
XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class);
XCopyUtils.copyList(inputDetails, detailList, BasePriceStrategyDetailEnt.class);
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyMonthViewMapper monthViewMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
//删除月信息
monthMapper.deleteBatchIds(monthList);
} else {
if (!inputDetails.isEmpty()) {
throw new XServiceException("请选择月份");
}
}
XCopyUtils.copyObject(input, entity);
this.setBasePriceStrategyEntDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
}
@XApiAnonymous
@XApiPost
public XServiceResult deleteBasePriceStrategy(XContext context, DeleteBasePriceStrategyInput input) {
......@@ -257,4 +224,64 @@ public class BasePriceStrategyService {
return XPageResult.success(outputs, input, pageInfo.getTotal());
}
/*-----------------------------------private-----------------------------------*/
/**
* 设置市电峰谷当月明细配置默认值
*
* @param entity 实体
* @param strategyId 战略id
* @param strategyMonth 战略月
* @param session 会话
*/
private void setBasePriceStrategyDetailEntDefault(BasePriceStrategyDetailEnt entity, String strategyId, Integer strategyMonth, PpsUserSession session) {
Date now = new Date();
entity.setStrategyId(strategyId);
entity.setStrategyMonth(strategyMonth);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(now);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(now);
}
/**
* 设置市电峰谷月配置默认值
*
* @param entity 实体
* @param strategyId 战略id
* @param session 会话
*/
private void setBasePriceStrategyMonthEntDefault(BasePriceStrategyMonthEnt entity, String strategyId, PpsUserSession session) {
Date now = new Date();
entity.setStrategyId(strategyId);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(now);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(now);
}
/**
* 设置市电峰谷策略默认值
*
* @param entity 实体
* @param session 会话
*/
private void setBasePriceStrategyEntDefault(BasePriceStrategyEnt entity, PpsUserSession session) {
String id = entity.getId();
Date now = new Date();
String userId = session.getId();
String userName = session.getUserName();
if (StringUtils.isEmpty(id)) {
entity.setCreateById(userId);
entity.setCreateByName(userName);
entity.setCreateTime(now);
}
entity.setModifyById(userId);
entity.setModifyByName(userName);
entity.setModifyTime(now);
}
}
......@@ -2,7 +2,6 @@ package pps.core.base.service.data.base_price_strategy;
import jakarta.validation.Valid;
import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import pps.core.base.service.data.base_price_strategy_month.CreateBasePriceStrategyMonthInput;
import xstartup.annotation.XText;
......@@ -11,7 +10,7 @@ import java.util.Date;
import java.util.List;
/**
* 市电峰谷配置入参
* 新增市电峰谷配置入参
*
* @author ZWT
* @date 2023/08/24
......@@ -63,10 +62,4 @@ public class CreateBasePriceStrategyInput {
*/
@Valid
private List<CreateBasePriceStrategyMonthInput> months;
/**
* 策略明细入参
*/
@Valid
private List<CreateBasePriceStrategyDetailInput> details;
}
package pps.core.base.service.data.base_price_strategy;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 更新市电峰谷配置入参
*
* @author ZWT
* @date 2023/08/24
*/
@Data
public class UpdateBasePriceStrategyInput {
@XText("ID")
@NotBlank(message = "缺少策略ID")
private String id;
@XText("是否删除(0_是;1_否)")
......@@ -44,108 +60,15 @@ public class UpdateBasePriceStrategyInput {
@XText("固定电价")
private BigDecimal fixedElectricityPrice;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getPolicyName() {
return this.policyName;
}
public void setPolicyName(String value) {
this.policyName = value;
}
public String getAreaCode() {
return this.areaCode;
}
public void setAreaCode(String value) {
this.areaCode = value;
}
public Integer getStrategyYear() {
return this.strategyYear;
}
public void setStrategyYear(Integer value) {
this.strategyYear = value;
}
public Integer getIsFixedPrice() {
return this.isFixedPrice;
}
public void setIsFixedPrice(Integer value) {
this.isFixedPrice = value;
}
public BigDecimal getFixedElectricityPrice() {
return this.fixedElectricityPrice;
}
public void setFixedElectricityPrice(BigDecimal value) {
this.fixedElectricityPrice = value;
}
/**
* 月份入参
*/
@Valid
private List<UpdateBasePriceStrategyMonthInput> months;
/**
* 策略明细入参
*/
@Valid
private List<CreateBasePriceStrategyDetailInput> details;
}
package pps.core.base.service.data.base_price_strategy_month;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import xstartup.annotation.XText;
import java.util.Date;
import java.util.List;
/**
* 月份入参
......@@ -44,4 +47,10 @@ public class CreateBasePriceStrategyMonthInput {
@XText("市电峰谷月(1-12)")
@NotNull(message = "月份不能为空")
private Integer strategyMonth;
/**
* 策略明细入参
*/
@Valid
private List<CreateBasePriceStrategyDetailInput> details;
}
package pps.core.base.service.data.base_price_strategy_month;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
/**
* 月份入参
*
* @author ZWT
* @date 2023/08/24
*/
@Data
public class UpdateBasePriceStrategyMonthInput {
@XText("ID")
@NotBlank(message = "月份ID不能为空")
private String id;
@XText("是否删除(0_是;1_否)")
......@@ -33,86 +44,6 @@ public class UpdateBasePriceStrategyMonthInput {
private String strategyId;
@XText("市电峰谷月(1-12)")
@NotNull(message = "月份不能为空")
private Integer strategyMonth;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getStrategyId() {
return this.strategyId;
}
public void setStrategyId(String value) {
this.strategyId = value;
}
public Integer getStrategyMonth() {
return this.strategyMonth;
}
public void setStrategyMonth(Integer value) {
this.strategyMonth = value;
}
}
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