修改卡启动,增加定时计费模型
This commit is contained in:
parent
b792e9d46a
commit
c523d52491
@ -88,7 +88,7 @@ public class XhpcCardServiceImpl implements IXhpcCardService {
|
|||||||
Long userId=xhpcIcCardInfo.getUserId();
|
Long userId=xhpcIcCardInfo.getUserId();
|
||||||
Integer userType=xhpcIcCardInfo.getUserType();
|
Integer userType=xhpcIcCardInfo.getUserType();
|
||||||
String tenantId=xhpcIcCardInfo.getTenantId();
|
String tenantId=xhpcIcCardInfo.getTenantId();
|
||||||
Integer type =1;//改成卡授权的类型
|
Integer type =Integer.valueOf(iccardInfo.getCardtype());//改成卡授权的类型
|
||||||
String grantOperator=iccardInfo.getCorpno();//改成卡授权的运营商
|
String grantOperator=iccardInfo.getCorpno();//改成卡授权的运营商
|
||||||
return cardHistoryOrderService.cardStartup(userId, serialNumber, userType,tenantId,type,grantOperator,rateModelId);
|
return cardHistoryOrderService.cardStartup(userId, serialNumber, userType,tenantId,type,grantOperator,rateModelId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,67 @@
|
|||||||
|
package com.xhpc.charging.station.controller;
|
||||||
|
|
||||||
|
import com.xhpc.charging.station.service.IXhpcTimingChargingModelService;
|
||||||
|
import com.xhpc.common.api.dto.XhpcTimingChargingModelDto;
|
||||||
|
import com.xhpc.common.core.web.controller.BaseController;
|
||||||
|
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||||
|
import com.xhpc.common.core.web.page.TableDataInfo;
|
||||||
|
import com.xhpc.common.log.annotation.Log;
|
||||||
|
import com.xhpc.common.log.enums.BusinessType;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import com.xhpc.common.core.domain.R;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 13:53
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/timingChargingModel")
|
||||||
|
public class XhpcTimingChargingModelController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXhpcTimingChargingModelService xhpcTimingChargingModelService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时计费模型列表
|
||||||
|
* @param reason 调整原因
|
||||||
|
* @param status 状态(0未执行 1已执行 2执行错误)
|
||||||
|
* @param chargingStationId 场站id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo list(HttpServletRequest request, String reason, Integer status, String startTime, String endTime, Long chargingStationId) {
|
||||||
|
|
||||||
|
List<Map<String, Object>> list = xhpcTimingChargingModelService.list(request,reason, status, startTime,endTime, chargingStationId);
|
||||||
|
return getDataTable(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加定时计费模型
|
||||||
|
* @param xhpcTimingChargingModelDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Log(title = "添加定时计费模型", businessType = BusinessType.INSERT)
|
||||||
|
@PostMapping(value = "/addXhpcTimingChargingModel")
|
||||||
|
public R addXhpcTimingChargingModel(HttpServletRequest request, @RequestBody XhpcTimingChargingModelDto xhpcTimingChargingModelDto) {
|
||||||
|
return xhpcTimingChargingModelService.addXhpcTimingChargingModel(request,xhpcTimingChargingModelDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
@Log(title = "删除", businessType = BusinessType.UPDATE)
|
||||||
|
@DeleteMapping("/{timingChargingModelId}")
|
||||||
|
public R updateXhpcTimingChargingModel(@PathVariable Long timingChargingModelId) {
|
||||||
|
return xhpcTimingChargingModelService.updateXhpcTimingChargingModel(timingChargingModelId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
package com.xhpc.charging.station.mapper;
|
||||||
|
|
||||||
|
import com.xhpc.common.domain.XhpcTimingChargingModel;
|
||||||
|
import com.xhpc.common.domain.XhpcTimingChargingTime;
|
||||||
|
import com.xhpc.common.domain.XhpcTtimingChargingRate;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 13:47
|
||||||
|
*/
|
||||||
|
public interface XhpcTimingChargingModelMapper {
|
||||||
|
|
||||||
|
List<Map<String, Object>> list(@Param("reason") String reason,@Param("status") Integer status,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("chargingStationId") Long chargingStationId,@Param("tenantId")String tenantId);
|
||||||
|
|
||||||
|
|
||||||
|
int insertXhpcTimingChargingModel(XhpcTimingChargingModel xhpcTimingChargingModel);
|
||||||
|
|
||||||
|
int insertXhpcTtimingChargingRate(XhpcTtimingChargingRate xhpcTtimingChargingRate);
|
||||||
|
|
||||||
|
int insertXhpcTimingChargingTime(XhpcTimingChargingTime xhpcTimingChargingTime);
|
||||||
|
|
||||||
|
XhpcTimingChargingModel getXhpcTimingChargingModelById(@Param("timingChargingModelId")Long timingChargingModelId);
|
||||||
|
|
||||||
|
int updateXhpcTimingChargingModel(XhpcTimingChargingModel xhpcTimingChargingModel);
|
||||||
|
}
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
package com.xhpc.charging.station.service;
|
||||||
|
|
||||||
|
import com.xhpc.common.api.dto.XhpcTimingChargingModelDto;
|
||||||
|
import com.xhpc.common.core.domain.R;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 13:46
|
||||||
|
*/
|
||||||
|
public interface IXhpcTimingChargingModelService {
|
||||||
|
|
||||||
|
List<Map<String, Object>> list(HttpServletRequest request, String reason, Integer status, String startTime, String endTime, Long chargingStationId);
|
||||||
|
|
||||||
|
R addXhpcTimingChargingModel(HttpServletRequest request, XhpcTimingChargingModelDto xhpcTimingChargingModelDto);
|
||||||
|
|
||||||
|
R updateXhpcTimingChargingModel(Long timingChargingModelId);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,308 @@
|
|||||||
|
package com.xhpc.charging.station.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.xhpc.charging.station.mapper.XhpcTimingChargingModelMapper;
|
||||||
|
import com.xhpc.common.api.dto.XhpcRateDto;
|
||||||
|
import com.xhpc.common.api.dto.XhpcRateTimeDto;
|
||||||
|
import com.xhpc.common.api.dto.XhpcTimingChargingModelDto;
|
||||||
|
import com.xhpc.common.core.domain.R;
|
||||||
|
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||||
|
import com.xhpc.common.core.web.service.BaseService;
|
||||||
|
import com.xhpc.common.domain.*;
|
||||||
|
import com.xhpc.common.security.service.TokenService;
|
||||||
|
import com.xhpc.system.api.model.LoginUser;
|
||||||
|
import org.checkerframework.checker.units.qual.A;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 13:46
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class XhpcTimingChargingModelServiceImpl extends BaseService implements IXhpcTimingChargingModelService{
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private XhpcTimingChargingModelMapper xhpcTimingChargingModelMapper;
|
||||||
|
@Autowired
|
||||||
|
private TokenService tokenService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> list(HttpServletRequest request, String reason, Integer status, String startTime, String endTime, Long chargingStationId) {
|
||||||
|
|
||||||
|
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||||
|
if(loginUser !=null){
|
||||||
|
startPage();
|
||||||
|
return xhpcTimingChargingModelMapper.list(reason,status,startTime,endTime,chargingStationId,loginUser.getTenantId());
|
||||||
|
}
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public R addXhpcTimingChargingModel(HttpServletRequest request, XhpcTimingChargingModelDto xhpcTimingChargingModelDto) {
|
||||||
|
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||||
|
if(loginUser ==null){
|
||||||
|
return R.fail(1001, "登录信息为空");
|
||||||
|
}
|
||||||
|
if (xhpcTimingChargingModelDto.getReason() == null || "".equals(xhpcTimingChargingModelDto.getReason())) {
|
||||||
|
return R.fail(1001, "调整原因不能为空");
|
||||||
|
}
|
||||||
|
if (xhpcTimingChargingModelDto.getChargingStationId() == null || "".equals(xhpcTimingChargingModelDto.getChargingStationId())) {
|
||||||
|
return R.fail(1001, "场站不能为空");
|
||||||
|
}
|
||||||
|
if (xhpcTimingChargingModelDto.getTimingTime() == null || "".equals(xhpcTimingChargingModelDto.getTimingTime())) {
|
||||||
|
return R.fail(1001, "调整时间不能为空");
|
||||||
|
}else{
|
||||||
|
if(System.currentTimeMillis()>xhpcTimingChargingModelDto.getTimingTime().getTime()){
|
||||||
|
return R.fail(1001, "调整时间不能小于现在时间");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (xhpcTimingChargingModelDto.getXhpcRateList() == null && xhpcTimingChargingModelDto.getXhpcRateList().size() == 0) {
|
||||||
|
return R.fail(1001, "费率不能为空");
|
||||||
|
}
|
||||||
|
if (xhpcTimingChargingModelDto.getXhpcRateTimeList() == null && xhpcTimingChargingModelDto.getXhpcRateTimeList().size() == 0) {
|
||||||
|
return R.fail(1001, "费率时段不能为空");
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < xhpcTimingChargingModelDto.getXhpcRateTimeList().size(); i++) {
|
||||||
|
String id = xhpcTimingChargingModelDto.getXhpcRateTimeList().get(i).getId();
|
||||||
|
if ("00".equals(id) || "01".equals(id) || "02".equals(id) || "03".equals(id)) {
|
||||||
|
} else {
|
||||||
|
return R.fail("1003", "费率id格式不对");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<XhpcRateTimeDto> xhpcRateTimeList = xhpcTimingChargingModelDto.getXhpcRateTimeList();
|
||||||
|
for (int i = 0; i < xhpcRateTimeList.size(); i++) {
|
||||||
|
XhpcRateTimeDto xhpcRateTime = xhpcRateTimeList.get(i);
|
||||||
|
String start = xhpcRateTime.getStartTime();
|
||||||
|
String end = xhpcRateTime.getEndTime();
|
||||||
|
String id = xhpcRateTime.getId();
|
||||||
|
//检查格式,正则验证 【[0-2][0-9]:[0-6][0]:[0]{2}】
|
||||||
|
String pattern = "^([0-2][0-9]:([0]|[3])[0]:[0][0])";
|
||||||
|
Pattern compile = Pattern.compile(pattern);
|
||||||
|
Matcher m = compile.matcher(start);
|
||||||
|
|
||||||
|
if ("00".equals(id) || "01".equals(id) || "02".equals(id) || "03".equals(id)) {
|
||||||
|
} else {
|
||||||
|
return R.fail("1003", "费率id格式不对");
|
||||||
|
}
|
||||||
|
boolean isMatch = m.matches();
|
||||||
|
if (!isMatch) {
|
||||||
|
return R.fail("1003", "时间格式不对");
|
||||||
|
}
|
||||||
|
Matcher m1 = compile.matcher(end);
|
||||||
|
boolean isMatch1 = m1.matches();
|
||||||
|
if (!isMatch1) {
|
||||||
|
return R.fail("1003", "时间格式不对");
|
||||||
|
}
|
||||||
|
//判断结束时间是否小于开始时间
|
||||||
|
Date startTime = DateUtil.parse(start);
|
||||||
|
Date endTime = DateUtil.parse(end);
|
||||||
|
if (startTime.getTime() > endTime.getTime()) {
|
||||||
|
return R.fail("1002", "开始时间不能大于结束时间");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//判断是否有重叠
|
||||||
|
for (int i = 0; i < xhpcRateTimeList.size(); i++) {
|
||||||
|
XhpcRateTimeDto xhpcRateTimeOne = xhpcRateTimeList.get(i);
|
||||||
|
Date startOne = DateUtil.parse(xhpcRateTimeOne.getStartTime());
|
||||||
|
Date endOne = DateUtil.parse(xhpcRateTimeOne.getEndTime());
|
||||||
|
for (int j = i + 1; j < xhpcRateTimeList.size(); j++) {
|
||||||
|
XhpcRateTimeDto xhpcRateTimeTwo = xhpcRateTimeList.get(j);
|
||||||
|
Date startTwo = DateUtil.parse(xhpcRateTimeTwo.getStartTime());
|
||||||
|
Date endTwo = DateUtil.parse(xhpcRateTimeTwo.getEndTime());
|
||||||
|
if (DateUtil.compare(startOne, endTwo) < 0 && DateUtil.compare(startTwo, endOne) < 0) {
|
||||||
|
return R.fail("1004", "时间段有重叠");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Long chargingStationId = xhpcTimingChargingModelDto.getChargingStationId();
|
||||||
|
//创建定时计费模型
|
||||||
|
XhpcTimingChargingModel xhpcTimingChargingModel =new XhpcTimingChargingModel();
|
||||||
|
xhpcTimingChargingModel.setReason(xhpcTimingChargingModelDto.getReason());
|
||||||
|
xhpcTimingChargingModel.setTimingTime(xhpcTimingChargingModelDto.getTimingTime());
|
||||||
|
xhpcTimingChargingModel.setTenantId(loginUser.getTenantId());
|
||||||
|
xhpcTimingChargingModel.setCreateTime(new Date());
|
||||||
|
xhpcTimingChargingModel.setChargingStationId(chargingStationId);
|
||||||
|
int i = xhpcTimingChargingModelMapper.insertXhpcTimingChargingModel(xhpcTimingChargingModel);
|
||||||
|
if (i == 0) {
|
||||||
|
return R.fail("1006", "定时计费模型添加失败");
|
||||||
|
}
|
||||||
|
Long timingChargingModelId = xhpcTimingChargingModel.getTimingChargingModelId();
|
||||||
|
//添加费率
|
||||||
|
Map<String, Long> map = new HashMap<>();
|
||||||
|
List<XhpcRateDto> xhpcRateList = xhpcTimingChargingModelDto.getXhpcRateList();
|
||||||
|
for (int k = 0; k < xhpcRateList.size(); k++) {
|
||||||
|
//存费率信息,并存储Map,费率时段使用,找到费率id
|
||||||
|
XhpcRateDto xhpcRateDto = xhpcRateList.get(k);
|
||||||
|
XhpcTtimingChargingRate xhpcTtimingChargingRate = new XhpcTtimingChargingRate();
|
||||||
|
xhpcTtimingChargingRate.setChargingStationId(chargingStationId);
|
||||||
|
if ("00".equals(xhpcRateDto.getId()) || "01".equals(xhpcRateDto.getId()) || "02".equals(xhpcRateDto.getId()) || "03".equals(xhpcRateDto.getId())) {
|
||||||
|
|
||||||
|
if ("00".equals(xhpcRateDto.getId())) {
|
||||||
|
xhpcTtimingChargingRate.setName("尖费率");
|
||||||
|
} else if ("01".equals(xhpcRateDto.getId())) {
|
||||||
|
xhpcTtimingChargingRate.setName("峰费率");
|
||||||
|
} else if ("02".equals(xhpcRateDto.getId())) {
|
||||||
|
xhpcTtimingChargingRate.setName("平费率");
|
||||||
|
} else {
|
||||||
|
xhpcTtimingChargingRate.setName("谷费率");
|
||||||
|
}
|
||||||
|
xhpcTtimingChargingRate.setPowerFee(xhpcRateDto.getPowerFee());
|
||||||
|
xhpcTtimingChargingRate.setServiceFee(xhpcRateDto.getServiceFee());
|
||||||
|
xhpcTtimingChargingRate.setTimingChargingModelId(timingChargingModelId);
|
||||||
|
xhpcTtimingChargingRate.setRateValue(xhpcRateDto.getId());
|
||||||
|
xhpcTimingChargingModelMapper.insertXhpcTtimingChargingRate(xhpcTtimingChargingRate);
|
||||||
|
map.put(xhpcRateDto.getId(), xhpcTtimingChargingRate.getTimingChargingRateId());
|
||||||
|
}else{
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("添加费率错误,请稍后在试");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//添加费率时段
|
||||||
|
//冒泡排序(结束时间小于开始时间排前面)
|
||||||
|
//存费率时段,从Map中获取费率id
|
||||||
|
//每个时间段都要存
|
||||||
|
//返回计费模型 24:00 转成 00:00
|
||||||
|
XhpcRateTimeDto[] xhpcRateTimeDtosArr = new XhpcRateTimeDto[xhpcRateTimeList.size()];
|
||||||
|
xhpcRateTimeList.toArray(xhpcRateTimeDtosArr);
|
||||||
|
XhpcRateTimeDto[] xhpcRateTimeDtos = bubbleSort(xhpcRateTimeDtosArr);
|
||||||
|
//排序好的费率时段
|
||||||
|
List<XhpcRateTimeDto> list = Arrays.asList(xhpcRateTimeDtos);
|
||||||
|
//默认时段费率Id
|
||||||
|
Long defaultPeriodId = null;
|
||||||
|
if (xhpcTimingChargingModelDto.getDefaultPeriodId() != null) {
|
||||||
|
defaultPeriodId = map.get(xhpcTimingChargingModelDto.getDefaultPeriodId());
|
||||||
|
}
|
||||||
|
//默认费率类型值
|
||||||
|
String rateValue = xhpcTimingChargingModelDto.getDefaultPeriodId();
|
||||||
|
|
||||||
|
for (int k = 0; k < list.size(); k++) {
|
||||||
|
XhpcRateTimeDto xhpcRateTimeDto = list.get(k);
|
||||||
|
String startTime = xhpcRateTimeDto.getStartTime();
|
||||||
|
String endTime = xhpcRateTimeDto.getEndTime();
|
||||||
|
String rateValues = xhpcRateTimeDto.getId();
|
||||||
|
Long defaultPeriodIdMap = map.get(rateValues);
|
||||||
|
String str = startTime.split(":")[0];
|
||||||
|
int st= Integer.valueOf(str);
|
||||||
|
String endT = endTime.split(":")[0];
|
||||||
|
int end= Integer.valueOf(endT);
|
||||||
|
if(list.size() == 1){
|
||||||
|
if(!"00:00:00".equals(xhpcRateTimeDto.getStartTime())){
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, "00:00:00", startTime, 2, rateValue);
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodIdMap, startTime, endTime,1, rateValues);
|
||||||
|
if(!endTime.equals("24:00:00")) {
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, endTime, "24:00:00", 2, rateValue);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(k == 0){
|
||||||
|
if(!"00:00:00".equals(xhpcRateTimeDto.getStartTime())){
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, "00:00:00", startTime,2, rateValue);
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodIdMap, startTime, endTime,1, rateValues);
|
||||||
|
}else if(k < list.size()-1){
|
||||||
|
String endTimeK = list.get(k - 1).getEndTime();
|
||||||
|
if (!endTimeK.equals(startTime)) {
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, endTimeK, startTime,2, rateValue);
|
||||||
|
}
|
||||||
|
//并把本条数据也添加上
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodIdMap, startTime, endTime,1, rateValues);
|
||||||
|
}else{
|
||||||
|
String endTimeK = list.get(k - 1).getEndTime();
|
||||||
|
if (!endTimeK.equals(startTime)) {
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
//添加一条默认费率时段
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, endTimeK, startTime,2, rateValue);
|
||||||
|
}
|
||||||
|
//并把本条数据也添加上
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodIdMap, startTime, endTime,1, rateValues);
|
||||||
|
if (!endTime.equals("24:00:00")) {
|
||||||
|
if(rateValue ==null || "".equals(rateValue)){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return R.fail("请填写默认时间段费率");
|
||||||
|
}
|
||||||
|
//添加一条默认费率时段
|
||||||
|
addXhpcRateTime(chargingStationId, timingChargingModelId, defaultPeriodId, endTime, "24:00:00",2, rateValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R updateXhpcTimingChargingModel(Long timingChargingModelId) {
|
||||||
|
//查询是否是未执行状态
|
||||||
|
XhpcTimingChargingModel xhpcTimingChargingModel = xhpcTimingChargingModelMapper.getXhpcTimingChargingModelById(timingChargingModelId);
|
||||||
|
if(xhpcTimingChargingModel ==null){
|
||||||
|
return R.fail("数据不存在");
|
||||||
|
}else if (xhpcTimingChargingModel.getStatus()==0){
|
||||||
|
xhpcTimingChargingModel.setDelFlag(2);
|
||||||
|
xhpcTimingChargingModelMapper.updateXhpcTimingChargingModel(xhpcTimingChargingModel);
|
||||||
|
return R.ok();
|
||||||
|
}else if (xhpcTimingChargingModel.getStatus()==1){
|
||||||
|
return R.fail("该数据已执行,不能删除");
|
||||||
|
}else {
|
||||||
|
return R.fail("该数据执行错误,不能删除");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static XhpcRateTimeDto[] bubbleSort(XhpcRateTimeDto[] args) {
|
||||||
|
//冒泡排序算法
|
||||||
|
for (int i = 0; i < args.length - 1; i++) {
|
||||||
|
for (int j = i + 1; j < args.length; j++) {
|
||||||
|
String start = args[i].getEndTime();
|
||||||
|
String end = args[j].getStartTime();
|
||||||
|
if (DateUtil.parse(start).getTime() > DateUtil.parse(end).getTime()) {
|
||||||
|
XhpcRateTimeDto temp = args[i];
|
||||||
|
args[i] = args[j];
|
||||||
|
args[j] = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
private void addXhpcRateTime(Long chargingStationId, Long rateModelId, Long defaultPeriodId, String startTime, String endTime,int type, String rateValue) {
|
||||||
|
|
||||||
|
XhpcTimingChargingTime xhpcTimingChargingTime = new XhpcTimingChargingTime();
|
||||||
|
xhpcTimingChargingTime.setChargingStationId(chargingStationId);
|
||||||
|
xhpcTimingChargingTime.setTimingChargingRateId(defaultPeriodId);
|
||||||
|
Date start = DateUtil.parse(startTime);
|
||||||
|
xhpcTimingChargingTime.setStartTime(start);
|
||||||
|
Date emd = DateUtil.parse(endTime);
|
||||||
|
xhpcTimingChargingTime.setEndTime(emd);
|
||||||
|
xhpcTimingChargingTime.setTimingChargingModelId(rateModelId);
|
||||||
|
xhpcTimingChargingTime.setType(type);
|
||||||
|
xhpcTimingChargingTime.setRateValue(rateValue);
|
||||||
|
xhpcTimingChargingTime.setCreateTime(new Date());
|
||||||
|
xhpcTimingChargingModelMapper.insertXhpcTimingChargingTime(xhpcTimingChargingTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,333 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.xhpc.charging.station.mapper.XhpcTimingChargingModelMapper">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="com.xhpc.common.domain.XhpcTimingChargingModel">
|
||||||
|
<result property="timingChargingModelId" column="timing_charging_model_id"/>
|
||||||
|
<result property="reason" column="reason"/>
|
||||||
|
<result property="chargingStationId" column="charging_station_id"/>
|
||||||
|
<result property="timingTime" column="timing_time"/>
|
||||||
|
<result property="errorReason" column="error_reason"/>
|
||||||
|
<result property="number" column="number"/>
|
||||||
|
<result property="status" column="status"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="tenantId" column="tenant_id"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="list" resultType="map">
|
||||||
|
select
|
||||||
|
tcm.timing_charging_model_id as timingChargingModelId,
|
||||||
|
tcm.reason as reason,
|
||||||
|
cs.name as chargingStationName,
|
||||||
|
tcm.timing_time as timingTime,
|
||||||
|
tcm.status as status,
|
||||||
|
tcm.create_time as createTime
|
||||||
|
from xhpc_timing_charging_model as tcm
|
||||||
|
left join xhpc_charging_station as cs on cs.charging_station_id = tcm.charging_station_id
|
||||||
|
where tcm.del_flag =0
|
||||||
|
<if test="chargingStationId !=null">
|
||||||
|
and tcm.charging_station_id = #{chargingStationId}
|
||||||
|
</if>
|
||||||
|
<if test="reason !=null and ''!=reason">
|
||||||
|
and tcm.reason like concat('%', #{reason}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="status !=null">
|
||||||
|
and tcm.status = #{status}
|
||||||
|
</if>
|
||||||
|
<if test="startTime !=null and '' !=startTime">
|
||||||
|
and tcm.timing_time >=#{startTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime !=null and '' !=endTime">
|
||||||
|
and tcm.timing_time <=#{endTime}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertXhpcTimingChargingModel" parameterType="com.xhpc.common.domain.XhpcTimingChargingModel" useGeneratedKeys="true" keyProperty="timingChargingModelId">
|
||||||
|
insert into xhpc_timing_charging_model
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != reason and ''!=reason">
|
||||||
|
reason,
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
charging_station_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != timingTime ">
|
||||||
|
timing_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != tenantId ">
|
||||||
|
tenant_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
status,
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
del_flag,
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
create_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
create_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
update_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
update_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
remark
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != reason and ''!=reason">
|
||||||
|
#{reason},
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
#{chargingStationId},
|
||||||
|
</if>
|
||||||
|
<if test="null != timingTime ">
|
||||||
|
#{timingTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != tenantId ">
|
||||||
|
#{tenantId},
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
#{status},
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
#{delFlag},
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
#{createTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
#{createBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
#{updateTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
#{updateBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
#{remark}
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertXhpcTtimingChargingRate" parameterType="com.xhpc.common.domain.XhpcTtimingChargingRate" useGeneratedKeys="true" keyProperty="timingChargingRateId">
|
||||||
|
insert into xhpc_timing_charging_rate
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != powerFee">
|
||||||
|
power_fee,
|
||||||
|
</if>
|
||||||
|
<if test="null != serviceFee">
|
||||||
|
service_fee,
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
charging_station_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != name and ''!=name">
|
||||||
|
name,
|
||||||
|
</if>
|
||||||
|
<if test="null != timingChargingModelId ">
|
||||||
|
timing_charging_model_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != rateValue and ''!=rateValue ">
|
||||||
|
rate_value,
|
||||||
|
</if>
|
||||||
|
<if test="null != tenantId ">
|
||||||
|
tenant_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
status,
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
del_flag,
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
create_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
create_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
update_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
update_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
remark
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != powerFee">
|
||||||
|
#{powerFee},
|
||||||
|
</if>
|
||||||
|
<if test="null != serviceFee">
|
||||||
|
#{serviceFee},
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
#{chargingStationId},
|
||||||
|
</if>
|
||||||
|
<if test="null != name and ''!=name">
|
||||||
|
#{name},
|
||||||
|
</if>
|
||||||
|
<if test="null != timingChargingModelId ">
|
||||||
|
#{timingChargingModelId},
|
||||||
|
</if>
|
||||||
|
<if test="null != rateValue and ''!=rateValue ">
|
||||||
|
#{rateValue},
|
||||||
|
</if>
|
||||||
|
<if test="null != tenantId ">
|
||||||
|
#{tenantId},
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
#{status},
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
#{delFlag},
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
#{createTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
#{createBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
#{updateTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
#{updateBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
#{remark}
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertXhpcTimingChargingTime" parameterType="com.xhpc.common.domain.XhpcTimingChargingTime" useGeneratedKeys="true" keyProperty="timingChargingTimeId">
|
||||||
|
insert into xhpc_timing_charging_time
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != timingChargingRateId">
|
||||||
|
timing_charging_rate_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
charging_station_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != startTime">
|
||||||
|
start_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != endTime">
|
||||||
|
end_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != timingChargingModelId ">
|
||||||
|
timing_charging_model_id,
|
||||||
|
</if>
|
||||||
|
<if test="null != rateValue and ''!=rateValue ">
|
||||||
|
rate_value,
|
||||||
|
</if>
|
||||||
|
<if test="null != type ">
|
||||||
|
type,
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
status,
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
del_flag,
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
create_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
create_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
update_time,
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
update_by,
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
remark
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="null != timingChargingRateId">
|
||||||
|
#{timingChargingRateId},
|
||||||
|
</if>
|
||||||
|
<if test="null != chargingStationId ">
|
||||||
|
#{chargingStationId},
|
||||||
|
</if>
|
||||||
|
<if test="null != startTime">
|
||||||
|
#{startTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != endTime">
|
||||||
|
#{endTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != timingChargingModelId ">
|
||||||
|
#{timingChargingModelId},
|
||||||
|
</if>
|
||||||
|
<if test="null != rateValue and ''!=rateValue ">
|
||||||
|
#{rateValue},
|
||||||
|
</if>
|
||||||
|
<if test="null != type ">
|
||||||
|
#{type},
|
||||||
|
</if>
|
||||||
|
<if test="null != status ">
|
||||||
|
#{status},
|
||||||
|
</if>
|
||||||
|
<if test="null != delFlag ">
|
||||||
|
#{delFlag},
|
||||||
|
</if>
|
||||||
|
<if test="null != createTime ">
|
||||||
|
#{createTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != createBy and '' != createBy">
|
||||||
|
#{createBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateTime ">
|
||||||
|
#{updateTime},
|
||||||
|
</if>
|
||||||
|
<if test="null != updateBy and '' != updateBy">
|
||||||
|
#{updateBy},
|
||||||
|
</if>
|
||||||
|
<if test="null != remark and '' != remark">
|
||||||
|
#{remark}
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<select id="getXhpcTimingChargingModelById" resultMap="BaseResultMap">
|
||||||
|
select * from xhpc_timing_charging_model where timing_charging_model_id =#{timingChargingModelId} and del_flag=0
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="updateXhpcTimingChargingModel" parameterType="Integer">
|
||||||
|
update xhpc_timing_charging_model
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="chargingStationId != null">charging_station_id = #{chargingStationId},</if>
|
||||||
|
<if test="reason != null and ''!=reason">reason = #{reason},</if>
|
||||||
|
<if test="timingTime != null">timing_time = #{timingTime},</if>
|
||||||
|
<if test="errorReason != null and ''!=errorReason">error_reason = #{errorReason},</if>
|
||||||
|
<if test="number != null">number = #{number},</if>
|
||||||
|
<if test="status != null">status = #{status},</if>
|
||||||
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
</trim>
|
||||||
|
where timing_charging_model_id =#{timingChargingModelId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@ -21,7 +21,7 @@ public interface CardHistoryOrderService {
|
|||||||
* @param userType 用户类型
|
* @param userType 用户类型
|
||||||
* @param tenantId 租户
|
* @param tenantId 租户
|
||||||
* @param type 0 平台 1运营商
|
* @param type 0 平台 1运营商
|
||||||
* @param grantOperator 运营商id
|
* @param grantOperator 运营商站点编号6位
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/api/chargeOrder/cardStartup")
|
@GetMapping("/api/chargeOrder/cardStartup")
|
||||||
|
|||||||
@ -0,0 +1,23 @@
|
|||||||
|
package com.xhpc.common.api.dto;
|
||||||
|
|
||||||
|
import com.xhpc.common.domain.XhpcTimingChargingModel;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 14:21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class XhpcTimingChargingModelDto extends XhpcTimingChargingModel {
|
||||||
|
|
||||||
|
//费率
|
||||||
|
List<XhpcRateDto> xhpcRateList;
|
||||||
|
|
||||||
|
//费率时段
|
||||||
|
List<XhpcRateTimeDto> xhpcRateTimeList;
|
||||||
|
|
||||||
|
//默认时段费率
|
||||||
|
String defaultPeriodId;
|
||||||
|
}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
package com.xhpc.common.domain;
|
||||||
|
|
||||||
|
import com.xhpc.common.core.web.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 13:39
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class XhpcTimingChargingModel extends BaseEntity {
|
||||||
|
|
||||||
|
|
||||||
|
private Long timingChargingModelId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调整原因
|
||||||
|
*/
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场站id
|
||||||
|
*/
|
||||||
|
private Long chargingStationId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时时间
|
||||||
|
*/
|
||||||
|
private Date timingTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 失败原因
|
||||||
|
*/
|
||||||
|
private String errorReason;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 次数
|
||||||
|
*/
|
||||||
|
private Integer number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态(0未执行 1已执行 2执行错误)
|
||||||
|
* */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志(0代表存在 2代表删除)
|
||||||
|
* */
|
||||||
|
private Integer delFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
private String tenantId;
|
||||||
|
}
|
||||||
@ -0,0 +1,47 @@
|
|||||||
|
package com.xhpc.common.domain;
|
||||||
|
|
||||||
|
import com.xhpc.common.core.web.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 15:24
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class XhpcTimingChargingTime extends BaseEntity {
|
||||||
|
|
||||||
|
/** 费率时段id */
|
||||||
|
private Long timingChargingTimeId;
|
||||||
|
|
||||||
|
/** 电站id */
|
||||||
|
private Long chargingStationId;
|
||||||
|
|
||||||
|
/** 费率id */
|
||||||
|
private Long timingChargingRateId;
|
||||||
|
|
||||||
|
/** 启始时间 */
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/** 结束时间 */
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/** 状态(0正常 1停用) */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/** 状态(0正常 1停用) */
|
||||||
|
private Integer delFlag;
|
||||||
|
|
||||||
|
/** 定时计费模型id */
|
||||||
|
private Long timingChargingModelId;
|
||||||
|
|
||||||
|
/** 时间排序有小到大 */
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
/** 1 设置时间段 2默认时间段 */
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/** 费率类型 00: 尖费率 01: 峰费率 02: 平费率 03: 谷费率 */
|
||||||
|
private String rateValue;
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
package com.xhpc.common.domain;
|
||||||
|
|
||||||
|
import com.xhpc.common.core.web.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuyang
|
||||||
|
* @date 2022/2/22 15:02
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class XhpcTtimingChargingRate extends BaseEntity {
|
||||||
|
|
||||||
|
/** 费率id */
|
||||||
|
private Long timingChargingRateId;
|
||||||
|
|
||||||
|
/** 电站id */
|
||||||
|
private Long chargingStationId;
|
||||||
|
|
||||||
|
/** 电费 */
|
||||||
|
private BigDecimal powerFee;
|
||||||
|
|
||||||
|
/** 服务费 */
|
||||||
|
private BigDecimal serviceFee;
|
||||||
|
|
||||||
|
/** 名称 */
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 状态(0正常 1停用) */
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/** 删除标志(0代表存在 2代表删除) */
|
||||||
|
private Integer delFlag;
|
||||||
|
|
||||||
|
/** 定时计费模型id */
|
||||||
|
private Long timingChargingModelId;
|
||||||
|
|
||||||
|
/** 费率类型 00: 尖费率 01: 峰费率 02: 平费率 03: 谷费率 */
|
||||||
|
private String rateValue;
|
||||||
|
|
||||||
|
private String tenantId;
|
||||||
|
}
|
||||||
@ -661,7 +661,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
|||||||
if(type !=0){
|
if(type !=0){
|
||||||
//获取桩信息
|
//获取桩信息
|
||||||
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId);
|
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId);
|
||||||
if(xhpcChargingPileById ==null || !xhpcChargingPileById.get("operatorId").toString().equals(grantOperator)){
|
if(xhpcChargingPileById ==null || !grantOperator.equals(xhpcChargingPileById.get("corpNo").toString())){
|
||||||
return R.fail(Constants.INVALID_OPERATOR);
|
return R.fail(Constants.INVALID_OPERATOR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -401,10 +401,12 @@
|
|||||||
select
|
select
|
||||||
cp.charging_pile_id as chargingPileId,
|
cp.charging_pile_id as chargingPileId,
|
||||||
cs.operator_id as operatorId,
|
cs.operator_id as operatorId,
|
||||||
|
opn.corp_no as corpNo,
|
||||||
cp.communication_protocol_version as communicationProtocolVersion,
|
cp.communication_protocol_version as communicationProtocolVersion,
|
||||||
cp.power as power
|
cp.power as power
|
||||||
from xhpc_charging_pile as cp
|
from xhpc_charging_pile as cp
|
||||||
left join xhpc_charging_station as cs on cs.charging_station_id = cp.charging_station_id
|
left join xhpc_charging_station as cs on cs.charging_station_id = cp.charging_station_id
|
||||||
|
left join xhpc_operator as opn on opn.operator_id = cs.operator_id
|
||||||
where cp.charging_pile_id=#{chargingPileid}
|
where cp.charging_pile_id=#{chargingPileid}
|
||||||
<if test="tenantId !=null and tenantId !=''">
|
<if test="tenantId !=null and tenantId !=''">
|
||||||
and cp.tenant_id=#{tenantId}
|
and cp.tenant_id=#{tenantId}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user