修改防止订单不生成
This commit is contained in:
parent
8ef88e78ce
commit
5f87907a80
@ -72,6 +72,11 @@ public class XhpcPileOrderController extends BaseController {
|
|||||||
//解析订单编号
|
//解析订单编号
|
||||||
Long userId =0L;
|
Long userId =0L;
|
||||||
Integer code =200;
|
Integer code =200;
|
||||||
|
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||||
|
if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){
|
||||||
|
logger.info("桩启动回调接口--无效订单号>>>>>orderNo:" + orderNo);
|
||||||
|
return R.fail(500,"无效订单号");
|
||||||
|
}
|
||||||
if (status == 1) {
|
if (status == 1) {
|
||||||
userId = update(0, remark, orderNo, 0);
|
userId = update(0, remark, orderNo, 0);
|
||||||
} else {
|
} else {
|
||||||
@ -85,7 +90,6 @@ public class XhpcPileOrderController extends BaseController {
|
|||||||
JSONObject json = new JSONObject(map);
|
JSONObject json = new JSONObject(map);
|
||||||
logger.info("桩启动回调接口>>>>>json:"+json.toString());
|
logger.info("桩启动回调接口>>>>>json:"+json.toString());
|
||||||
//消息对了内容
|
//消息对了内容
|
||||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
|
||||||
if(xhpcChargeOrder.getSource()==0){
|
if(xhpcChargeOrder.getSource()==0){
|
||||||
webSocketService.getMessage(userId+"",json.toString());
|
webSocketService.getMessage(userId+"",json.toString());
|
||||||
}
|
}
|
||||||
@ -113,6 +117,11 @@ public class XhpcPileOrderController extends BaseController {
|
|||||||
map.put("userId", userId);
|
map.put("userId", userId);
|
||||||
}
|
}
|
||||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||||
|
if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){
|
||||||
|
logger.info("桩停止回调接口--无效订单号>>>>>orderNo:" + orderNo);
|
||||||
|
return R.fail(500,"无效订单号");
|
||||||
|
}
|
||||||
|
|
||||||
if (status == 1) {
|
if (status == 1) {
|
||||||
xhpcChargeOrder.setStatus(0);
|
xhpcChargeOrder.setStatus(0);
|
||||||
map.put("message", "停止充电成功");
|
map.put("message", "停止充电成功");
|
||||||
@ -192,9 +201,9 @@ public class XhpcPileOrderController extends BaseController {
|
|||||||
|
|
||||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||||
if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){
|
if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){
|
||||||
|
logger.info("桩实时数据回调接口--无效订单号>>>>>orderNo:" + orderNo);
|
||||||
return R.fail(500,"无效订单号");
|
return R.fail(500,"无效订单号");
|
||||||
}
|
}
|
||||||
|
|
||||||
Long userId = xhpcChargeOrder.getUserId();
|
Long userId = xhpcChargeOrder.getUserId();
|
||||||
try {
|
try {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
@ -457,6 +466,10 @@ public class XhpcPileOrderController extends BaseController {
|
|||||||
|
|
||||||
//获取实时订单
|
//获取实时订单
|
||||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||||
|
if(xhpcChargeOrder==null|| xhpcChargeOrder.getUserId()==null){
|
||||||
|
logger.info("订单异常回调接口--无效订单号>>>>>orderNo:" + orderNo);
|
||||||
|
return R.fail(500,"无效订单号");
|
||||||
|
}
|
||||||
Integer source = xhpcChargeOrder.getSource();
|
Integer source = xhpcChargeOrder.getSource();
|
||||||
String tenantId = xhpcChargeOrder.getTenantId();
|
String tenantId = xhpcChargeOrder.getTenantId();
|
||||||
if(!UserTypeUtil.INTERNET_TYPE.equals(source)){
|
if(!UserTypeUtil.INTERNET_TYPE.equals(source)){
|
||||||
|
|||||||
@ -35,6 +35,8 @@ import javax.annotation.PostConstruct;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -64,9 +66,9 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IXhpcRealTimeOrderService xhpcRealTimeOrderService;
|
private IXhpcRealTimeOrderService xhpcRealTimeOrderService;
|
||||||
|
|
||||||
|
private final ExecutorService executorService = Executors.newFixedThreadPool(40);
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(XhpcChargeOrderServiceImpl.class);
|
private static final Logger logger = LoggerFactory.getLogger(XhpcChargeOrderServiceImpl.class);
|
||||||
//队列名称
|
|
||||||
private final static String NAME = "webSocket";
|
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init(){
|
public void init(){
|
||||||
@ -123,186 +125,195 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public AjaxResult startUp(HttpServletRequest request, Long userId, String terminalSerialNumber, Integer type) {
|
public AjaxResult startUp(HttpServletRequest request, Long userId, String terminalSerialNumber, Integer type) {
|
||||||
|
try{
|
||||||
LoginUser loginUser = tokenService.getLoginUser(request);
|
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||||
if (StringUtils.isNotNull(loginUser)) {
|
if (StringUtils.isNotNull(loginUser)) {
|
||||||
String username = loginUser.getUsername();
|
String username = loginUser.getUsername();
|
||||||
Integer userType = loginUser.getUserType();
|
Integer userType = loginUser.getUserType();
|
||||||
Long userid = loginUser.getUserid();
|
Long userid = loginUser.getUserid();
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<登录用户id>>>>>>>>>>>>>>>>>"+userid);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<登录用户id>>>>>>>>>>>>>>>>>"+userid);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<桩号>>>>>>>>>>>>>>>>>"+terminalSerialNumber);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<桩号>>>>>>>>>>>>>>>>>"+terminalSerialNumber);
|
||||||
String openId = loginUser.getOpenId();
|
String openId = loginUser.getOpenId();
|
||||||
String tenantId = loginUser.getTenantId();
|
String tenantId = loginUser.getTenantId();
|
||||||
R user = userTypeService.getUser(null, userid, userType, terminalSerialNumber,loginUser.getTenantId());
|
R user = userTypeService.getUser(null, userid, userType, terminalSerialNumber,loginUser.getTenantId());
|
||||||
if (!userid.equals(userId) || user == null || user.getData() == null) {
|
if (!userid.equals(userId) || user == null || user.getData() == null) {
|
||||||
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
|
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
|
||||||
}
|
|
||||||
Map<String, Object> userMessage = (Map<String, Object>)user.getData();
|
|
||||||
if(UserTypeUtil.USER_TYPE !=userType){
|
|
||||||
if(Integer.valueOf(userMessage.get("number").toString())==0){
|
|
||||||
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "此账号不能在该场站充电,请使用手机号登录");
|
|
||||||
}
|
}
|
||||||
}
|
Map<String, Object> userMessage = (Map<String, Object>)user.getData();
|
||||||
String pattern = "^([0-9]{16})";
|
if(UserTypeUtil.USER_TYPE !=userType){
|
||||||
Pattern compile = Pattern.compile(pattern);
|
if(Integer.valueOf(userMessage.get("number").toString())==0){
|
||||||
Matcher m = compile.matcher(terminalSerialNumber);
|
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "此账号不能在该场站充电,请使用手机号登录");
|
||||||
if (terminalSerialNumber.length() != 16 || !m.matches()) {
|
|
||||||
return AjaxResult.error(1104, "无效的终端编号");
|
|
||||||
}
|
|
||||||
//查看充电用户金额是否大于5元
|
|
||||||
//Map<String, Object> userMessage = xhpcChargeOrderMapper.getUserMessage(userId);
|
|
||||||
BigDecimal a = new BigDecimal(5);
|
|
||||||
if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) {
|
|
||||||
return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电");
|
|
||||||
}
|
|
||||||
//充电用户是否存在异常的订单
|
|
||||||
int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId,userType,tenantId);
|
|
||||||
if (j > 0) {
|
|
||||||
return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决");
|
|
||||||
}
|
|
||||||
//查看充电用户是否有申请退款的订单,还未处理
|
|
||||||
if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) {
|
|
||||||
return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款");
|
|
||||||
}
|
|
||||||
//充电用户是否在充电中
|
|
||||||
String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId,userType,tenantId);
|
|
||||||
if (!"".equals(i) && i!=null) {
|
|
||||||
return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息");
|
|
||||||
}
|
|
||||||
//终端状态是否空闲
|
|
||||||
//是否插枪
|
|
||||||
Map<String, Object> cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber);
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + terminalSerialNumber);
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + cacheMap.toString());
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
|
|
||||||
|
|
||||||
if(cacheMap==null){
|
|
||||||
return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电");
|
|
||||||
}else{
|
|
||||||
if(cacheMap.get("status") ==null){
|
|
||||||
return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电");
|
|
||||||
}else{
|
|
||||||
String status = cacheMap.get("status").toString();
|
|
||||||
//不同的状态
|
|
||||||
if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){
|
|
||||||
return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(cacheMap.get("vehicleGunStatus") ==null){
|
String pattern = "^([0-9]{16})";
|
||||||
return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电");
|
Pattern compile = Pattern.compile(pattern);
|
||||||
|
Matcher m = compile.matcher(terminalSerialNumber);
|
||||||
|
if (terminalSerialNumber.length() != 16 || !m.matches()) {
|
||||||
|
return AjaxResult.error(1104, "无效的终端编号");
|
||||||
|
}
|
||||||
|
//查看充电用户金额是否大于5元
|
||||||
|
//Map<String, Object> userMessage = xhpcChargeOrderMapper.getUserMessage(userId);
|
||||||
|
BigDecimal a = new BigDecimal(5);
|
||||||
|
if (userMessage == null || userMessage.get("balance") == null || a.compareTo(new BigDecimal(userMessage.get("balance").toString())) == 1) {
|
||||||
|
return AjaxResult.error(1100, "金额小于5元,不能充电,请充值后再进行充电");
|
||||||
|
}
|
||||||
|
//充电用户是否存在异常的订单
|
||||||
|
int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId,userType,tenantId);
|
||||||
|
if (j > 0) {
|
||||||
|
return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决");
|
||||||
|
}
|
||||||
|
//查看充电用户是否有申请退款的订单,还未处理
|
||||||
|
if (Integer.parseInt(userMessage.get("isRefundApplication").toString()) != 0) {
|
||||||
|
return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款");
|
||||||
|
}
|
||||||
|
//充电用户是否在充电中
|
||||||
|
String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId,userType,tenantId);
|
||||||
|
if (!"".equals(i) && i!=null) {
|
||||||
|
return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息");
|
||||||
|
}
|
||||||
|
//终端状态是否空闲
|
||||||
|
//是否插枪
|
||||||
|
Map<String, Object> cacheMap = REDIS.getCacheMap("gun:" + terminalSerialNumber);
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + terminalSerialNumber);
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>" + cacheMap.toString());
|
||||||
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<cacheMap>>>>>>>>>>>>>>>>>");
|
||||||
|
|
||||||
|
if(cacheMap==null){
|
||||||
|
return AjaxResult.error(1105, "未注册的终端,请选择其他终端充电");
|
||||||
}else{
|
}else{
|
||||||
String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString();
|
if(cacheMap.get("status") ==null){
|
||||||
if(!"是".equals(vehicleGunStatus)){
|
return AjaxResult.error(1106, "未知的终端状态,请选择其他终端充电");
|
||||||
return AjaxResult.error(1109, "请插好充电枪");
|
}else{
|
||||||
|
String status = cacheMap.get("status").toString();
|
||||||
|
//不同的状态
|
||||||
|
if("离线".equals(status)||"故障".equals(status) ||"充电".equals(status)){
|
||||||
|
return AjaxResult.error(1107, "此终端"+status+"中,请选择其他终端充电");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(cacheMap.get("vehicleGunStatus") ==null){
|
||||||
|
return AjaxResult.error(1108, "未知的枪状态,请选择其他终端充电");
|
||||||
|
}else{
|
||||||
|
String vehicleGunStatus = cacheMap.get("vehicleGunStatus").toString();
|
||||||
|
if(!"是".equals(vehicleGunStatus)){
|
||||||
|
return AjaxResult.error(1109, "请插好充电枪");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>"+terminalSerialNumber+">>>>>>>>>>>>>"+tenantId);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>"+terminalSerialNumber+">>>>>>>>>>>>>"+tenantId);
|
//终端信息
|
||||||
//终端信息
|
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber,tenantId);
|
||||||
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(terminalSerialNumber,tenantId);
|
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
|
||||||
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
|
return AjaxResult.error(1104, "无效的终端编号");
|
||||||
return AjaxResult.error(1104, "无效的终端编号");
|
}
|
||||||
}
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>>>>>>>>>>>>>");
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<终端编号>>>>>>>>>>>>>>>>");
|
//余额
|
||||||
//余额
|
String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString();
|
||||||
String balance = new BigDecimal(userMessage.get("balance").toString()).multiply(new BigDecimal(100)).toString();
|
//获取桩信息
|
||||||
|
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId);
|
||||||
|
//启动充电
|
||||||
|
StartChargingData startChargingData = new StartChargingData();
|
||||||
|
//订单流水号 终端号+年月日时分秒+自增4位 共32位
|
||||||
|
String orderNo = genOrder(terminalSerialNumber);
|
||||||
|
|
||||||
//获取桩信息
|
startChargingData.setOrderNo(orderNo);
|
||||||
Map<String, Object> xhpcChargingPileById =xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId(),tenantId);
|
if(userMessage.get("phone") !=null){
|
||||||
|
startChargingData.setTel(userMessage.get("phone").toString());
|
||||||
//启动充电
|
}
|
||||||
StartChargingData startChargingData = new StartChargingData();
|
startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber());
|
||||||
//订单流水号 终端号+年月日时分秒+自增4位 共32位
|
startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14));
|
||||||
String orderNo = genOrder(terminalSerialNumber);
|
startChargingData.setBalance(Double.valueOf(balance).intValue());
|
||||||
|
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
|
||||||
startChargingData.setOrderNo(orderNo);
|
startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString());
|
||||||
if(userMessage.get("phone") !=null){
|
}else{
|
||||||
startChargingData.setTel(userMessage.get("phone").toString());
|
startChargingData.setVersion("0A");
|
||||||
}
|
}
|
||||||
startChargingData.setPileNo(xhpcTerminal.getPileSerialNumber());
|
//用户、桩、平台(最小的)
|
||||||
startChargingData.setGunId(xhpcTerminal.getSerialNumber().substring(14));
|
int number =0;
|
||||||
startChargingData.setBalance(Double.valueOf(balance).intValue());
|
if(!"".equals(userMessage.get("socUser")) && userMessage.get("socUser") !=null && userMessage.get("socProtect") !=null && !"0".equals(userMessage.get("socProtect").toString())){
|
||||||
if(xhpcChargingPileById.get("communicationProtocolVersion")!=null && !"".equals(xhpcChargingPileById.get("communicationProtocolVersion").toString())){
|
number =Integer.parseInt(userMessage.get("socUser").toString());
|
||||||
startChargingData.setVersion(xhpcChargingPileById.get("communicationProtocolVersion").toString());
|
}
|
||||||
}else{
|
//平台
|
||||||
startChargingData.setVersion("0A");
|
String soc = redisService.getCacheObject("global:SOC");
|
||||||
}
|
if(!"".equals(soc) && soc!=null){
|
||||||
|
if(number!=0){
|
||||||
//用户、桩、平台(最小的)
|
if(Integer.parseInt(soc)-number<0){
|
||||||
int number =0;
|
number=Integer.parseInt(soc);
|
||||||
if(!"".equals(userMessage.get("socUser")) && userMessage.get("socUser") !=null && userMessage.get("socProtect") !=null && !"0".equals(userMessage.get("socProtect").toString())){
|
}
|
||||||
number =Integer.parseInt(userMessage.get("socUser").toString());
|
}else{
|
||||||
}
|
|
||||||
//平台
|
|
||||||
String soc = redisService.getCacheObject("global:SOC");
|
|
||||||
if(!"".equals(soc) && soc!=null){
|
|
||||||
if(number!=0){
|
|
||||||
if(Integer.parseInt(soc)-number<0){
|
|
||||||
number=Integer.parseInt(soc);
|
number=Integer.parseInt(soc);
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
number=Integer.parseInt(soc);
|
|
||||||
}
|
}
|
||||||
}
|
Map<String, Object> operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
|
||||||
Map<String, Object> operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
|
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
|
||||||
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
|
if(number!=0){
|
||||||
if(number!=0){
|
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
|
||||||
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
|
number=Integer.parseInt(operatorMessage.get("soc").toString());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
number=Integer.parseInt(operatorMessage.get("soc").toString());
|
number=Integer.parseInt(operatorMessage.get("soc").toString());
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
number=Integer.parseInt(operatorMessage.get("soc").toString());
|
|
||||||
}
|
}
|
||||||
}
|
if(number !=0){
|
||||||
if(number !=0){
|
startChargingData.setSoc(number);
|
||||||
startChargingData.setSoc(number);
|
}
|
||||||
}
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<number>>>>>>>>>>>>>>>>>:"+number);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<number>>>>>>>>>>>>>>>>>:"+number);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<Soc>>>>>>>>>>>>>>>>>:"+startChargingData.getSoc());
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<Soc>>>>>>>>>>>>>>>>>:"+startChargingData.getSoc());
|
//创建充电订单(充电启动soc初始值,结束是获取,并修改状态)
|
||||||
|
XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder();
|
||||||
|
xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
|
||||||
|
xhpcChargeOrder.setUserId(userId);
|
||||||
|
xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
|
||||||
|
xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber());
|
||||||
|
xhpcChargeOrder.setSerialNumber(orderNo);
|
||||||
|
xhpcChargeOrder.setSource(userType);
|
||||||
|
xhpcChargeOrder.setStatus(-1);
|
||||||
|
xhpcChargeOrder.setTenantId(tenantId);
|
||||||
|
if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) {
|
||||||
|
xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
|
||||||
|
}
|
||||||
|
if (type == 1) {
|
||||||
|
xhpcChargeOrder.setChargingMode("微信");
|
||||||
|
} else {
|
||||||
|
xhpcChargeOrder.setChargingMode("支付宝");
|
||||||
|
}
|
||||||
|
xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime());
|
||||||
|
xhpcChargeOrder.setType(40);
|
||||||
|
xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
|
||||||
|
|
||||||
//创建充电订单(充电启动soc初始值,结束是获取,并修改状态)
|
executorService.execute(new Runnable() {
|
||||||
XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder();
|
@Override
|
||||||
xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
|
public void run() {
|
||||||
xhpcChargeOrder.setUserId(userId);
|
R r1 = powerPileService.startCharging(startChargingData);
|
||||||
xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
|
||||||
xhpcChargeOrder.setGunId(xhpcTerminal.getSerialNumber());
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
|
||||||
xhpcChargeOrder.setSerialNumber(orderNo);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
|
||||||
xhpcChargeOrder.setSource(userType);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>");
|
||||||
xhpcChargeOrder.setStatus(-1);
|
if(r1.getCode() == 200){
|
||||||
xhpcChargeOrder.setTenantId(tenantId);
|
try{
|
||||||
if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) {
|
xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString()));
|
||||||
xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
|
xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||||
|
//插一帧实时数据
|
||||||
|
extracted(xhpcChargeOrder);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.error("update order[{}] failed.", orderNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
logger.info("<<<<<<<<<1111<<<<<<<<<<<<<<<C端订单号>>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId);
|
||||||
|
logger.info("<<<<<<<<<2222<<<<<<<<<<<<<<<C端订单号>>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId);
|
||||||
|
logger.info("<<<<<<<<<3333<<<<<<<<<<<<<<<C端订单号>>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId);
|
||||||
|
logger.info("<<<<<<<<<4444<<<<<<<<<<<<<<<C端订单号>>>>>>>>>>>>>>>>>:" + orderNo+"用户id:"+userId);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}else{
|
||||||
|
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
|
||||||
}
|
}
|
||||||
if (type == 1) {
|
}catch (Exception e){
|
||||||
xhpcChargeOrder.setChargingMode("微信");
|
e.printStackTrace();
|
||||||
} else {
|
|
||||||
xhpcChargeOrder.setChargingMode("支付宝");
|
|
||||||
}
|
|
||||||
xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime());
|
|
||||||
xhpcChargeOrder.setType(40);
|
|
||||||
xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
|
|
||||||
|
|
||||||
R r1 = powerPileService.startCharging(startChargingData);
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
if (r1.getCode() != 200) {
|
|
||||||
return AjaxResult.error(r1.getMsg());
|
|
||||||
}
|
|
||||||
try{
|
|
||||||
xhpcChargeOrder.setRateModelId(Long.valueOf(r1.getData().toString()));
|
|
||||||
xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder);
|
|
||||||
//插一帧实时数据
|
|
||||||
extracted(xhpcChargeOrder);
|
|
||||||
}catch (Exception e){
|
|
||||||
logger.error("update order[{}] failed.", orderNo);
|
|
||||||
}
|
|
||||||
return AjaxResult.success();
|
|
||||||
}else{
|
|
||||||
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
|
|
||||||
}
|
}
|
||||||
|
return AjaxResult.error(UserTypeUtil.LOGIN_TYPE, "请重新登录");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -583,20 +594,26 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
|||||||
int res = xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
|
int res = xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
|
||||||
//int res = xhpcChargeOrderMapper.addBy3rd(internetSerialNumber, orderNo, driverId, chargingAmt, plateNum, status,
|
//int res = xhpcChargeOrderMapper.addBy3rd(internetSerialNumber, orderNo, driverId, chargingAmt, plateNum, status,
|
||||||
// date,null, terminalId, power, chargingStationId, chargingMode, 1, userId);
|
// date,null, terminalId, power, chargingStationId, chargingMode, 1, userId);
|
||||||
R r1 = powerPileService.startCharging(startChargingData);
|
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber);
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getData() + ">>>>>>>>>>>>>>>>>");
|
|
||||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<第三方充电返回>>>>>>>>>>>>>>>>>");
|
|
||||||
try {
|
|
||||||
Long rateModelId = Long.valueOf(r1.getData().toString());
|
|
||||||
xhpcChargeOrder.setRateModelId(rateModelId);
|
|
||||||
xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("update order[{}] failed.", orderNo);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
executorService.execute(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
R r1 = powerPileService.startCharging(startChargingData);
|
||||||
|
try {
|
||||||
|
Long rateModelId = Long.valueOf(r1.getData().toString());
|
||||||
|
xhpcChargeOrder.setRateModelId(rateModelId);
|
||||||
|
xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
logger.error("update order[{}] failed.", orderNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
logger.info("<<<<<<<<<1111<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber);
|
||||||
|
logger.info("<<<<<<<<<2222<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber);
|
||||||
|
logger.info("<<<<<<<<<3333<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber);
|
||||||
|
logger.info("<<<<<<<<<4444<<<<<<<<<<<<<<<第三方启动订单号>>>>>>>>>>>>>>>>>:" + internetSerialNumber);
|
||||||
Map<String, Object> data = new HashMap<>();
|
Map<String, Object> data = new HashMap<>();
|
||||||
data.put("startTime", startTime);
|
data.put("startTime", startTime);
|
||||||
data.put("orderNo", orderNo);
|
data.put("orderNo", orderNo);
|
||||||
@ -609,7 +626,6 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
|||||||
r.setMsg("内部服务调用错误");
|
r.setMsg("内部服务调用错误");
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -211,7 +211,8 @@
|
|||||||
<select id="userSum" resultType="map">
|
<select id="userSum" resultType="map">
|
||||||
select
|
select
|
||||||
count(xau.app_user_id) userSum,
|
count(xau.app_user_id) userSum,
|
||||||
(select count(DISTINCT user_id) from xhpc_charge_order where create_time >= #{time} and tenant_id =#{tenantId}) userVitality
|
(select count(DISTINCT user_id) from xhpc_charge_order where create_time >= #{time} and tenant_id =#{tenantId}) userVitality,
|
||||||
|
sum(xau.balance) balance
|
||||||
from xhpc_app_user xau where 1=1
|
from xhpc_app_user xau where 1=1
|
||||||
<if test="phone != null and phone != ''">
|
<if test="phone != null and phone != ''">
|
||||||
and xau.phone like concat('%', #{phone}, '%')
|
and xau.phone like concat('%', #{phone}, '%')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user