Commit ba50a91f 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.开发基础信息配置-市电峰谷配置模块新增功能,完成接口冒烟测试并生成接口文档;
5.开发基础信息配置-市电峰谷配置模块更新功能,完成接口冒烟测试并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b0b91211
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyDetailView;
import pps.core.base.entity.BasePriceStrategyMonthEnt;
import java.util.List;
......@@ -16,4 +18,14 @@ public interface BasePriceStrategyDetailViewMapper {
BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record);
List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record);
/**
* 删除月份对应详情信息
*
* @param strategyId 战略id
* @param monthList 月清单
* @return int
*/
int deleteBatchByStrategyMonth(@Param(value = "strategyId") String strategyId,
@Param(value = "monthList") List<BasePriceStrategyMonthEnt> monthList);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyMonthEnt;
import pps.core.base.entity.BasePriceStrategyMonthView;
import java.util.List;
......@@ -16,4 +18,14 @@ public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
/**
* 删除月份对应详情信息
*
* @param strategyId 战略id
* @param monthList 月清单
* @return int
*/
int deleteBatchByStrategyMonth(@Param(value = "strategyId") String strategyId,
@Param(value = "monthList") List<BasePriceStrategyMonthEnt> monthList);
}
......@@ -10,7 +10,6 @@ import pps.core.base.entity.BasePriceStrategyMonthEnt;
import pps.core.base.entity.BasePriceStrategyView;
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;
......@@ -18,7 +17,6 @@ import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput;
import xstartup.base.exception.XServiceException;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XPageResult;
import xstartup.data.XServiceResult;
......@@ -33,6 +31,7 @@ import xstartup.helper.XTransactionHelper;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* 市电峰谷配置模块
......@@ -68,22 +67,9 @@ public class BasePriceStrategyService {
String strategyId = entity.getId();
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);
XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.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);
}
}
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
return XServiceResult.OK;
});
......@@ -108,28 +94,22 @@ public class BasePriceStrategyService {
return XTransactionHelper.begin(context, () -> {
BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class);
QueryWrapper<BasePriceStrategyEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, input.getId());
queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, strategyId);
BasePriceStrategyEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
if (Objects.isNull(entity)) {
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("请选择月份");
}
BasePriceStrategyMonthViewMapper monthViewMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
monthViewMapper.deleteBatchByStrategyMonth(strategyId, monthList);
//删除详情
BasePriceStrategyDetailViewMapper detailViewMapper = context.getBean(BasePriceStrategyDetailViewMapper.class);
detailViewMapper.deleteBatchByStrategyMonth(strategyId, monthList);
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
XCopyUtils.copyObject(input, entity);
this.setBasePriceStrategyEntDefault(entity, session);
......@@ -138,7 +118,6 @@ public class BasePriceStrategyService {
});
}
@XApiAnonymous
@XApiPost
public XServiceResult deleteBasePriceStrategy(XContext context, DeleteBasePriceStrategyInput input) {
......@@ -226,6 +205,31 @@ public class BasePriceStrategyService {
/*-----------------------------------private-----------------------------------*/
/**
* 保存策略明细
*
* @param context 上下文
* @param monthList 月清单
* @param strategyId 战略id
* @param session 会话
*/
private void saveStrategyMonthDetail(XContext context, List<BasePriceStrategyMonthEnt> monthList, String strategyId, PpsUserSession session) {
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.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);
}
}
}
/**
* 设置市电峰谷当月明细配置默认值
*
......
......@@ -3,7 +3,6 @@ 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;
......@@ -65,10 +64,4 @@ public class UpdateBasePriceStrategyInput {
*/
@Valid
private List<UpdateBasePriceStrategyMonthInput> months;
/**
* 策略明细入参
*/
@Valid
private List<CreateBasePriceStrategyDetailInput> details;
}
package pps.core.base.service.data.base_price_strategy_month;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.UpdateBasePriceStrategyDetailInput;
import xstartup.annotation.XText;
import java.util.Date;
import java.util.List;
/**
* 月份入参
......@@ -16,7 +18,6 @@ import java.util.Date;
@Data
public class UpdateBasePriceStrategyMonthInput {
@XText("ID")
@NotBlank(message = "月份ID不能为空")
private String id;
@XText("是否删除(0_是;1_否)")
......@@ -46,4 +47,10 @@ public class UpdateBasePriceStrategyMonthInput {
@XText("市电峰谷月(1-12)")
@NotNull(message = "月份不能为空")
private Integer strategyMonth;
/**
* 策略明细入参
*/
@Valid
private List<UpdateBasePriceStrategyDetailInput> details;
}
......@@ -2,24 +2,25 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.base.mapper.BasePriceStrategyDetailViewMapper">
<resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyDetailView">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER" />
<result column="create_by_id" property="createById" jdbcType="VARCHAR" />
<result column="create_by_name" property="createByName" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="DATE" />
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR" />
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR" />
<result column="modify_time" property="modifyTime" jdbcType="DATE" />
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR" />
<result column="strategy_month_id" property="strategyMonthId" jdbcType="VARCHAR" />
<result column="period_type_key" property="periodTypeKey" jdbcType="VARCHAR" />
<result column="start_time" property="startTime" jdbcType="DATE" />
<result column="end_time" property="endTime" jdbcType="DATE" />
<result column="electrovalence" property="electrovalence" jdbcType="DECIMAL" />
<result column="internal_settlement_price" property="internalSettlementPrice" jdbcType="DECIMAL" />
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER"/>
<result column="create_by_id" property="createById" jdbcType="VARCHAR"/>
<result column="create_by_name" property="createByName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="DATE"/>
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR"/>
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR"/>
<result column="modify_time" property="modifyTime" jdbcType="DATE"/>
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR"/>
<result column="strategy_month_id" property="strategyMonthId" jdbcType="VARCHAR"/>
<result column="period_type_key" property="periodTypeKey" jdbcType="VARCHAR"/>
<result column="start_time" property="startTime" jdbcType="DATE"/>
<result column="end_time" property="endTime" jdbcType="DATE"/>
<result column="electrovalence" property="electrovalence" jdbcType="DECIMAL"/>
<result column="internal_settlement_price" property="internalSettlementPrice" jdbcType="DECIMAL"/>
</resultMap>
<sql id="Base_Column_List">
id,
id
,
is_deleted,
create_by_id,
create_by_name,
......@@ -37,16 +38,26 @@
</sql>
<select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_price_strategy_detail
where
id=#{id}
</select>
<select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_price_strategy_detail
where
id=#{id}
</select>
<delete id="deleteBatchByStrategyMonth">
DELETE
FROM base_price_strategy_detail
WHERE strategy_id = #{strategyId}
AND strategy_month IN
<foreach collection="monthList" open="(" close=")" item="item" separator=",">
#{item.strategyMonth}
</foreach>
</delete>
</mapper>
\ No newline at end of file
......@@ -2,19 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.base.mapper.BasePriceStrategyMonthViewMapper">
<resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyMonthView">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER" />
<result column="create_by_id" property="createById" jdbcType="VARCHAR" />
<result column="create_by_name" property="createByName" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="DATE" />
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR" />
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR" />
<result column="modify_time" property="modifyTime" jdbcType="DATE" />
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR" />
<result column="strategy_month" property="strategyMonth" jdbcType="INTEGER" />
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER"/>
<result column="create_by_id" property="createById" jdbcType="VARCHAR"/>
<result column="create_by_name" property="createByName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="DATE"/>
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR"/>
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR"/>
<result column="modify_time" property="modifyTime" jdbcType="DATE"/>
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR"/>
<result column="strategy_month" property="strategyMonth" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id,
id
,
is_deleted,
create_by_id,
create_by_name,
......@@ -27,16 +28,26 @@
</sql>
<select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_price_strategy_month
where
id=#{id}
</select>
<select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from base_price_strategy_month
where
id=#{id}
</select>
<delete id="deleteBatchByStrategyMonth">
DELETE
FROM base_price_strategy_month
WHERE strategy_id = #{strategyId}
AND strategy_month IN
<foreach collection="monthList" open="(" close=")" item="item" separator=",">
#{item.strategyMonth}
</foreach>
</delete>
</mapper>
\ 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