mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-05 10:30:12 +08:00
update会员计费模板
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
package com.jsowell.pile.dto;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class QueryMemberGroupDTO {
|
||||||
|
private String memberId;
|
||||||
|
|
||||||
|
private String groupCode;
|
||||||
|
|
||||||
|
private String merchantId;
|
||||||
|
|
||||||
|
private String stationId;
|
||||||
|
}
|
||||||
@@ -77,6 +77,8 @@ public interface MemberGroupMapper {
|
|||||||
*/
|
*/
|
||||||
MemberDiscountVO queryMemberDiscount(@Param("merchantId") String merchantId, @Param("stationId") String stationId, @Param("memberId") String memberId);
|
MemberDiscountVO queryMemberDiscount(@Param("merchantId") String merchantId, @Param("stationId") String stationId, @Param("memberId") String memberId);
|
||||||
|
|
||||||
|
MemberGroupVO queryByGroupCodeAndMemberId(@Param("groupCode") String groupCode, @Param("memberId") String memberId);
|
||||||
|
|
||||||
List<MemberVO> queryMemberList(@Param("groupCode") String groupCode);
|
List<MemberVO> queryMemberList(@Param("groupCode") String groupCode);
|
||||||
|
|
||||||
MemberGroup selectByGroupCode(String groupCode);
|
MemberGroup selectByGroupCode(String groupCode);
|
||||||
@@ -85,5 +87,12 @@ public interface MemberGroupMapper {
|
|||||||
|
|
||||||
MemberGroupVO queryByMerchantId(String merchantId);
|
MemberGroupVO queryByMerchantId(String merchantId);
|
||||||
|
|
||||||
MemberDiscountVO queryMemberDiscountV2(@Param("groupCode") String groupCode, @Param("memberId") String memberId);
|
/**
|
||||||
|
* 查询集团编号
|
||||||
|
* @param merchantId 运营商id
|
||||||
|
* @param stationId 站点id
|
||||||
|
* @param memberId 会员id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String queryMemberGroupCode(@Param("merchantId") String merchantId, @Param("stationId") String stationId, @Param("memberId") String memberId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,4 +171,11 @@ public interface PileBillingTemplateMapper {
|
|||||||
void updateStatusByStationId(@Param("stationId") String stationId, @Param("status") String status);
|
void updateStatusByStationId(@Param("stationId") String stationId, @Param("status") String status);
|
||||||
|
|
||||||
void updateStatusByTemplateId(@Param("templateId") String templateId, @Param("status") String status);
|
void updateStatusByTemplateId(@Param("templateId") String templateId, @Param("status") String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询站点的集团会员优惠计费模板
|
||||||
|
* @param stationId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ public interface MemberGroupService {
|
|||||||
*/
|
*/
|
||||||
MemberDiscountVO queryMemberDiscount(String merchantId, String stationId, String memberId);
|
MemberDiscountVO queryMemberDiscount(String merchantId, String stationId, String memberId);
|
||||||
|
|
||||||
|
MemberDiscountVO queryMemberDiscountV2(String merchantId, String stationId, String memberId);
|
||||||
|
|
||||||
int addMember(MemberGroupDTO dto);
|
int addMember(MemberGroupDTO dto);
|
||||||
|
|
||||||
List<MemberVO> queryMemberList(MemberGroupDTO dto);
|
List<MemberVO> queryMemberList(MemberGroupDTO dto);
|
||||||
|
|||||||
@@ -180,4 +180,9 @@ public interface PileBillingTemplateService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int createPreferentialBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
|
int createPreferentialBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询优惠计费模板
|
||||||
|
*/
|
||||||
|
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,11 +12,9 @@ import com.jsowell.pile.domain.MemberGroup;
|
|||||||
import com.jsowell.pile.domain.MemberGroupRelation;
|
import com.jsowell.pile.domain.MemberGroupRelation;
|
||||||
import com.jsowell.pile.dto.MemberGroupDTO;
|
import com.jsowell.pile.dto.MemberGroupDTO;
|
||||||
import com.jsowell.pile.mapper.MemberGroupMapper;
|
import com.jsowell.pile.mapper.MemberGroupMapper;
|
||||||
import com.jsowell.pile.service.MemberBasicInfoService;
|
import com.jsowell.pile.service.*;
|
||||||
import com.jsowell.pile.service.MemberGroupRelationService;
|
|
||||||
import com.jsowell.pile.service.MemberGroupService;
|
|
||||||
import com.jsowell.pile.service.PileMerchantInfoService;
|
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import com.jsowell.pile.vo.web.MemberDiscountVO;
|
import com.jsowell.pile.vo.web.MemberDiscountVO;
|
||||||
import com.jsowell.pile.vo.web.MemberGroupVO;
|
import com.jsowell.pile.vo.web.MemberGroupVO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -49,6 +47,9 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PileMerchantInfoService pileMerchantInfoService;
|
private PileMerchantInfoService pileMerchantInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PileBillingTemplateService pileBillingTemplateService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员组
|
* 查询会员组
|
||||||
*
|
*
|
||||||
@@ -188,6 +189,25 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
return MemberDiscountVO;
|
return MemberDiscountVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MemberDiscountVO queryMemberDiscountV2(String merchantId, String stationId, String memberId) {
|
||||||
|
String groupCode = memberGroupMapper.queryMemberGroupCode(merchantId, stationId, memberId);
|
||||||
|
if (StringUtils.isBlank(groupCode)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 查询站点的集团会员计费模板
|
||||||
|
BillingTemplateVO billingTemplate = pileBillingTemplateService.queryPreferentialBillingTemplate(stationId);
|
||||||
|
if (billingTemplate == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
MemberDiscountVO memberDiscountVOBuilder = MemberDiscountVO.builder()
|
||||||
|
.merchantId(merchantId)
|
||||||
|
.stationId(stationId)
|
||||||
|
.groupCode(groupCode)
|
||||||
|
.billingTemplateVO(billingTemplate)
|
||||||
|
.build();
|
||||||
|
return memberDiscountVOBuilder;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后管保存集团会员关系
|
* 后管保存集团会员关系
|
||||||
* @param dto
|
* @param dto
|
||||||
@@ -229,8 +249,8 @@ public class MemberGroupServiceImpl implements MemberGroupService {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// 检查memberId是否在集团中
|
// 检查memberId是否在集团中
|
||||||
MemberDiscountVO vo = memberGroupMapper.queryMemberDiscountV2(memberGroupVO.getGroupCode(), memberId);
|
MemberGroupVO groupVO = memberGroupMapper.queryByGroupCodeAndMemberId(memberGroupVO.getGroupCode(), memberId);
|
||||||
if (vo == null) {
|
if (groupVO == null) {
|
||||||
// 校验通过,关系存入数据库 加入到集团
|
// 校验通过,关系存入数据库 加入到集团
|
||||||
return saveMemberGroupRelation(memberId, memberGroupVO.getGroupCode());
|
return saveMemberGroupRelation(memberId, memberGroupVO.getGroupCode());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -465,6 +465,11 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BillingTemplateVO queryPreferentialBillingTemplate(String stationId) {
|
||||||
|
return pileBillingTemplateMapper.queryPreferentialBillingTemplate(stationId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BillingTemplateVO> selectBillingTemplateByStationIdList(List<String> stationIdList) {
|
public List<BillingTemplateVO> selectBillingTemplateByStationIdList(List<String> stationIdList) {
|
||||||
if (CollectionUtils.isEmpty(stationIdList)) {
|
if (CollectionUtils.isEmpty(stationIdList)) {
|
||||||
|
|||||||
@@ -715,8 +715,9 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
BigDecimal discountElectricityAmount = BigDecimal.ZERO;
|
BigDecimal discountElectricityAmount = BigDecimal.ZERO;
|
||||||
// 服务费折扣金额
|
// 服务费折扣金额
|
||||||
BigDecimal discountServiceAmount = BigDecimal.ZERO;
|
BigDecimal discountServiceAmount = BigDecimal.ZERO;
|
||||||
|
// 优惠后服务费金额 初始值为优惠前金额
|
||||||
BigDecimal afterServiceAmountDiscount = orderDetail.getTotalServiceAmount();
|
BigDecimal afterServiceAmountDiscount = orderDetail.getTotalServiceAmount();
|
||||||
|
// 优惠后电费金额 初始值为优惠前金额
|
||||||
BigDecimal afterElectricityAmountDiscount = orderDetail.getTotalElectricityAmount();
|
BigDecimal afterElectricityAmountDiscount = orderDetail.getTotalElectricityAmount();
|
||||||
|
|
||||||
// 查询会员在此站点会员折扣
|
// 查询会员在此站点会员折扣
|
||||||
@@ -783,8 +784,128 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
protected void calculateOrderDiscountsV2(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) {
|
protected void calculateOrderDiscountsV2(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) {
|
||||||
String memberId = orderBasicInfo.getMemberId(); // 会员id
|
String memberId = orderBasicInfo.getMemberId(); // 会员id
|
||||||
String stationId = orderBasicInfo.getStationId(); // 站点id
|
String stationId = orderBasicInfo.getStationId(); // 站点id
|
||||||
|
String merchantId = orderBasicInfo.getMerchantId(); // 运营商id
|
||||||
|
|
||||||
|
// 原始电费金额
|
||||||
|
BigDecimal originalTotalElectricityAmount = orderDetail.getTotalElectricityAmount();
|
||||||
|
// 原始服务费金额
|
||||||
|
BigDecimal originalTotalServiceAmount = orderDetail.getTotalServiceAmount();
|
||||||
|
// 电费折扣金额 初始值为0
|
||||||
|
BigDecimal electricityAmountDiscount = BigDecimal.ZERO;
|
||||||
|
// 服务费折扣金额 初始值为0
|
||||||
|
BigDecimal serviceAmountDiscount = BigDecimal.ZERO;
|
||||||
|
// 优惠后电费金额 初始值为优惠前金额
|
||||||
|
BigDecimal afterDiscountElectricityAmount = BigDecimal.ZERO;
|
||||||
|
// 优惠后服务费金额 初始值为优惠前金额
|
||||||
|
BigDecimal afterDiscountServiceAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
// 查询会员在该站点享受的优惠
|
||||||
|
MemberDiscountVO memberDiscountVO = memberGroupService.queryMemberDiscountV2(merchantId, stationId, memberId);
|
||||||
|
if (memberDiscountVO == null) {
|
||||||
|
// 如果没有优惠,则优惠后金额 等于优惠前金额
|
||||||
|
afterDiscountServiceAmount = orderDetail.getTotalServiceAmount();
|
||||||
|
afterDiscountElectricityAmount = orderDetail.getTotalElectricityAmount();
|
||||||
|
} else {
|
||||||
|
BillingTemplateVO billingTemplateVO = memberDiscountVO.getBillingTemplateVO();
|
||||||
|
|
||||||
|
// 尖时段用电量
|
||||||
|
BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity();
|
||||||
|
if (sharpUsedElectricity != null) {
|
||||||
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
|
BigDecimal sharpElectricityAmount = billingTemplateVO.getSharpElectricityPrice()
|
||||||
|
.multiply(sharpUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
// 计算该时段服务费
|
||||||
|
BigDecimal sharpServiceAmount = billingTemplateVO.getSharpServicePrice()
|
||||||
|
.multiply(sharpUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
|
||||||
|
// 汇总
|
||||||
|
afterDiscountElectricityAmount = afterDiscountElectricityAmount.add(sharpElectricityAmount);
|
||||||
|
afterDiscountServiceAmount = afterDiscountServiceAmount.add(sharpServiceAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 峰时段用电量
|
||||||
|
BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity();
|
||||||
|
if (peakUsedElectricity != null) {
|
||||||
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
|
BigDecimal peakElectricityAmount = billingTemplateVO.getPeakElectricityPrice()
|
||||||
|
.multiply(peakUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
// 计算该时段服务费
|
||||||
|
BigDecimal peakServiceAmount = billingTemplateVO.getPeakServicePrice()
|
||||||
|
.multiply(peakUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
|
||||||
|
// 汇总
|
||||||
|
afterDiscountElectricityAmount = afterDiscountElectricityAmount.add(peakElectricityAmount);
|
||||||
|
afterDiscountServiceAmount = afterDiscountServiceAmount.add(peakServiceAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 平时段用电量
|
||||||
|
BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity();
|
||||||
|
if (flatUsedElectricity != null) {
|
||||||
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
|
BigDecimal flatElectricityAmount = billingTemplateVO.getFlatElectricityPrice()
|
||||||
|
.multiply(flatUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
// 计算该时段服务费
|
||||||
|
BigDecimal flatServiceAmount = billingTemplateVO.getFlatServicePrice()
|
||||||
|
.multiply(flatUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
|
||||||
|
// 汇总
|
||||||
|
afterDiscountElectricityAmount = afterDiscountElectricityAmount.add(flatElectricityAmount);
|
||||||
|
afterDiscountServiceAmount = afterDiscountServiceAmount.add(flatServiceAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 谷时段用电量
|
||||||
|
BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity();
|
||||||
|
if (valleyUsedElectricity != null) {
|
||||||
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
|
BigDecimal valleyElectricityAmount = billingTemplateVO.getValleyElectricityPrice()
|
||||||
|
.multiply(valleyUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
// 计算该时段服务费
|
||||||
|
BigDecimal valleyServiceAmount = billingTemplateVO.getValleyServicePrice()
|
||||||
|
.multiply(valleyUsedElectricity)
|
||||||
|
.setScale(2, RoundingMode.DOWN);
|
||||||
|
|
||||||
|
// 汇总
|
||||||
|
afterDiscountElectricityAmount = afterDiscountElectricityAmount.add(valleyElectricityAmount);
|
||||||
|
afterDiscountServiceAmount = afterDiscountServiceAmount.add(valleyServiceAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算优惠了多少钱
|
||||||
|
// 电费折扣金额
|
||||||
|
electricityAmountDiscount = originalTotalElectricityAmount.subtract(afterDiscountElectricityAmount);
|
||||||
|
// 服务费折扣金额
|
||||||
|
serviceAmountDiscount = originalTotalServiceAmount.subtract(afterDiscountServiceAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
更新 数据
|
||||||
|
*/
|
||||||
|
// 订单折扣金额
|
||||||
|
BigDecimal discountAmount = electricityAmountDiscount.add(serviceAmountDiscount);
|
||||||
|
orderBasicInfo.setDiscountAmount(discountAmount);
|
||||||
|
|
||||||
|
// 更新结算金额 结算金额 = 消费金额 - 虚拟金额 - 优惠金额
|
||||||
|
BigDecimal newSettleAmount = orderBasicInfo.getSettleAmount().subtract(discountAmount);
|
||||||
|
orderBasicInfo.setSettleAmount(newSettleAmount);
|
||||||
|
|
||||||
|
// 优惠后总消费金额 = 折扣后电费 + 折扣后服务费
|
||||||
|
BigDecimal totalConsumeAmount = afterDiscountServiceAmount.add(afterDiscountElectricityAmount);
|
||||||
|
|
||||||
|
// 更新退款金额 = 支付金额 - 优惠后总消费金额
|
||||||
|
BigDecimal refundAmount = orderBasicInfo.getPayAmount().subtract(totalConsumeAmount).setScale(2, RoundingMode.DOWN);
|
||||||
|
orderBasicInfo.setRefundAmount(refundAmount);
|
||||||
|
// 电费折扣金额
|
||||||
|
orderDetail.setDiscountElectricityAmount(electricityAmountDiscount);
|
||||||
|
// 服务费折扣金额
|
||||||
|
orderDetail.setDiscountServiceAmount(serviceAmountDiscount);
|
||||||
|
logger.info("计算订单折扣, orderCode:{}, memberId:{}, 订单折扣金额:{}, 电费折扣金额:{}, 服务费折扣金额:{}, 优惠后总消费金额:{}",
|
||||||
|
orderBasicInfo.getOrderCode(), memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -373,7 +373,9 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
|||||||
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
||||||
OrderDetail orderDetail = returnUpdateOrderDetail(orderBasicInfo, data);
|
OrderDetail orderDetail = returnUpdateOrderDetail(orderBasicInfo, data);
|
||||||
// 计算订单折扣 calculateOrderDiscounts
|
// 计算订单折扣 calculateOrderDiscounts
|
||||||
calculateOrderDiscounts(orderBasicInfo, orderDetail);
|
// calculateOrderDiscounts(orderBasicInfo, orderDetail);
|
||||||
|
// calculateOrderDiscountsV2(orderBasicInfo, orderDetail);
|
||||||
|
|
||||||
// 更新数据库
|
// 更新数据库
|
||||||
OrderTransactionDTO dto = new OrderTransactionDTO();
|
OrderTransactionDTO dto = new OrderTransactionDTO();
|
||||||
dto.setOrderBasicInfo(orderBasicInfo);
|
dto.setOrderBasicInfo(orderBasicInfo);
|
||||||
|
|||||||
@@ -199,7 +199,7 @@
|
|||||||
and t1.merchant_id = #{merchantId,jdbcType=VARCHAR}
|
and t1.merchant_id = #{merchantId,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryMemberDiscountV2" resultType="com.jsowell.pile.vo.web.MemberDiscountVO">
|
<select id="queryByGroupCodeAndMemberId" resultType="com.jsowell.pile.vo.web.MemberGroupVO">
|
||||||
SELECT
|
SELECT
|
||||||
t1.group_code AS groupCode,
|
t1.group_code AS groupCode,
|
||||||
t1.group_type AS groupType,
|
t1.group_type AS groupType,
|
||||||
@@ -214,4 +214,17 @@
|
|||||||
and t1.group_code = #{groupCode,jdbcType=VARCHAR}
|
and t1.group_code = #{groupCode,jdbcType=VARCHAR}
|
||||||
and t2.member_id = #{memberId,jdbcType=VARCHAR}
|
and t2.member_id = #{memberId,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryMemberGroupCode" resultType="java.lang.String">
|
||||||
|
SELECT
|
||||||
|
t1.group_code AS groupCode
|
||||||
|
FROM
|
||||||
|
member_group t1
|
||||||
|
JOIN member_group_relation t2 ON t2.group_code = t1.group_code AND t2.del_flag = '0'
|
||||||
|
WHERE
|
||||||
|
t1.del_flag = '0'
|
||||||
|
and t2.member_id = #{memberId,jdbcType=VARCHAR}
|
||||||
|
and t1.merchant_id = #{merchantId,jdbcType=VARCHAR}
|
||||||
|
and find_in_set(#{stationId,jdbcType=VARCHAR}, t1.station_id)
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -505,8 +505,8 @@
|
|||||||
left JOIN pile_billing_detail t4 ON t4.template_code = t2.template_code AND t4.time_type = '2'
|
left JOIN pile_billing_detail t4 ON t4.template_code = t2.template_code AND t4.time_type = '2'
|
||||||
left JOIN pile_billing_detail t5 ON t5.template_code = t2.template_code AND t5.time_type = '3'
|
left JOIN pile_billing_detail t5 ON t5.template_code = t2.template_code AND t5.time_type = '3'
|
||||||
left JOIN pile_billing_detail t6 ON t6.template_code = t2.template_code AND t6.time_type = '4'
|
left JOIN pile_billing_detail t6 ON t6.template_code = t2.template_code AND t6.time_type = '4'
|
||||||
WHERE
|
WHERE t2.del_flag = '0'
|
||||||
t2.station_id = #{stationId,jdbcType=VARCHAR}
|
and t2.station_id = #{stationId,jdbcType=VARCHAR}
|
||||||
order by t2.publish_time DESC
|
order by t2.publish_time DESC
|
||||||
limit 1
|
limit 1
|
||||||
</select>
|
</select>
|
||||||
@@ -596,4 +596,35 @@
|
|||||||
set status = #{status,jdbcType=VARCHAR}
|
set status = #{status,jdbcType=VARCHAR}
|
||||||
where id = #{templateId,jdbcType=VARCHAR}
|
where id = #{templateId,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="queryPreferentialBillingTemplate" resultType="com.jsowell.pile.vo.web.BillingTemplateVO">
|
||||||
|
SELECT
|
||||||
|
t2.id as templateId,
|
||||||
|
t2.template_code AS templateCode,
|
||||||
|
t2.`name` AS templateName,
|
||||||
|
t3.electricity_price AS sharpElectricityPrice,
|
||||||
|
t3.service_price AS sharpServicePrice,
|
||||||
|
t3.apply_time AS sharpApplyDate,
|
||||||
|
t4.electricity_price AS peakElectricityPrice,
|
||||||
|
t4.service_price AS peakServicePrice,
|
||||||
|
t4.apply_time AS peakApplyDate,
|
||||||
|
t5.electricity_price AS flatElectricityPrice,
|
||||||
|
t5.service_price AS flatServicePrice,
|
||||||
|
t5.apply_time AS flatApplyDate,
|
||||||
|
t6.electricity_price AS valleyElectricityPrice,
|
||||||
|
t6.service_price AS valleyServicePrice,
|
||||||
|
t6.apply_time AS valleyApplyDate
|
||||||
|
FROM
|
||||||
|
pile_billing_template t2
|
||||||
|
left JOIN pile_billing_detail t3 ON t3.template_code = t2.template_code AND t3.time_type = '1'
|
||||||
|
left JOIN pile_billing_detail t4 ON t4.template_code = t2.template_code AND t4.time_type = '2'
|
||||||
|
left JOIN pile_billing_detail t5 ON t5.template_code = t2.template_code AND t5.time_type = '3'
|
||||||
|
left JOIN pile_billing_detail t6 ON t6.template_code = t2.template_code AND t6.time_type = '4'
|
||||||
|
WHERE t2.del_flag = '0'
|
||||||
|
and t2.station_id = #{stationId,jdbcType=VARCHAR}
|
||||||
|
and t2.public_flag = '0'
|
||||||
|
and t2.member_flag = '1'
|
||||||
|
order by t2.update_time DESC, t2.create_time DESC
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user