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