mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-12 03:09:48 +08:00
update 电单车查询收费标准
This commit is contained in:
@@ -211,4 +211,6 @@ public interface PileBillingTemplateService {
|
|||||||
* 查询优惠计费模板
|
* 查询优惠计费模板
|
||||||
*/
|
*/
|
||||||
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
|
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
|
||||||
|
|
||||||
|
CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import com.alibaba.fastjson2.JSON;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.primitives.Bytes;
|
import com.google.common.primitives.Bytes;
|
||||||
import com.jsowell.common.YouDianUtils;
|
|
||||||
import com.jsowell.common.constant.CacheConstants;
|
import com.jsowell.common.constant.CacheConstants;
|
||||||
import com.jsowell.common.constant.Constants;
|
import com.jsowell.common.constant.Constants;
|
||||||
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
||||||
@@ -17,7 +16,6 @@ import com.jsowell.common.util.id.Seq;
|
|||||||
import com.jsowell.pile.domain.*;
|
import com.jsowell.pile.domain.*;
|
||||||
import com.jsowell.pile.dto.BillingTimeDTO;
|
import com.jsowell.pile.dto.BillingTimeDTO;
|
||||||
import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO;
|
import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO;
|
||||||
import com.jsowell.pile.dto.ImportBillingTemplateDTO;
|
|
||||||
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
||||||
import com.jsowell.pile.service.MemberGroupService;
|
import com.jsowell.pile.service.MemberGroupService;
|
||||||
import com.jsowell.pile.service.PileBillingTemplateService;
|
import com.jsowell.pile.service.PileBillingTemplateService;
|
||||||
@@ -433,15 +431,36 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
*
|
*
|
||||||
* @param stationId 站点id
|
* @param stationId 站点id
|
||||||
*/
|
*/
|
||||||
// @Override
|
@Override
|
||||||
public CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId) {
|
public CurrentTimePriceDetails getCurrentTimePriceDetailsForEBike(String stationId) {
|
||||||
CurrentTimePriceDetails result = new CurrentTimePriceDetails();
|
CurrentTimePriceDetails result = null;
|
||||||
|
// 查询当前时段电费
|
||||||
|
LocalTime localTime = LocalTime.now();
|
||||||
|
String now = LocalTime.of(localTime.getHour(), localTime.getMinute(), localTime.getSecond()).toString();
|
||||||
// 通过站点id查询计费模板
|
// 通过站点id查询计费模板
|
||||||
BillingTemplateVO billingTemplateVO = queryUsedBillingTemplateForEBike(stationId);
|
BillingTemplateVO billingTemplateVO = queryUsedBillingTemplateForEBike(stationId);
|
||||||
if (billingTemplateVO !=null){
|
if (Objects.nonNull(billingTemplateVO)) {
|
||||||
result.setTotalPrice(String.valueOf(billingTemplateVO.getFlatElectricityPrice()));
|
result = new CurrentTimePriceDetails();
|
||||||
|
result.setTemplateCode(billingTemplateVO.getTemplateCode());
|
||||||
|
result.setStationId(stationId);
|
||||||
|
result.setDateTime(localTime.toString());
|
||||||
|
result.setFreeTime(billingTemplateVO.getFreeTime());
|
||||||
|
result.setOccupyFee(billingTemplateVO.getOccupyFee());
|
||||||
|
List<BillingDetailVO> billingDetailList = billingTemplateVO.getBillingDetailList();
|
||||||
|
for (BillingDetailVO detailVO : billingDetailList) {
|
||||||
|
List<String> applyTimeList = detailVO.getApplyTime();
|
||||||
|
for (String applyTime : applyTimeList) {
|
||||||
|
boolean b = DateUtils.checkTime(now + "-" + now, applyTime);
|
||||||
|
if (b) {
|
||||||
|
// 将桩的费率存入stationVO
|
||||||
|
BigDecimal electricityPrice = detailVO.getElectricityPrice();
|
||||||
|
BigDecimal servicePrice = detailVO.getServicePrice();
|
||||||
|
result.setElectricityPrice(electricityPrice.toString());
|
||||||
|
result.setServicePrice(servicePrice.toString());
|
||||||
|
result.setTotalPrice(electricityPrice.add(servicePrice).toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -451,22 +470,22 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
* @param pileSn
|
* @param pileSn
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
// @Override
|
||||||
public CurrentTimePriceDetails getCurrentTimePriceDetailsByPileType(String stationId , String pileSn) {
|
// public CurrentTimePriceDetails getCurrentTimePriceDetailsByPileType(String stationId , String pileSn) {
|
||||||
// 使用工具类判断是否为电单车桩
|
// // 使用工具类判断是否为电单车桩
|
||||||
// boolean isEBike = YouDianUtils.isEBikePileSn(pileSn);
|
// // boolean isEBike = YouDianUtils.isEBikePileSn(pileSn);
|
||||||
// 判断桩号是否为汽车桩号
|
// // 判断桩号是否为汽车桩号
|
||||||
Boolean result = YKCUtils.checkEVPileSn(pileSn);
|
// Boolean result = YKCUtils.checkEVPileSn(pileSn);
|
||||||
|
//
|
||||||
if (result) {
|
// if (result) {
|
||||||
log.info("走电动汽车逻辑");
|
// log.info("走电动汽车逻辑");
|
||||||
// 电动汽车:调用电动汽车计费模板查询方法
|
// // 电动汽车:调用电动汽车计费模板查询方法
|
||||||
return getCurrentTimePriceDetails(stationId);
|
// return getCurrentTimePriceDetails(stationId);
|
||||||
} else {
|
// } else {
|
||||||
log.info("走电单车方法");
|
// log.info("走电单车方法");
|
||||||
// 电单车:调用电单车计费模板查询方法
|
// // 电单车:调用电单车计费模板查询方法
|
||||||
return getCurrentTimePriceDetailsForEBike(stationId);
|
// return getCurrentTimePriceDetailsForEBike(stationId);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
|||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
|
import com.jsowell.common.util.YKCUtils;
|
||||||
import com.jsowell.common.util.http.HttpUtils;
|
import com.jsowell.common.util.http.HttpUtils;
|
||||||
import com.jsowell.pile.domain.MemberBasicInfo;
|
import com.jsowell.pile.domain.MemberBasicInfo;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
@@ -21,6 +22,7 @@ import com.jsowell.pile.service.OrderBasicInfoService;
|
|||||||
import com.jsowell.pile.service.PileBillingTemplateService;
|
import com.jsowell.pile.service.PileBillingTemplateService;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails;
|
import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails;
|
||||||
import com.jsowell.pile.vo.uniapp.customer.SendMessageVO;
|
import com.jsowell.pile.vo.uniapp.customer.SendMessageVO;
|
||||||
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import com.jsowell.wxpay.config.WeixinLoginProperties;
|
import com.jsowell.wxpay.config.WeixinLoginProperties;
|
||||||
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
|
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
|
||||||
import com.jsowell.wxpay.dto.WechatSendMsgDTO;
|
import com.jsowell.wxpay.dto.WechatSendMsgDTO;
|
||||||
@@ -239,9 +241,28 @@ public class WxAppletRemoteService {
|
|||||||
startChargingMessage.setStationName(sendMessageVO.getStationName()); // 站点名称
|
startChargingMessage.setStationName(sendMessageVO.getStationName()); // 站点名称
|
||||||
|
|
||||||
// 订单编号
|
// 订单编号
|
||||||
startChargingMessage.setOrderCode(sendMessageVO.getOrderCode());
|
String orderCode = sendMessageVO.getOrderCode();
|
||||||
|
startChargingMessage.setOrderCode(orderCode);
|
||||||
|
|
||||||
|
// 查询订单信息
|
||||||
|
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
|
||||||
|
if (orderBasicInfo == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
String pileSn = orderBasicInfo.getPileSn();
|
||||||
|
Boolean result = YKCUtils.checkEVPileSn(pileSn);
|
||||||
|
|
||||||
// 收费标准
|
// 收费标准
|
||||||
CurrentTimePriceDetails currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetailsByPileType(sendMessageVO.getStationId(),sendMessageVO.getPileSn());
|
CurrentTimePriceDetails currentTimePriceDetails = new CurrentTimePriceDetails();
|
||||||
|
if (result) {
|
||||||
|
// 查询电动汽车收费标准
|
||||||
|
currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetails(sendMessageVO.getStationId());
|
||||||
|
}else {
|
||||||
|
// 查询电单车收费标准
|
||||||
|
currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetailsForEBike(sendMessageVO.getStationId());
|
||||||
|
}
|
||||||
|
// 收费标准
|
||||||
|
// CurrentTimePriceDetails currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetailsByPileType(sendMessageVO.getStationId(),sendMessageVO.getPileSn());
|
||||||
|
|
||||||
startChargingMessage.setTotalPrice(currentTimePriceDetails.getTotalPrice() + " 元/度");
|
startChargingMessage.setTotalPrice(currentTimePriceDetails.getTotalPrice() + " 元/度");
|
||||||
// 枪口编号
|
// 枪口编号
|
||||||
|
|||||||
Reference in New Issue
Block a user