一次成功的重要重构以及一个不骚的操作
This commit is contained in:
parent
7b18183318
commit
38920f3b80
@ -124,6 +124,11 @@
|
||||
<version>4.5.11</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.persistence</groupId>
|
||||
<artifactId>javax.persistence-api</artifactId>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
@ -3,6 +3,7 @@ package com.xhpc.common.core.web.domain;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@ -13,6 +14,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Entity
|
||||
public class BaseEntity implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -42,5 +42,14 @@
|
||||
<groupId>com.ruoyi</groupId>
|
||||
<artifactId>ruoyi-common-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.persistence</groupId>
|
||||
<artifactId>javax.persistence-api</artifactId>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@ -0,0 +1,158 @@
|
||||
package com.xhpc.order.domain;
|
||||
|
||||
import com.xhpc.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 历史订单 xhpc_history_order
|
||||
* @date 2021-07-22
|
||||
*/
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "xhpc_history_order")
|
||||
public class XhpcHistoryOrder extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 历史订单id
|
||||
*/
|
||||
@Id
|
||||
private Long historyOrderId;
|
||||
|
||||
/**
|
||||
* 电站id
|
||||
*/
|
||||
private Long chargingStationId;
|
||||
|
||||
/**
|
||||
* 充电订单id
|
||||
*/
|
||||
private Long chargeOrderId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 终端id
|
||||
*/
|
||||
private Long terminalId;
|
||||
|
||||
/**
|
||||
* 流水号
|
||||
*/
|
||||
private String serialNumber;
|
||||
|
||||
/**
|
||||
* 互联网订单流水号
|
||||
*/
|
||||
private String internetSerialNumber;
|
||||
|
||||
/**
|
||||
* 订单总价
|
||||
*/
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
/**
|
||||
* 电站活动抵扣
|
||||
*/
|
||||
private BigDecimal promotionDiscount;
|
||||
|
||||
/**
|
||||
* 实际价格
|
||||
*/
|
||||
private BigDecimal actPrice;
|
||||
|
||||
/**
|
||||
* 实收电费
|
||||
*/
|
||||
private BigDecimal actPowerPrice;
|
||||
|
||||
/**
|
||||
* 实收服务费
|
||||
*/
|
||||
private BigDecimal actServicePrice;
|
||||
|
||||
/**
|
||||
* 流量方总金额抽成
|
||||
*/
|
||||
private BigDecimal internetCommission;
|
||||
|
||||
/**
|
||||
* 流量方服务费抽成
|
||||
*/
|
||||
private BigDecimal internetSvcCommission;
|
||||
|
||||
/**
|
||||
* 平台总金额抽成
|
||||
*/
|
||||
private BigDecimal platformCommission;
|
||||
|
||||
/**
|
||||
* 平台服务费抽成
|
||||
*/
|
||||
private BigDecimal platformSvcCommisssion;
|
||||
|
||||
/**
|
||||
* 运维总抽成
|
||||
*/
|
||||
private BigDecimal operationCommission;
|
||||
|
||||
/**
|
||||
* 运维服务费抽成
|
||||
*/
|
||||
private BigDecimal operationSvcCommission;
|
||||
|
||||
/**
|
||||
* 开始充电soc
|
||||
*/
|
||||
private String startSoc;
|
||||
|
||||
/**
|
||||
* 结束时soc
|
||||
*/
|
||||
private String endSoc;
|
||||
|
||||
/**
|
||||
* 对账状态(0待确认 1已确认,2待提交,3待审核)
|
||||
*/
|
||||
private Integer reconciliationStatus;
|
||||
|
||||
/**
|
||||
* 清分状态(0待清分 1清分在途,2已提现,3待提交,4待审核)
|
||||
*/
|
||||
private Integer sortingStatus;
|
||||
|
||||
/**
|
||||
* 1 自动结算 2 平台结算
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 2代表删除)
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 总电费
|
||||
*/
|
||||
private BigDecimal powerPriceTotal;
|
||||
|
||||
/**
|
||||
* 总服务费
|
||||
*/
|
||||
private BigDecimal servicePriceTotal;
|
||||
|
||||
|
||||
}
|
||||
@ -3,7 +3,7 @@ package com.xhpc.order.api;
|
||||
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.order.service.IHxpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcHistoryOrderService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -22,10 +22,10 @@ import java.util.Map;
|
||||
@RestController
|
||||
@RequestMapping("/api/chargeOrder")
|
||||
@Api(value = "充电订单接口", tags = "充电订单接口")
|
||||
public class HxpcChargeOrderController extends BaseController {
|
||||
public class XhpcChargeOrderController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private IHxpcChargeOrderService iHxpcChargeOrderService;
|
||||
private IXhpcChargeOrderService iXhpcChargeOrderService;
|
||||
@Autowired
|
||||
private IXhpcHistoryOrderService xhpcHistoryOrderService;
|
||||
|
||||
@ -36,7 +36,8 @@ public class HxpcChargeOrderController extends BaseController {
|
||||
@GetMapping("/getHistotyChargeOrderMessage")
|
||||
public AjaxResult getHistotyChargeOrderMessage(@RequestParam Long userId)
|
||||
{
|
||||
return iHxpcChargeOrderService.getHistotyChargeOrderMessage(userId);
|
||||
|
||||
return iXhpcChargeOrderService.getHistotyChargeOrderMessage(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -46,7 +47,7 @@ public class HxpcChargeOrderController extends BaseController {
|
||||
public TableDataInfo getHistotyChargeOrderStatusList(@RequestParam Long userId)
|
||||
{
|
||||
startPage();
|
||||
List<Map<String, Object>> list = iHxpcChargeOrderService.getHistotyChargeOrderStatusList(userId);
|
||||
List<Map<String, Object>> list = iXhpcChargeOrderService.getHistotyChargeOrderStatusList(userId);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ -61,7 +62,8 @@ public class HxpcChargeOrderController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/startUp")
|
||||
public AjaxResult startUp(@RequestParam Long userId,@RequestParam String serialNumber,@RequestParam Integer type){
|
||||
return iHxpcChargeOrderService.startUp(userId, serialNumber,type);
|
||||
|
||||
return iXhpcChargeOrderService.startUp(userId, serialNumber, type);
|
||||
}
|
||||
|
||||
|
||||
@ -74,7 +76,8 @@ public class HxpcChargeOrderController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/stopUp")
|
||||
public AjaxResult stopUp(@RequestParam Long userId,@RequestParam String serialNumber,@RequestParam Long chargingOrderId){
|
||||
return iHxpcChargeOrderService.stopUp(userId, serialNumber,chargingOrderId);
|
||||
|
||||
return iXhpcChargeOrderService.stopUp(userId, serialNumber, chargingOrderId);
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ import com.xhpc.common.data.redis.CacheRealtimeData;
|
||||
import com.xhpc.common.redis.service.RedisService;
|
||||
import com.xhpc.common.util.ConnectionRabbitMQUtil;
|
||||
import com.xhpc.order.domain.*;
|
||||
import com.xhpc.order.service.IHxpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcHistoryOrderService;
|
||||
import com.xhpc.order.service.IXhpcRealTimeOrderService;
|
||||
import org.slf4j.Logger;
|
||||
@ -32,13 +32,13 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
public class HxpcPileOrderController extends BaseController {
|
||||
public class XhpcPileOrderController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Autowired
|
||||
private IHxpcChargeOrderService hxpcChargeOrderService;
|
||||
private IXhpcChargeOrderService xhpcChargeOrderService;
|
||||
|
||||
@Autowired
|
||||
private IXhpcHistoryOrderService xhpcHistoryOrderService;
|
||||
@ -50,7 +50,7 @@ public class HxpcPileOrderController extends BaseController {
|
||||
private SmsService smsService;
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(HxpcPileOrderController.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(XhpcPileOrderController.class);
|
||||
/**
|
||||
* 测试
|
||||
*/
|
||||
@ -109,10 +109,10 @@ public class HxpcPileOrderController extends BaseController {
|
||||
Integer code = 500;
|
||||
Long userId = update(0, remark, orderNo, 1);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
map.put("userId", userId);
|
||||
if (status == 1) {
|
||||
hxpcChargeOrder.setStatus(0);
|
||||
xhpcChargeOrder.setStatus(0);
|
||||
map.put("message", "停止充电成功");
|
||||
} else if(status==2){
|
||||
//停止充电失败
|
||||
@ -120,32 +120,32 @@ public class HxpcPileOrderController extends BaseController {
|
||||
map.put("message", remark);
|
||||
}else if(status==3 || status==4){
|
||||
//订单定位异常,修改充电订单状态
|
||||
if(status==3){
|
||||
hxpcChargeOrder.setStatus(2);
|
||||
hxpcChargeOrder.setUpdateTime(new Date());
|
||||
if(status==3) {
|
||||
xhpcChargeOrder.setStatus(2);
|
||||
xhpcChargeOrder.setUpdateTime(new Date());
|
||||
//获取实时订单
|
||||
Map<String, Object> cacheMap = redisService.getCacheMap("order:"+orderNo);
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>)cacheMap.get("realtimeDataList");
|
||||
if(list !=null && list.size()>0){
|
||||
int number =0;
|
||||
if(list.size()!=1){
|
||||
number=list.size()-1;
|
||||
Map<String, Object> cacheMap = redisService.getCacheMap("order:" + orderNo);
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>) cacheMap.get("realtimeDataList");
|
||||
if (list != null && list.size() > 0) {
|
||||
int number = 0;
|
||||
if (list.size() != 1) {
|
||||
number = list.size() - 1;
|
||||
}
|
||||
BigDecimal decimal = new BigDecimal(10000);
|
||||
CacheRealtimeData cacheRealtimeData =list.get(number);
|
||||
hxpcChargeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal));
|
||||
hxpcChargeOrder.setChargingTimeNumber(cacheRealtimeData.getChargingTime());
|
||||
hxpcChargeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal));
|
||||
CacheRealtimeData cacheRealtimeData = list.get(number);
|
||||
xhpcChargeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal));
|
||||
xhpcChargeOrder.setChargingTimeNumber(cacheRealtimeData.getChargingTime());
|
||||
xhpcChargeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal));
|
||||
}
|
||||
}else{
|
||||
if(hxpcChargeOrder.getStatus()==1 || hxpcChargeOrder.getStatus()==3){
|
||||
if (xhpcChargeOrder.getStatus() == 1 || xhpcChargeOrder.getStatus() == 3) {
|
||||
//不修改订单
|
||||
}else{
|
||||
hxpcChargeOrder.setStatus(0);
|
||||
} else {
|
||||
xhpcChargeOrder.setStatus(0);
|
||||
}
|
||||
}
|
||||
hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder);
|
||||
code=300;
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
code = 300;
|
||||
map.put("message", remark);
|
||||
}else{
|
||||
//修改订单,判断订单
|
||||
@ -166,21 +166,21 @@ public class HxpcPileOrderController extends BaseController {
|
||||
@GetMapping("/chargeOrder/pileRimeOrder")
|
||||
public R pileRealtime(@RequestParam(value = "orderNo")String orderNo) {
|
||||
|
||||
logger.info("桩实时数据回调接口>>>>>orderNo:"+orderNo);
|
||||
logger.info("桩实时数据回调接口>>>>>orderNo:" + orderNo);
|
||||
//获取实时订单
|
||||
CacheRealtimeData cacheRealtimeData = redisService.getCacheObject("order:"+orderNo+".lord");
|
||||
CacheRealtimeData cacheRealtimeData = redisService.getCacheObject("order:" + orderNo + ".lord");
|
||||
|
||||
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
Long userId = hxpcChargeOrder.getUserId();
|
||||
try{
|
||||
Map<String, Object> map = addOrderTime(cacheRealtimeData, hxpcChargeOrder, orderNo,1);
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
Long userId = xhpcChargeOrder.getUserId();
|
||||
try {
|
||||
Map<String, Object> map = addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 1);
|
||||
JSONObject json = new JSONObject(map);
|
||||
//消息对了内容
|
||||
rabbimt(userId + "##" + json);
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("code", 500);
|
||||
map.put("userId", hxpcChargeOrder.getUserId());
|
||||
map.put("userId", xhpcChargeOrder.getUserId());
|
||||
JSONObject json = new JSONObject(map);
|
||||
//消息对了内容
|
||||
rabbimt(userId + "##" + json);
|
||||
@ -219,49 +219,47 @@ public class HxpcPileOrderController extends BaseController {
|
||||
int startSoc = cacheOrderData.getStartSoc();
|
||||
int endSoc = cacheOrderData.getEndSoc();
|
||||
//获取充电订单
|
||||
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
|
||||
hxpcChargeOrder.setStartSoc(startSoc+"");
|
||||
hxpcChargeOrder.setEndSoc(endSoc+"");
|
||||
xhpcChargeOrder.setStartSoc(startSoc + "");
|
||||
xhpcChargeOrder.setEndSoc(endSoc + "");
|
||||
int status = cacheOrderData.getStatus();
|
||||
hxpcChargeOrder.setStatus(status);
|
||||
xhpcChargeOrder.setStatus(status);
|
||||
|
||||
DateTime startTime = DateUtil.parse(cacheOrderData.getStartTime());
|
||||
DateTime endTime = DateUtil.parse(cacheOrderData.getEndTime());
|
||||
hxpcChargeOrder.setStartTime(startTime);
|
||||
hxpcChargeOrder.setEndTime(endTime);
|
||||
System.out.println(endTime.getTime());
|
||||
System.out.println(startTime.getTime());
|
||||
xhpcChargeOrder.setEndTime(endTime);
|
||||
|
||||
//充电时长
|
||||
Long tiem = (endTime.getTime()-startTime.getTime())/1000;
|
||||
if(tiem>3600){
|
||||
long hours = tiem / 3600;
|
||||
double mins =(double)((tiem-(hours*3600))/60);
|
||||
hxpcChargeOrder.setChargingTime(hours+"时"+new BigDecimal(mins).setScale(0)+"分");
|
||||
}else{
|
||||
double mins = (double)(tiem / 60);
|
||||
hxpcChargeOrder.setChargingTime(new BigDecimal(mins).setScale(0)+"分");
|
||||
Long tiem = (endTime.getTime() - startTime.getTime()) % 1000;
|
||||
if (tiem > 60) {
|
||||
long mins = tiem % 60;
|
||||
long hours = tiem / 60;
|
||||
xhpcChargeOrder.setChargingTime(hours + "时" + mins + "分");
|
||||
} else {
|
||||
long mins = tiem % 60;
|
||||
xhpcChargeOrder.setChargingTime(mins + "分");
|
||||
}
|
||||
hxpcChargeOrder.setChargingTimeNumber(tiem.intValue());
|
||||
xhpcChargeOrder.setChargingTimeNumber(tiem.intValue());
|
||||
BigDecimal divide = new BigDecimal(cacheOrderData.getTotalPowerQuantity()).divide(bigDecimal);
|
||||
hxpcChargeOrder.setChargingDegree(divide);
|
||||
hxpcChargeOrder.setAmountCharged(money);
|
||||
xhpcChargeOrder.setChargingDegree(divide.divide(bigDecimal));
|
||||
xhpcChargeOrder.setAmountCharged(money.divide(bigDecimal));
|
||||
String stopReason = cacheOrderData.getStopReason();
|
||||
hxpcChargeOrder.setErroRemark(stopReason);
|
||||
hxpcChargeOrder.setUpdateTime(date);
|
||||
hxpcChargeOrder.setStatus(status);
|
||||
xhpcChargeOrder.setErroRemark(stopReason);
|
||||
xhpcChargeOrder.setUpdateTime(date);
|
||||
xhpcChargeOrder.setStatus(status);
|
||||
//历史订单
|
||||
Long userId =hxpcChargeOrder.getUserId();
|
||||
Long userId = xhpcChargeOrder.getUserId();
|
||||
//生成一条历史订单
|
||||
XhpcHistoryOrder xhpcHistoryOrder =new XhpcHistoryOrder();
|
||||
XhpcHistoryOrder xhpcHistoryOrder = new XhpcHistoryOrder();
|
||||
xhpcHistoryOrder.setPowerPriceTotal(powerPrice);
|
||||
xhpcHistoryOrder.setServicePriceTotal(servicePrice);
|
||||
Map<String, Object> userMessage = hxpcChargeOrderService.getUserMessage(userId);
|
||||
if(userMessage ==null || userMessage.get("balance") ==null){
|
||||
Map<String, Object> userMessage = xhpcChargeOrderService.getUserMessage(userId);
|
||||
if (userMessage == null || userMessage.get("balance") == null) {
|
||||
//订单异常
|
||||
hxpcChargeOrder.setStatus(2);
|
||||
xhpcChargeOrder.setStatus(2);
|
||||
//异常原因
|
||||
hxpcChargeOrder.setErroRemark("桩异常:"+stopReason+">>>>用户id:"+userId+"为空");
|
||||
xhpcChargeOrder.setErroRemark("桩异常:" + stopReason + ">>>>用户id:" + userId + "为空");
|
||||
}
|
||||
BigDecimal balance = new BigDecimal(userMessage.get("balance").toString()).divide(new BigDecimal(100));
|
||||
|
||||
@ -283,15 +281,15 @@ public class HxpcPileOrderController extends BaseController {
|
||||
BigDecimal operationSvcCommission =new BigDecimal(0);
|
||||
|
||||
//判断是C端用户还是流量端用户
|
||||
if(hxpcChargeOrder.getSource() ==0){
|
||||
String state ="";
|
||||
BigDecimal discount =new BigDecimal(0);
|
||||
if (xhpcChargeOrder.getSource() == 0) {
|
||||
String state = "";
|
||||
BigDecimal discount = new BigDecimal(0);
|
||||
//用户第几次充电
|
||||
int count = hxpcChargeOrderService.getCount(userId);
|
||||
if(count==0){
|
||||
int count = xhpcChargeOrderService.getCount(userId);
|
||||
if (count == 0) {
|
||||
//活动折扣
|
||||
Map<String, Object> promotion = hxpcChargeOrderService.getPromotion();
|
||||
if(promotion !=null && promotion.get("state") !=null && promotion.get("discount") !=null){
|
||||
Map<String, Object> promotion = xhpcChargeOrderService.getPromotion();
|
||||
if (promotion != null && promotion.get("state") != null && promotion.get("discount") != null) {
|
||||
//state 1.总金额 2.电费 3.服务费 discount 折扣率
|
||||
state = promotion.get("state").toString();
|
||||
discount =new BigDecimal(promotion.get("discount").toString());
|
||||
@ -336,7 +334,7 @@ public class HxpcPileOrderController extends BaseController {
|
||||
}
|
||||
|
||||
//获取运营商
|
||||
Map<String, Object> operatorMessage = hxpcChargeOrderService.getOperatorMessage(hxpcChargeOrder.getChargingStationId());
|
||||
Map<String, Object> operatorMessage = xhpcChargeOrderService.getOperatorMessage(xhpcChargeOrder.getChargingStationId());
|
||||
if(operatorMessage !=null){
|
||||
if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){
|
||||
Integer commissionType = (Integer) operatorMessage.get("commissionType");
|
||||
@ -372,18 +370,18 @@ public class HxpcPileOrderController extends BaseController {
|
||||
}
|
||||
}else{
|
||||
//订单异常
|
||||
hxpcChargeOrder.setStatus(2);
|
||||
xhpcChargeOrder.setStatus(2);
|
||||
//异常原因
|
||||
hxpcChargeOrder.setErroRemark("桩异常:"+stopReason+">>>>用户id:"+userId+"为空"+">>>>运营商数据为空");
|
||||
xhpcChargeOrder.setErroRemark("桩异常:" + stopReason + ">>>>用户id:" + userId + "为空" + ">>>>运营商数据为空");
|
||||
}
|
||||
}
|
||||
Long chargeOrderId = hxpcChargeOrder.getChargeOrderId();
|
||||
Long chargeOrderId = xhpcChargeOrder.getChargeOrderId();
|
||||
xhpcHistoryOrder.setChargeOrderId(chargeOrderId);
|
||||
xhpcHistoryOrder.setChargingStationId(hxpcChargeOrder.getChargingStationId());
|
||||
xhpcHistoryOrder.setChargingStationId(xhpcChargeOrder.getChargingStationId());
|
||||
xhpcHistoryOrder.setUserId(userId);
|
||||
xhpcHistoryOrder.setTerminalId(hxpcChargeOrder.getTerminalId());
|
||||
xhpcHistoryOrder.setSerialNumber(hxpcChargeOrder.getSerialNumber());
|
||||
xhpcHistoryOrder.setStartSoc(hxpcChargeOrder.getStartSoc());
|
||||
xhpcHistoryOrder.setTerminalId(xhpcChargeOrder.getTerminalId());
|
||||
xhpcHistoryOrder.setSerialNumber(xhpcChargeOrder.getSerialNumber());
|
||||
xhpcHistoryOrder.setStartSoc(xhpcChargeOrder.getStartSoc());
|
||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
||||
xhpcHistoryOrder.setSortingStatus(0);
|
||||
xhpcHistoryOrder.setType(1);
|
||||
@ -406,24 +404,24 @@ public class HxpcPileOrderController extends BaseController {
|
||||
|
||||
|
||||
//扣除用户实际消费金额,添加消费记录
|
||||
Map<String, Object> user = hxpcChargeOrderService.getUserMessage(userId);
|
||||
Map<String, Object> user = xhpcChargeOrderService.getUserMessage(userId);
|
||||
//剩余的钱
|
||||
BigDecimal balance1 =(BigDecimal) user.get("balance");
|
||||
BigDecimal subtract = balance1.subtract(actPrice);
|
||||
int i = hxpcChargeOrderService.updateUserBalance(userId, subtract);
|
||||
int i = xhpcChargeOrderService.updateUserBalance(userId, subtract);
|
||||
if(i==0){
|
||||
//扣钱失败
|
||||
xhpcHistoryOrder.setStatus(2);
|
||||
xhpcHistoryOrder.setRemark("扣钱失败");
|
||||
}else{
|
||||
xhpcHistoryOrderService.insert(xhpcHistoryOrder);
|
||||
addPileEndOrder(xhpcHistoryOrder,hxpcChargeOrder,cacheMap,orderNo);
|
||||
addPileEndOrder(xhpcHistoryOrder, xhpcChargeOrder, cacheMap, orderNo);
|
||||
//添加流水
|
||||
hxpcChargeOrderService.addUserAccountStatement(userId,actPrice.negate(),subtract,hxpcChargeOrder.getChargeOrderId(),3,date);
|
||||
xhpcChargeOrderService.addUserAccountStatement(userId, actPrice.negate(), subtract, xhpcChargeOrder.getChargeOrderId(), 3, date);
|
||||
try{
|
||||
//发送短信
|
||||
if(user.get("phone") !=null){
|
||||
String content="【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:"+endSoc+"%,总费用为:"+actPrice+"元,充电费用明细,请查询小华充电小程序,谢谢。";
|
||||
String content = "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getChargingDegree() + ",总费用为:" + actPrice + "元,充电费用明细,请查询小华充电小程序,谢谢。";
|
||||
smsService.sendNotice(user.get("phone").toString(),content);
|
||||
}
|
||||
}catch (Exception e){
|
||||
@ -431,7 +429,7 @@ public class HxpcPileOrderController extends BaseController {
|
||||
}
|
||||
|
||||
}
|
||||
hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder);
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("code", 500);
|
||||
map.put("userId", userId);
|
||||
@ -445,16 +443,18 @@ public class HxpcPileOrderController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
private void addPileEndOrder(XhpcHistoryOrder xhpcHistoryOrder,HxpcChargeOrder hxpcChargeOrder,Map<String, Object> cacheMap,String orderNo){
|
||||
Date date =new Date();
|
||||
Long chargeOrderId = hxpcChargeOrder.getChargeOrderId();
|
||||
private void addPileEndOrder(XhpcHistoryOrder xhpcHistoryOrder, XhpcChargeOrder xhpcChargeOrder,
|
||||
Map<String, Object> cacheMap, String orderNo) {
|
||||
|
||||
Date date = new Date();
|
||||
Long chargeOrderId = xhpcChargeOrder.getChargeOrderId();
|
||||
//删除实时数据,获取最新的实时数据
|
||||
xhpcRealTimeOrderService.deleteRealTimeOrder(hxpcChargeOrder.getChargeOrderId());
|
||||
xhpcRealTimeOrderService.deleteRealTimeOrder(xhpcChargeOrder.getChargeOrderId());
|
||||
//添加新的实时数据
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>)cacheMap.get("realtimeDataList");
|
||||
if (list!=null &&list.size()>0){
|
||||
for (CacheRealtimeData cacheRealtimeData:list) {
|
||||
addOrderTime(cacheRealtimeData,hxpcChargeOrder,orderNo,2);
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>) cacheMap.get("realtimeDataList");
|
||||
if (list != null && list.size() > 0) {
|
||||
for (CacheRealtimeData cacheRealtimeData : list) {
|
||||
addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 2);
|
||||
}
|
||||
}
|
||||
//添加redis到数据库
|
||||
@ -495,7 +495,7 @@ public class HxpcPileOrderController extends BaseController {
|
||||
xhpcOrderRedisRecord.setOrderData(cacheMap.get("orderData").toString());
|
||||
}
|
||||
xhpcOrderRedisRecord.setCreateTime(date);
|
||||
hxpcChargeOrderService.addXhpcOrderRedisRecord(xhpcOrderRedisRecord);
|
||||
xhpcChargeOrderService.addXhpcOrderRedisRecord(xhpcOrderRedisRecord);
|
||||
|
||||
//删除redis
|
||||
//redisService.deleteObject("order:"+orderNo);
|
||||
@ -506,19 +506,21 @@ public class HxpcPileOrderController extends BaseController {
|
||||
|
||||
/**
|
||||
* 添加实时数据
|
||||
*
|
||||
* @param cacheRealtimeData
|
||||
* @param hxpcChargeOrder
|
||||
* @param xhpcChargeOrder
|
||||
* @param orderNo 订单号
|
||||
* @param type 1.实时数据回调 2.结算回调
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> addOrderTime(CacheRealtimeData cacheRealtimeData,HxpcChargeOrder hxpcChargeOrder,String orderNo,Integer type){
|
||||
private Map<String, Object> addOrderTime(CacheRealtimeData cacheRealtimeData, XhpcChargeOrder xhpcChargeOrder,
|
||||
String orderNo, Integer type) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
Date date =new Date();
|
||||
Long chargeOrderId = hxpcChargeOrder.getChargeOrderId();
|
||||
XhpcRealTimeOrder xhpcRealTimeOrder =new XhpcRealTimeOrder();
|
||||
xhpcRealTimeOrder.setChargingOrderId(hxpcChargeOrder.getChargeOrderId());
|
||||
Date date = new Date();
|
||||
Long chargeOrderId = xhpcChargeOrder.getChargeOrderId();
|
||||
XhpcRealTimeOrder xhpcRealTimeOrder = new XhpcRealTimeOrder();
|
||||
xhpcRealTimeOrder.setChargingOrderId(xhpcChargeOrder.getChargeOrderId());
|
||||
xhpcRealTimeOrder.setTransactionNumber(orderNo);
|
||||
xhpcRealTimeOrder.setPileNumber(cacheRealtimeData.getPileNo());
|
||||
String gunId = cacheRealtimeData.getGunId();
|
||||
@ -569,24 +571,24 @@ public class HxpcPileOrderController extends BaseController {
|
||||
BigDecimal amountCharged = new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal);
|
||||
xhpcRealTimeOrder.setAmountCharged(amountCharged);
|
||||
xhpcRealTimeOrder.setHardwareFault(cacheRealtimeData.getHardwareFault());
|
||||
if("00".equals(cacheRealtimeData.getStatus())){
|
||||
if ("00".equals(cacheRealtimeData.getStatus())) {
|
||||
xhpcRealTimeOrder.setStatus(0);
|
||||
}else if("01".equals(cacheRealtimeData.getStatus())){
|
||||
} else if ("01".equals(cacheRealtimeData.getStatus())) {
|
||||
xhpcRealTimeOrder.setStatus(1);
|
||||
}else if("02".equals(cacheRealtimeData.getStatus())){
|
||||
} else if ("02".equals(cacheRealtimeData.getStatus())) {
|
||||
xhpcRealTimeOrder.setStatus(2);
|
||||
}else{
|
||||
} else {
|
||||
xhpcRealTimeOrder.setStatus(3);
|
||||
}
|
||||
xhpcRealTimeOrder.setCreateTime(date);
|
||||
xhpcRealTimeOrder.setUserId(hxpcChargeOrder.getUserId());
|
||||
Long chargingStationId = hxpcChargeOrder.getChargingStationId();
|
||||
xhpcRealTimeOrder.setUserId(xhpcChargeOrder.getUserId());
|
||||
Long chargingStationId = xhpcChargeOrder.getChargingStationId();
|
||||
xhpcRealTimeOrder.setChargingStationId(chargingStationId);
|
||||
|
||||
xhpcRealTimeOrderService.addXhpcRealTimeOrder(xhpcRealTimeOrder);
|
||||
//实时数据存入MYsql、soc、电流、电压
|
||||
|
||||
XhpcChargeOrderSoc xhpcChargeOrderSoc =new XhpcChargeOrderSoc();
|
||||
XhpcChargeOrderSoc xhpcChargeOrderSoc = new XhpcChargeOrderSoc();
|
||||
xhpcChargeOrderSoc.setChargeOrderId(chargeOrderId);
|
||||
xhpcChargeOrderSoc.setSoc(soc.toString());
|
||||
xhpcChargeOrderSoc.setCreateTime(date);
|
||||
@ -606,7 +608,7 @@ public class HxpcPileOrderController extends BaseController {
|
||||
if(type==1){
|
||||
map.put("code", 200);
|
||||
map.put("message", "实时数据");
|
||||
map.put("userId", hxpcChargeOrder.getUserId());
|
||||
map.put("userId", xhpcChargeOrder.getUserId());
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("amountCharged",divide);
|
||||
data.put("gunNumber",gunId);
|
||||
@ -614,9 +616,9 @@ public class HxpcPileOrderController extends BaseController {
|
||||
data.put("soc",soc);
|
||||
data.put("chargingTime",xhpcRealTimeOrder.getChargingTime());
|
||||
data.put("electricCurrent",c);
|
||||
data.put("voltage",v);
|
||||
data.put("power",hxpcChargeOrder.getPower());
|
||||
data.put("chargingDegree",chargingDegree);
|
||||
data.put("voltage", v);
|
||||
data.put("power", xhpcChargeOrder.getPower());
|
||||
data.put("chargingDegree", chargingDegree);
|
||||
data.put("remainingTime",xhpcRealTimeOrder.getRemainingTime());
|
||||
data.put("serialNumber",orderNo.substring(0,16));
|
||||
data.put("parkingInstructions","在非充电情况下占用车位按照0.30元/分钟收费");
|
||||
@ -635,25 +637,25 @@ public class HxpcPileOrderController extends BaseController {
|
||||
*/
|
||||
private Long update(Integer status, String remark, String serialNumber, Integer type) {
|
||||
logger.info("状态:"+status+"备注++"+"remark"+"订单号"+serialNumber);
|
||||
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(serialNumber);
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(serialNumber);
|
||||
Date date = new Date();
|
||||
if(status==0){
|
||||
hxpcChargeOrder.setStatus(0);
|
||||
hxpcChargeOrder.setStartTime(date);
|
||||
}else{
|
||||
hxpcChargeOrder.setStatus(-1);
|
||||
hxpcChargeOrder.setDelFlag(1);
|
||||
hxpcChargeOrder.setEndTime(date);
|
||||
xhpcChargeOrder.setStatus(0);
|
||||
xhpcChargeOrder.setStartTime(date);
|
||||
} else{
|
||||
xhpcChargeOrder.setStatus(-1);
|
||||
xhpcChargeOrder.setDelFlag(1);
|
||||
xhpcChargeOrder.setEndTime(date);
|
||||
}
|
||||
hxpcChargeOrder.setErroRemark(remark);
|
||||
xhpcChargeOrder.setErroRemark(remark);
|
||||
|
||||
Long userId = hxpcChargeOrder.getUserId();
|
||||
Long userId = xhpcChargeOrder.getUserId();
|
||||
if (type == 1) {
|
||||
|
||||
//充电订单 --结束soc、充电时长、充电度数
|
||||
hxpcChargeOrder.setEndTime(date);
|
||||
xhpcChargeOrder.setEndTime(date);
|
||||
}
|
||||
hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder);
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
|
||||
return userId;
|
||||
}
|
||||
@ -9,10 +9,11 @@ import java.util.Date;
|
||||
|
||||
/**
|
||||
* 充电订单
|
||||
*
|
||||
* @author yuyang
|
||||
* @date 2021/8/4 9:41
|
||||
*/
|
||||
public class HxpcChargeOrder extends BaseEntity {
|
||||
public class XhpcChargeOrder extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 充电订单id
|
||||
@ -1,373 +0,0 @@
|
||||
package com.xhpc.order.domain;
|
||||
|
||||
import com.xhpc.common.core.web.domain.BaseEntity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 历史订单 xhpc_history_order
|
||||
* @date 2021-07-22
|
||||
*/
|
||||
public class XhpcHistoryOrder extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 历史订单id
|
||||
*/
|
||||
private Long historyOrderId;
|
||||
|
||||
/**
|
||||
* 电站id
|
||||
*/
|
||||
private Long chargingStationId;
|
||||
|
||||
/**
|
||||
* 充电订单id
|
||||
*/
|
||||
private Long chargeOrderId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 终端id
|
||||
*/
|
||||
private Long terminalId;
|
||||
|
||||
/**
|
||||
* 流水号
|
||||
*/
|
||||
private String serialNumber;
|
||||
|
||||
/**
|
||||
* 互联网订单流水号
|
||||
*/
|
||||
private String internetSerialNumber;
|
||||
|
||||
/**
|
||||
* 订单总价
|
||||
*/
|
||||
private BigDecimal totalPrice;
|
||||
|
||||
/**
|
||||
* 电站活动抵扣
|
||||
*/
|
||||
private BigDecimal promotionDiscount;
|
||||
|
||||
/**
|
||||
* 实际价格
|
||||
*/
|
||||
private BigDecimal actPrice;
|
||||
|
||||
/**
|
||||
* 实收电费
|
||||
*/
|
||||
private BigDecimal actPowerPrice;
|
||||
|
||||
/**
|
||||
* 实收服务费
|
||||
*/
|
||||
private BigDecimal actServicePrice;
|
||||
|
||||
/**
|
||||
* 流量方总金额抽成
|
||||
*/
|
||||
private BigDecimal internetCommission;
|
||||
|
||||
/**
|
||||
* 流量方服务费抽成
|
||||
*/
|
||||
private BigDecimal internetSvcCommission;
|
||||
|
||||
/**
|
||||
* 平台总金额抽成
|
||||
*/
|
||||
private BigDecimal platformCommission;
|
||||
|
||||
/**
|
||||
* 平台服务费抽成
|
||||
*/
|
||||
private BigDecimal platformSvcCommisssion;
|
||||
|
||||
/**
|
||||
* 运维总抽成
|
||||
*/
|
||||
private BigDecimal operationCommission;
|
||||
|
||||
/**
|
||||
* 运维服务费抽成
|
||||
*/
|
||||
private BigDecimal operationSvcCommission;
|
||||
|
||||
/**
|
||||
* 开始充电soc
|
||||
*/
|
||||
private String startSoc;
|
||||
|
||||
/**
|
||||
* 结束时soc
|
||||
*/
|
||||
private String endSoc;
|
||||
|
||||
/**
|
||||
* 对账状态(0待确认 1已确认,2待提交,3待审核)
|
||||
*/
|
||||
private Integer reconciliationStatus;
|
||||
|
||||
/**
|
||||
* 清分状态(0待清分 1清分在途,2已提现,3待提交,4待审核)
|
||||
*/
|
||||
private Integer sortingStatus;
|
||||
|
||||
/**
|
||||
* 1 自动结算 2 平台结算
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 状态(0正常 1停用)
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 删除标志(0代表存在 2代表删除)
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 总电费
|
||||
*/
|
||||
private BigDecimal powerPriceTotal;
|
||||
|
||||
/**
|
||||
* 总服务费
|
||||
*/
|
||||
private BigDecimal servicePriceTotal;
|
||||
|
||||
|
||||
public Long getHistoryOrderId() {
|
||||
return historyOrderId;
|
||||
}
|
||||
|
||||
public void setHistoryOrderId(Long historyOrderId) {
|
||||
this.historyOrderId = historyOrderId;
|
||||
}
|
||||
|
||||
public Long getChargingStationId() {
|
||||
return chargingStationId;
|
||||
}
|
||||
|
||||
public void setChargingStationId(Long chargingStationId) {
|
||||
this.chargingStationId = chargingStationId;
|
||||
}
|
||||
|
||||
public Long getChargeOrderId() {
|
||||
|
||||
return chargeOrderId;
|
||||
}
|
||||
|
||||
public void setChargeOrderId(Long chargeOrderId) {
|
||||
|
||||
this.chargeOrderId = chargeOrderId;
|
||||
}
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public Long getTerminalId() {
|
||||
return terminalId;
|
||||
}
|
||||
|
||||
public void setTerminalId(Long terminalId) {
|
||||
this.terminalId = terminalId;
|
||||
}
|
||||
|
||||
public String getSerialNumber() {
|
||||
return serialNumber;
|
||||
}
|
||||
|
||||
public void setSerialNumber(String serialNumber) {
|
||||
this.serialNumber = serialNumber;
|
||||
}
|
||||
|
||||
public String getInternetSerialNumber() {
|
||||
return internetSerialNumber;
|
||||
}
|
||||
|
||||
public void setInternetSerialNumber(String internetSerialNumber) {
|
||||
this.internetSerialNumber = internetSerialNumber;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalPrice() {
|
||||
return totalPrice;
|
||||
}
|
||||
|
||||
public void setTotalPrice(BigDecimal totalPrice) {
|
||||
this.totalPrice = totalPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getPromotionDiscount() {
|
||||
return promotionDiscount;
|
||||
}
|
||||
|
||||
public void setPromotionDiscount(BigDecimal promotionDiscount) {
|
||||
this.promotionDiscount = promotionDiscount;
|
||||
}
|
||||
|
||||
public BigDecimal getActPrice() {
|
||||
return actPrice;
|
||||
}
|
||||
|
||||
public void setActPrice(BigDecimal actPrice) {
|
||||
this.actPrice = actPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getActPowerPrice() {
|
||||
return actPowerPrice;
|
||||
}
|
||||
|
||||
public void setActPowerPrice(BigDecimal actPowerPrice) {
|
||||
this.actPowerPrice = actPowerPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getActServicePrice() {
|
||||
return actServicePrice;
|
||||
}
|
||||
|
||||
public void setActServicePrice(BigDecimal actServicePrice) {
|
||||
this.actServicePrice = actServicePrice;
|
||||
}
|
||||
|
||||
public BigDecimal getInternetCommission() {
|
||||
return internetCommission;
|
||||
}
|
||||
|
||||
public void setInternetCommission(BigDecimal internetCommission) {
|
||||
this.internetCommission = internetCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getInternetSvcCommission() {
|
||||
return internetSvcCommission;
|
||||
}
|
||||
|
||||
public void setInternetSvcCommission(BigDecimal internetSvcCommission) {
|
||||
this.internetSvcCommission = internetSvcCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getPlatformCommission() {
|
||||
return platformCommission;
|
||||
}
|
||||
|
||||
public void setPlatformCommission(BigDecimal platformCommission) {
|
||||
this.platformCommission = platformCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getPlatformSvcCommisssion() {
|
||||
return platformSvcCommisssion;
|
||||
}
|
||||
|
||||
public void setPlatformSvcCommisssion(BigDecimal platformSvcCommisssion) {
|
||||
this.platformSvcCommisssion = platformSvcCommisssion;
|
||||
}
|
||||
|
||||
public BigDecimal getOperationCommission() {
|
||||
return operationCommission;
|
||||
}
|
||||
|
||||
public void setOperationCommission(BigDecimal operationCommission) {
|
||||
this.operationCommission = operationCommission;
|
||||
}
|
||||
|
||||
public String getStartSoc() {
|
||||
return startSoc;
|
||||
}
|
||||
|
||||
public void setStartSoc(String startSoc) {
|
||||
this.startSoc = startSoc;
|
||||
}
|
||||
|
||||
public String getEndSoc() {
|
||||
return endSoc;
|
||||
}
|
||||
|
||||
public void setEndSoc(String endSoc) {
|
||||
this.endSoc = endSoc;
|
||||
}
|
||||
|
||||
public Integer getReconciliationStatus() {
|
||||
return reconciliationStatus;
|
||||
}
|
||||
|
||||
public void setReconciliationStatus(Integer reconciliationStatus) {
|
||||
this.reconciliationStatus = reconciliationStatus;
|
||||
}
|
||||
|
||||
public BigDecimal getOperationSvcCommission() {
|
||||
return operationSvcCommission;
|
||||
}
|
||||
|
||||
public void setOperationSvcCommission(BigDecimal operationSvcCommission) {
|
||||
this.operationSvcCommission = operationSvcCommission;
|
||||
}
|
||||
|
||||
public Integer getSortingStatus() {
|
||||
return sortingStatus;
|
||||
}
|
||||
|
||||
public void setSortingStatus(Integer sortingStatus) {
|
||||
this.sortingStatus = sortingStatus;
|
||||
}
|
||||
|
||||
public Integer getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(Integer type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Integer getDelFlag() {
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
public void setDelFlag(Integer delFlag) {
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
|
||||
public BigDecimal getPowerPriceTotal() {
|
||||
|
||||
return powerPriceTotal;
|
||||
}
|
||||
|
||||
public void setPowerPriceTotal(BigDecimal powerPriceTotal) {
|
||||
|
||||
this.powerPriceTotal = powerPriceTotal;
|
||||
}
|
||||
|
||||
public BigDecimal getServicePriceTotal() {
|
||||
|
||||
return servicePriceTotal;
|
||||
}
|
||||
|
||||
public void setServicePriceTotal(BigDecimal servicePriceTotal) {
|
||||
|
||||
this.servicePriceTotal = servicePriceTotal;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,8 +1,7 @@
|
||||
package com.xhpc.order.mapper;
|
||||
|
||||
import com.xhpc.common.domain.XhpcChargingPile;
|
||||
import com.xhpc.common.domain.XhpcTerminal;
|
||||
import com.xhpc.order.domain.HxpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcOrderRedisRecord;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -15,12 +14,12 @@ import java.util.Map;
|
||||
* @author yuyang
|
||||
* @date 2021/8/4 9:55
|
||||
*/
|
||||
public interface HxpcChargeOrderMapper {
|
||||
|
||||
public interface XhpcChargeOrderMapper {
|
||||
|
||||
|
||||
/**
|
||||
* 实时订单
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@ -66,24 +65,27 @@ public interface HxpcChargeOrderMapper {
|
||||
|
||||
/**
|
||||
* 添加充电订单
|
||||
* @param hxpcChargeOrder
|
||||
*
|
||||
* @param xhpcChargeOrder
|
||||
* @return
|
||||
*/
|
||||
int addXhpcChargeOrder(HxpcChargeOrder hxpcChargeOrder);
|
||||
int addXhpcChargeOrder(XhpcChargeOrder xhpcChargeOrder);
|
||||
|
||||
/**
|
||||
* 修改充电订单
|
||||
* @param hxpcChargeOrder
|
||||
*
|
||||
* @param xhpcChargeOrder
|
||||
* @return
|
||||
*/
|
||||
void updateXhpcChargeOrder(HxpcChargeOrder hxpcChargeOrder);
|
||||
void updateXhpcChargeOrder(XhpcChargeOrder xhpcChargeOrder);
|
||||
|
||||
/**
|
||||
* 获取充电订单数据
|
||||
*
|
||||
* @param serialNumber 订单编号
|
||||
* @return
|
||||
*/
|
||||
HxpcChargeOrder getSerialNumberMessage(@Param("serialNumber") String serialNumber);
|
||||
XhpcChargeOrder getSerialNumberMessage(@Param("serialNumber") String serialNumber);
|
||||
|
||||
/**
|
||||
* 判断用户是第几次充电
|
||||
@ -100,10 +102,11 @@ public interface HxpcChargeOrderMapper {
|
||||
|
||||
/**
|
||||
* 获取充电订单数据
|
||||
*
|
||||
* @param chargingOrderId 订单id
|
||||
* @return
|
||||
*/
|
||||
HxpcChargeOrder getChargingOrderId(@Param("chargingOrderId") Long chargingOrderId);
|
||||
XhpcChargeOrder getChargingOrderId(@Param("chargingOrderId") Long chargingOrderId);
|
||||
|
||||
/**
|
||||
* 获取运营商信息
|
||||
@ -1,10 +1,8 @@
|
||||
package com.xhpc.order.service;
|
||||
|
||||
import com.xhpc.common.core.domain.R;
|
||||
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||
import com.xhpc.order.domain.HxpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcOrderRedisRecord;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
@ -15,10 +13,11 @@ import java.util.Map;
|
||||
* @author yuyang
|
||||
* @date 2021/8/4 9:54
|
||||
*/
|
||||
public interface IHxpcChargeOrderService {
|
||||
public interface IXhpcChargeOrderService {
|
||||
|
||||
/**
|
||||
* 实时订单
|
||||
*
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@ -50,10 +49,11 @@ public interface IHxpcChargeOrderService {
|
||||
|
||||
/**
|
||||
* 获取充电订单数据
|
||||
*
|
||||
* @param serialNumber 订单编号
|
||||
* @return
|
||||
*/
|
||||
HxpcChargeOrder getSerialNumberMessage(String serialNumber);
|
||||
XhpcChargeOrder getSerialNumberMessage(String serialNumber);
|
||||
|
||||
|
||||
/**
|
||||
@ -71,10 +71,11 @@ public interface IHxpcChargeOrderService {
|
||||
|
||||
/**
|
||||
* 修改充电订单
|
||||
* @param hxpcChargeOrder
|
||||
*
|
||||
* @param xhpcChargeOrder
|
||||
* @return
|
||||
*/
|
||||
void updateXhpcChargeOrder(HxpcChargeOrder hxpcChargeOrder);
|
||||
void updateXhpcChargeOrder(XhpcChargeOrder xhpcChargeOrder);
|
||||
|
||||
|
||||
/**
|
||||
@ -115,8 +116,9 @@ public interface IHxpcChargeOrderService {
|
||||
* @param date 时间
|
||||
* @return
|
||||
*/
|
||||
int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId, Integer type, Date date);
|
||||
int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId, Integer type,
|
||||
Date date);
|
||||
|
||||
|
||||
HxpcChargeOrder getChargingOrderId(Long chargingOrderId);
|
||||
XhpcChargeOrder getChargingOrderId(Long chargingOrderId);
|
||||
}
|
||||
@ -8,10 +8,10 @@ import com.xhpc.common.data.down.StartChargingData;
|
||||
import com.xhpc.common.data.redis.StaticBeanUtil;
|
||||
import com.xhpc.common.domain.XhpcTerminal;
|
||||
import com.xhpc.common.redis.service.RedisService;
|
||||
import com.xhpc.order.domain.HxpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcOrderRedisRecord;
|
||||
import com.xhpc.order.mapper.HxpcChargeOrderMapper;
|
||||
import com.xhpc.order.service.IHxpcChargeOrderService;
|
||||
import com.xhpc.order.mapper.XhpcChargeOrderMapper;
|
||||
import com.xhpc.order.service.IXhpcChargeOrderService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -31,18 +31,18 @@ import java.util.regex.Pattern;
|
||||
* @date 2021/8/4 9:54
|
||||
*/
|
||||
@Service
|
||||
public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
public class XhpcChargeOrderServiceImpl implements IXhpcChargeOrderService {
|
||||
|
||||
public static RedisService REDIS;
|
||||
|
||||
@Autowired
|
||||
private HxpcChargeOrderMapper hxpcChargeOrderMapper;
|
||||
private XhpcChargeOrderMapper xhpcChargeOrderMapper;
|
||||
@Autowired
|
||||
private PowerPileService powerPileService;
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(HxpcChargeOrderServiceImpl.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(XhpcChargeOrderServiceImpl.class);
|
||||
//队列名称
|
||||
private final static String NAME = "webSocket";
|
||||
|
||||
@ -53,17 +53,19 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
|
||||
@Override
|
||||
public AjaxResult getHistotyChargeOrderMessage(Long userId) {
|
||||
int count = hxpcChargeOrderMapper.getHistotyChargeOrderMessage(userId);
|
||||
|
||||
int count = xhpcChargeOrderMapper.getHistotyChargeOrderMessage(userId);
|
||||
if(count>0){
|
||||
return AjaxResult.success();
|
||||
}
|
||||
return AjaxResult.error(1201,"无实时数据");
|
||||
//return AjaxResult.success(hxpcChargeOrderMapper.getMessage(userId));
|
||||
//return AjaxResult.success(xhpcChargeOrderMapper.getMessage(userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getHistotyChargeOrderStatusList(Long userId) {
|
||||
return hxpcChargeOrderMapper.getHistotyChargeOrderStatusList(userId);
|
||||
|
||||
return xhpcChargeOrderMapper.getHistotyChargeOrderStatusList(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -76,7 +78,7 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
return AjaxResult.error(1104, "无效的终端编号");
|
||||
}
|
||||
//金额是否大于5元
|
||||
Map<String, Object> userMessage = hxpcChargeOrderMapper.getUserMessage(userId);
|
||||
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元,不能充电,请充值后再进行充电");
|
||||
@ -86,13 +88,13 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
return AjaxResult.error(1101, "你有申请退款订单在审核中,需要充电请取消申请退款");
|
||||
}
|
||||
//是否在充电中
|
||||
String i = hxpcChargeOrderMapper.countXhpcRealTimeOrder(userId);
|
||||
String i = xhpcChargeOrderMapper.countXhpcRealTimeOrder(userId);
|
||||
|
||||
if (!"".equals(i) && i!=null) {
|
||||
return AjaxResult.error(1102, "车辆正在充电,请查询车辆充电信息");
|
||||
}
|
||||
//是否存在异常的订单
|
||||
int j = hxpcChargeOrderMapper.countXhpcChargeOrder(userId);
|
||||
int j = xhpcChargeOrderMapper.countXhpcChargeOrder(userId);
|
||||
if (j > 0) {
|
||||
return AjaxResult.error(1103, "你有异常订单未解决,请拨打客服电话进行解决");
|
||||
}
|
||||
@ -122,7 +124,7 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
}
|
||||
|
||||
//终端信息
|
||||
XhpcTerminal xhpcTerminal = hxpcChargeOrderMapper.getXhpcTerminalSerialNumber(serialNumber);
|
||||
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(serialNumber);
|
||||
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
|
||||
return AjaxResult.error(1104, "无效的终端编号");
|
||||
}
|
||||
@ -156,7 +158,7 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
number=Integer.parseInt(soc);
|
||||
}
|
||||
}
|
||||
Map<String, Object> operatorMessage = hxpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
|
||||
Map<String, Object> operatorMessage = xhpcChargeOrderMapper.getOperatorMessage(xhpcTerminal.getChargingStationId());
|
||||
if(operatorMessage !=null && operatorMessage.get("soc") !=null && !"".equals(operatorMessage.get("soc"))){
|
||||
if(Integer.parseInt(operatorMessage.get("soc").toString())-number<0){
|
||||
number=Integer.parseInt(operatorMessage.get("soc").toString());
|
||||
@ -168,33 +170,34 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
|
||||
R r1 = powerPileService.startCharging(startChargingData);
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<充电返回>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+r1.getCode()+">>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+r1.getMsg()+">>>>>>>>>>>>>>>>>");
|
||||
if(r1.getCode() !=200){
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getCode() + ">>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<" + r1.getMsg() + ">>>>>>>>>>>>>>>>>");
|
||||
if (r1.getCode() != 200) {
|
||||
return AjaxResult.error(r1.getMsg());
|
||||
}
|
||||
//获取桩信息
|
||||
Map<String, Object> xhpcChargingPileById = hxpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId());
|
||||
Map<String, Object> xhpcChargingPileById =
|
||||
xhpcChargeOrderMapper.getXhpcChargingPileById(xhpcTerminal.getChargingPileId());
|
||||
|
||||
//创建充电订单(充电启动soc初始值,结束是获取,并修改状态)
|
||||
HxpcChargeOrder hxpcChargeOrder = new HxpcChargeOrder();
|
||||
hxpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
|
||||
hxpcChargeOrder.setUserId(userId);
|
||||
hxpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
|
||||
hxpcChargeOrder.setSerialNumber(orderNo);
|
||||
hxpcChargeOrder.setSource(0);
|
||||
hxpcChargeOrder.setStatus(-1);
|
||||
if(xhpcChargingPileById !=null && xhpcChargingPileById.get("power") !=null){
|
||||
hxpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
|
||||
XhpcChargeOrder xhpcChargeOrder = new XhpcChargeOrder();
|
||||
xhpcChargeOrder.setChargingStationId(xhpcTerminal.getChargingStationId());
|
||||
xhpcChargeOrder.setUserId(userId);
|
||||
xhpcChargeOrder.setTerminalId(xhpcTerminal.getTerminalId());
|
||||
xhpcChargeOrder.setSerialNumber(orderNo);
|
||||
xhpcChargeOrder.setSource(0);
|
||||
xhpcChargeOrder.setStatus(-1);
|
||||
if (xhpcChargingPileById != null && xhpcChargingPileById.get("power") != null) {
|
||||
xhpcChargeOrder.setPower(xhpcChargingPileById.get("power").toString());
|
||||
}
|
||||
hxpcChargeOrder.setRateModelId(xhpcTerminal.getRateModelId());
|
||||
if(type ==1){
|
||||
hxpcChargeOrder.setChargingMode("小华充电微信");
|
||||
}else{
|
||||
hxpcChargeOrder.setChargingMode("小华充电支付宝");
|
||||
xhpcChargeOrder.setRateModelId(xhpcTerminal.getRateModelId());
|
||||
if (type == 1) {
|
||||
xhpcChargeOrder.setChargingMode("小华充电微信");
|
||||
} else {
|
||||
xhpcChargeOrder.setChargingMode("小华充电支付宝");
|
||||
}
|
||||
hxpcChargeOrder.setCreateTime(date);
|
||||
hxpcChargeOrderMapper.addXhpcChargeOrder(hxpcChargeOrder);
|
||||
xhpcChargeOrder.setCreateTime(date);
|
||||
xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder);
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
@ -209,13 +212,13 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
return AjaxResult.error(1104, "无效的终端编号");
|
||||
}
|
||||
//终端信息
|
||||
XhpcTerminal xhpcTerminal = hxpcChargeOrderMapper.getXhpcTerminalSerialNumber(serialNumber);
|
||||
XhpcTerminal xhpcTerminal = xhpcChargeOrderMapper.getXhpcTerminalSerialNumber(serialNumber);
|
||||
if (xhpcTerminal == null || xhpcTerminal.getTerminalId() == null || xhpcTerminal.getChargingPileId() == null || xhpcTerminal.getPileSerialNumber() == null) {
|
||||
return AjaxResult.error(1104, "无效的终端编号");
|
||||
}
|
||||
HxpcChargeOrder serialNumberMessage = hxpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
|
||||
XhpcChargeOrder serialNumberMessage = xhpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
|
||||
serialNumberMessage.setType(1);
|
||||
hxpcChargeOrderMapper.updateXhpcChargeOrder(serialNumberMessage);
|
||||
xhpcChargeOrderMapper.updateXhpcChargeOrder(serialNumberMessage);
|
||||
R oa = powerPileService.stopCharging(xhpcTerminal.getPileSerialNumber(), xhpcTerminal.getSerialNumber(), "OA");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<停止充电返回>>>>>>>>>>>>>>>>>");
|
||||
logger.info("<<<<<<<<<<<<<<<<<<<<<<<<"+oa.getCode()+">>>>>>>>>>>>>>>>>");
|
||||
@ -227,53 +230,64 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HxpcChargeOrder getSerialNumberMessage(String serialNumber) {
|
||||
return hxpcChargeOrderMapper.getSerialNumberMessage(serialNumber);
|
||||
public XhpcChargeOrder getSerialNumberMessage(String serialNumber) {
|
||||
|
||||
return xhpcChargeOrderMapper.getSerialNumberMessage(serialNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount(Long userId) {
|
||||
return hxpcChargeOrderMapper.getCount(userId);
|
||||
|
||||
return xhpcChargeOrderMapper.getCount(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getPromotion() {
|
||||
return hxpcChargeOrderMapper.getPromotion();
|
||||
|
||||
return xhpcChargeOrderMapper.getPromotion();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateXhpcChargeOrder(HxpcChargeOrder hxpcChargeOrder) {
|
||||
hxpcChargeOrderMapper.updateXhpcChargeOrder(hxpcChargeOrder);
|
||||
public void updateXhpcChargeOrder(XhpcChargeOrder xhpcChargeOrder) {
|
||||
|
||||
xhpcChargeOrderMapper.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getUserMessage(Long userId){
|
||||
return hxpcChargeOrderMapper.getUserMessage(userId);
|
||||
|
||||
return xhpcChargeOrderMapper.getUserMessage(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateUserBalance(Long userId, BigDecimal balance) {
|
||||
return hxpcChargeOrderMapper.updateUserBalance(userId,balance);
|
||||
|
||||
return xhpcChargeOrderMapper.updateUserBalance(userId, balance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getOperatorMessage(Long chargingStationId) {
|
||||
return hxpcChargeOrderMapper.getOperatorMessage(chargingStationId);
|
||||
|
||||
return xhpcChargeOrderMapper.getOperatorMessage(chargingStationId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addXhpcOrderRedisRecord(XhpcOrderRedisRecord xhpcOrderRedisRecord) {
|
||||
hxpcChargeOrderMapper.addXhpcOrderRedisRecord(xhpcOrderRedisRecord);
|
||||
|
||||
xhpcChargeOrderMapper.addXhpcOrderRedisRecord(xhpcOrderRedisRecord);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId, Integer type, Date date) {
|
||||
return hxpcChargeOrderMapper.addUserAccountStatement(userId, amount, remainingSum, chargeOrderId, type, date);
|
||||
public int addUserAccountStatement(Long userId, BigDecimal amount, BigDecimal remainingSum, Long chargeOrderId,
|
||||
Integer type, Date date) {
|
||||
|
||||
return xhpcChargeOrderMapper.addUserAccountStatement(userId, amount, remainingSum, chargeOrderId, type, date);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HxpcChargeOrder getChargingOrderId(Long chargingOrderId) {
|
||||
return hxpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
|
||||
public XhpcChargeOrder getChargingOrderId(Long chargingOrderId) {
|
||||
|
||||
return xhpcChargeOrderMapper.getChargingOrderId(chargingOrderId);
|
||||
}
|
||||
|
||||
|
||||
@ -2,18 +2,20 @@ package com.xhpc.order.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||
import com.xhpc.order.domain.HxpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcChargeOrder;
|
||||
import com.xhpc.order.domain.XhpcHistoryOrder;
|
||||
import com.xhpc.order.mapper.XhpcHistoryOrderMapper;
|
||||
import com.xhpc.order.service.IHxpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcHistoryOrderService;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yuyang
|
||||
@ -26,7 +28,7 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
|
||||
private XhpcHistoryOrderMapper xhpcHistoryOrderMapper;
|
||||
|
||||
@Autowired
|
||||
private IHxpcChargeOrderService xhpcChargeOrderService;
|
||||
private IXhpcChargeOrderService xhpcChargeOrderService;
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> list(Long userId) {
|
||||
@ -78,7 +80,7 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService {
|
||||
BigDecimal powerPriceTotal =new BigDecimal(0);
|
||||
BigDecimal servicePriceTotal =new BigDecimal(0);
|
||||
//充电订单信息
|
||||
HxpcChargeOrder chargeOrder = xhpcChargeOrderService.getSerialNumberMessage(serialNumber);
|
||||
XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getSerialNumberMessage(serialNumber);
|
||||
|
||||
//累计充电时间、计费模型、开始时间、结束时间、已充金额
|
||||
Long rateModelId = chargeOrder.getRateModelId();
|
||||
|
||||
@ -5,16 +5,18 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.xhpc.common.core.web.domain.AjaxResult;
|
||||
import com.xhpc.order.domain.*;
|
||||
import com.xhpc.order.mapper.XhpcRealTimeOrderMapper;
|
||||
import com.xhpc.order.service.IHxpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcChargeOrderService;
|
||||
import com.xhpc.order.service.IXhpcHistoryOrderService;
|
||||
import com.xhpc.order.service.IXhpcRealTimeOrderService;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author yuyang
|
||||
@ -27,7 +29,7 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper;
|
||||
|
||||
@Autowired
|
||||
private IHxpcChargeOrderService hxpcChargeOrderService;
|
||||
private IXhpcChargeOrderService xhpcChargeOrderService;
|
||||
|
||||
@Autowired
|
||||
private IXhpcHistoryOrderService xhpcHistoryOrderService;
|
||||
@ -92,7 +94,7 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
public AjaxResult getExamine(Long chargingOrderId) {
|
||||
|
||||
//获取开始充电时间、结束时间、计费模型、充电度数、已充金额
|
||||
HxpcChargeOrder chargeOrder = hxpcChargeOrderService.getChargingOrderId(chargingOrderId);
|
||||
XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getChargingOrderId(chargingOrderId);
|
||||
String startTime = DateUtil.formatTime(chargeOrder.getStartTime());
|
||||
String endTime = DateUtil.formatTime(chargeOrder.getEndTime());
|
||||
Long rateModelId = chargeOrder.getRateModelId();
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xhpc.order.mapper.HxpcChargeOrderMapper">
|
||||
<mapper namespace="com.xhpc.order.mapper.XhpcChargeOrderMapper">
|
||||
|
||||
<resultMap type="com.xhpc.order.domain.HxpcChargeOrder" id="HxpcChargeOrderResult">
|
||||
<resultMap type="com.xhpc.order.domain.XhpcChargeOrder" id="XhpcChargeOrderResult">
|
||||
<result column="charge_order_id" property="chargeOrderId"/>
|
||||
<result column="charging_station_id" property="chargingStationId"/>
|
||||
<result column="user_id" property="userId"/>
|
||||
@ -108,7 +108,7 @@
|
||||
select * from xhpc_terminal where serial_number=#{serialNumber} and del_flag=0 limit 1
|
||||
</select>
|
||||
|
||||
<insert id="addXhpcChargeOrder" parameterType="com.xhpc.order.domain.HxpcChargeOrder" useGeneratedKeys="true"
|
||||
<insert id="addXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder" useGeneratedKeys="true"
|
||||
keyProperty="chargeOrderId">
|
||||
insert into xhpc_charge_order
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
@ -237,7 +237,7 @@
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateXhpcChargeOrder" parameterType="com.xhpc.order.domain.HxpcChargeOrder">
|
||||
<update id="updateXhpcChargeOrder" parameterType="com.xhpc.order.domain.XhpcChargeOrder">
|
||||
update xhpc_charge_order
|
||||
<set>
|
||||
<if test="startSoc != null">start_soc = #{startSoc},</if>
|
||||
@ -277,8 +277,11 @@
|
||||
order by cor.update_time desc
|
||||
</select>
|
||||
|
||||
<select id="getSerialNumberMessage" resultMap="HxpcChargeOrderResult">
|
||||
select * from xhpc_charge_order where serial_number=#{serialNumber} limit 1
|
||||
<select id="getSerialNumberMessage" resultMap="XhpcChargeOrderResult">
|
||||
select *
|
||||
from xhpc_charge_order
|
||||
where serial_number = #{serialNumber}
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="getCount" resultType="int">
|
||||
@ -289,8 +292,10 @@
|
||||
select discount,state from xhpc_promotion where del_flag=0 and status=0 and type=0 and start_time <= now() and end_time >=now() order by update_time desc
|
||||
</select>
|
||||
|
||||
<select id="getChargingOrderId" resultMap="HxpcChargeOrderResult">
|
||||
select * from xhpc_charge_order where charge_order_id=#{chargingOrderId}
|
||||
<select id="getChargingOrderId" resultMap="XhpcChargeOrderResult">
|
||||
select *
|
||||
from xhpc_charge_order
|
||||
where charge_order_id = #{chargingOrderId}
|
||||
</select>
|
||||
|
||||
<select id="getOperatorMessage" resultType="map">
|
||||
@ -422,6 +427,7 @@
|
||||
</insert>
|
||||
|
||||
<insert id="addUserAccountStatement">
|
||||
INSERT INTO xhpc_user_account_statement(user_id,amount,remaining_sum,charge_order_id,type,create_time) values(#{userId},#{amount},#{remainingSum},#{chargeOrderId},#{type},#{date})
|
||||
INSERT INTO xhpc_user_account_statement(user_id, amount, remaining_sum, charge_order_id, type, create_time)
|
||||
values (#{userId}, #{amount}, #{remainingSum}, #{chargeOrderId}, #{type}, #{date})
|
||||
</insert>
|
||||
</mapper>
|
||||
@ -79,7 +79,6 @@ public class RealtimeDataLogic implements ServiceLogic {
|
||||
String soc = realtimeData.getSoc();
|
||||
String pkey = "pile:".concat(pileNo);
|
||||
Map<String, Object> cachePile = REDIS.getCacheMap(pkey);
|
||||
String stationTermStatusKey = "stationTerminalStatus:".concat(cachePile.get("stationId").toString());
|
||||
String statusOrSOC;
|
||||
Integer socInt = Integer.parseInt(soc, 16);
|
||||
if (statusplain.equals("充电中")) {
|
||||
@ -91,6 +90,7 @@ public class RealtimeDataLogic implements ServiceLogic {
|
||||
cacheGun.put("status", statusOrSOC);
|
||||
cacheGun.put("remainingTime", tr);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
String stationTermStatusKey = "stationTerminalStatus:".concat(cachePile.get("stationId").toString());
|
||||
Map<String, Object> cacheTerminalStatusMap = REDIS.getCacheMap(stationTermStatusKey);
|
||||
cacheTerminalStatusMap.put(terminalId, statusOrSOC);
|
||||
REDIS.setCacheMap(stationTermStatusKey, cacheTerminalStatusMap);
|
||||
|
||||
@ -82,12 +82,16 @@ public class ChargingPileServer {
|
||||
Map<String, Object> cachePile = REDIS.getCacheMap(pkey);
|
||||
cachePile.put("status", DISCONNECTED);
|
||||
REDIS.setCacheMap(pkey, cachePile);
|
||||
String stationTermStatusKey = "stationTerminalStatus:".concat(cachePile.get("stationId").toString());
|
||||
for (int i = 1; i <= (int) cachePile.get("gunNum"); i++) {
|
||||
String gunkey = "gun:".concat(pileNo).concat(String.format("%02d", i));
|
||||
Map<String, Object> cacheGun = REDIS.getCacheMap(gunkey);
|
||||
if (!cacheGun.isEmpty()) {
|
||||
cacheGun.put("status", DISCONNECTED);
|
||||
REDIS.setCacheMap(gunkey, cacheGun);
|
||||
Map<String, Object> cacheTerminalStatusMap = REDIS.getCacheMap(stationTermStatusKey);
|
||||
cacheTerminalStatusMap.put(gunkey, DISCONNECTED);
|
||||
REDIS.setCacheMap(stationTermStatusKey, cacheTerminalStatusMap);
|
||||
String orderkey = (String) cacheGun.get("orderkey");
|
||||
if (orderkey != null) {
|
||||
Map<String, Object> cacheOrder = REDIS.getCacheMap(orderkey);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user