mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
生成占桩订单
This commit is contained in:
@@ -1,22 +1,18 @@
|
||||
package com.jsowell.api.uniapp;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.jsowell.common.annotation.Anonymous;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.controller.BaseController;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.response.RestApiResponse;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ykcCommond.RemoteControlGroundLockCommand;
|
||||
import com.jsowell.pile.dto.GenerateOccupyOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryConnectorListDTO;
|
||||
import com.jsowell.pile.dto.QueryStationDTO;
|
||||
import com.jsowell.pile.dto.RemoteGroundLockDTO;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.vo.uniapp.BillingPriceVO;
|
||||
import com.jsowell.pile.vo.uniapp.GroundLockInfoVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -149,33 +145,21 @@ public class PileController extends BaseController {
|
||||
|
||||
/**
|
||||
* 远程遥控地锁指令 + 生成占桩订单
|
||||
* @param command
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/remoteGroundLock")
|
||||
public RestApiResponse<?> remoteGroundLock(HttpServletRequest request, @RequestBody RemoteControlGroundLockCommand command) {
|
||||
logger.info("遥控地锁指令 params:{}", JSONObject.toJSONString(command));
|
||||
public RestApiResponse<?> remoteGroundLock(HttpServletRequest request, @RequestBody RemoteGroundLockDTO dto) {
|
||||
logger.info("遥控地锁指令 params:{}", JSONObject.toJSONString(dto));
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
ykcPushCommandService.pushRemoteControlGroundLock(command);
|
||||
if (StringUtils.equals(command.getOperate(), Constants.ONE)) {
|
||||
// 升锁不生成占桩订单
|
||||
return new RestApiResponse<>();
|
||||
// 校验参数
|
||||
if (StringUtils.isBlank(dto.getPileSn()) || StringUtils.isBlank(dto.getConnectorCode())
|
||||
|| StringUtils.isBlank(dto.getOperate())) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
// 获取memberId
|
||||
String memberId = getMemberIdByAuthorization(request);
|
||||
if (StringUtils.isEmpty(memberId)) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_TOKEN_ERROR);
|
||||
}
|
||||
GenerateOccupyOrderDTO dto = new GenerateOccupyOrderDTO();
|
||||
dto.setMemberId(memberId);
|
||||
dto.setPileSn(command.getPileSn());
|
||||
dto.setConnectorCode(command.getConnectorCode());
|
||||
// 生成占桩订单(草稿单)
|
||||
String occupyOrderCode = orderPileOccupyService.generateOccupyPileOrder(dto);
|
||||
if (StringUtils.isNotBlank(occupyOrderCode)) {
|
||||
response = new RestApiResponse<>(ImmutableMap.of("occupyOrderCode", occupyOrderCode));
|
||||
}
|
||||
dto.setMemberId(getMemberIdByAuthorization(request));
|
||||
orderPileOccupyService.remoteGroundLock(dto);
|
||||
response = new RestApiResponse<>();
|
||||
} catch (Exception e) {
|
||||
logger.error("遥控地锁指令 error, ", e);
|
||||
response = new RestApiResponse<>(e);
|
||||
|
||||
@@ -6,7 +6,7 @@ package com.jsowell.common.enums.uniapp;
|
||||
* @author Lemon
|
||||
* @Date 2023/8/18 9:49
|
||||
*/
|
||||
public enum OrderPileOccupyPayStatusEnum {
|
||||
public enum OccupyOrderPayStatusEnum {
|
||||
UN_PAY("0", "未支付"),
|
||||
PAYMENT_COMPLETION("1", "支付完成"),
|
||||
NO_PAYMENT_REQUIRED("2", "无需支付"),
|
||||
@@ -31,7 +31,7 @@ public enum OrderPileOccupyPayStatusEnum {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
OrderPileOccupyPayStatusEnum(String code, String value) {
|
||||
OccupyOrderPayStatusEnum(String code, String value) {
|
||||
this.code = code;
|
||||
this.value = value;
|
||||
}
|
||||
@@ -42,7 +42,7 @@ public enum OrderPileOccupyPayStatusEnum {
|
||||
* @return
|
||||
*/
|
||||
public static String getValueByCode(String code) {
|
||||
for (OrderPileOccupyPayStatusEnum item : OrderPileOccupyPayStatusEnum.values()) {
|
||||
for (OccupyOrderPayStatusEnum item : OccupyOrderPayStatusEnum.values()) {
|
||||
if (item.getCode().equals(code)) {
|
||||
return item.getValue();
|
||||
}
|
||||
@@ -6,7 +6,7 @@ package com.jsowell.common.enums.uniapp;
|
||||
* @author Lemon
|
||||
* @Date 2023/8/18 9:41
|
||||
*/
|
||||
public enum OrderPileOccupyStatusEnum {
|
||||
public enum OccupyOrderStatusEnum {
|
||||
OCCUPIED("0", "占桩中"),
|
||||
ORDER_COMPLETE("1", "订单完成"),
|
||||
ORDER_HANG_UP("2", "订单挂起"),
|
||||
@@ -32,7 +32,7 @@ public enum OrderPileOccupyStatusEnum {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
OrderPileOccupyStatusEnum(String code, String value) {
|
||||
OccupyOrderStatusEnum(String code, String value) {
|
||||
this.code = code;
|
||||
this.value = value;
|
||||
}
|
||||
@@ -43,7 +43,7 @@ public enum OrderPileOccupyStatusEnum {
|
||||
* @return
|
||||
*/
|
||||
public static String getValueByCode(String code) {
|
||||
for (OrderPileOccupyStatusEnum item : OrderPileOccupyStatusEnum.values()) {
|
||||
for (OccupyOrderStatusEnum item : OccupyOrderStatusEnum.values()) {
|
||||
if (item.getCode().equals(code)) {
|
||||
return item.getValue();
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.jsowell.netty.handler;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||
import com.jsowell.common.enums.uniapp.OccupyOrderStatusEnum;
|
||||
import com.jsowell.common.util.BytesUtil;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
@@ -71,18 +72,28 @@ public class RemoteControlGroundLockResponseHandler extends AbstractHandler{
|
||||
|
||||
if (StringUtils.equals(controlResult, "01")) {
|
||||
// 鉴权成功
|
||||
updateOrder(pileSn, connectorCode);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 降锁成功的时候调用
|
||||
* @param pileSn
|
||||
* @param connectorCode
|
||||
*/
|
||||
private void updateOrder(String pileSn, String connectorCode) {
|
||||
// 查出占桩订单,将开始时间set进订单信息
|
||||
OrderPileOccupy orderInfo = orderPileOccupyService.getOrderInfoByPile(pileSn, connectorCode);
|
||||
|
||||
if (orderInfo == null) {
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
if (Objects.isNull(orderInfo.getStartTime())) {
|
||||
orderInfo.setStatus(OccupyOrderStatusEnum.OCCUPIED.getValue());
|
||||
orderInfo.setStartTime(DateUtils.getNowDate());
|
||||
// 修改数据库
|
||||
orderPileOccupyService.updateByPrimaryKey(orderInfo);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.jsowell.pile.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RemoteGroundLockDTO {
|
||||
/**
|
||||
* 桩编号
|
||||
*/
|
||||
private String pileSn;
|
||||
|
||||
/**
|
||||
* 枪口编号
|
||||
*/
|
||||
private String connectorCode;
|
||||
|
||||
/**
|
||||
* 地锁操作
|
||||
* 0-降 1-升
|
||||
*/
|
||||
private String operate;
|
||||
|
||||
/**
|
||||
* 会员id
|
||||
*/
|
||||
private String memberId;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import com.jsowell.pile.domain.OrderPileOccupy;
|
||||
import com.jsowell.pile.dto.PayOrderDTO;
|
||||
import com.jsowell.pile.dto.GenerateOccupyOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryOccupyOrderDTO;
|
||||
import com.jsowell.pile.dto.RemoteGroundLockDTO;
|
||||
import com.jsowell.pile.vo.uniapp.OrderPileOccupyVO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -71,4 +72,10 @@ public interface OrderPileOccupyService{
|
||||
* @return
|
||||
*/
|
||||
OrderPileOccupy getOrderInfoByPile(String pileSn, String connectorCode);
|
||||
|
||||
/**
|
||||
* 控制地锁方法
|
||||
* @param dto
|
||||
*/
|
||||
void remoteGroundLock(RemoteGroundLockDTO dto);
|
||||
}
|
||||
|
||||
@@ -5,20 +5,18 @@ import com.jsowell.adapay.service.AdapayService;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.enums.DelFlagEnum;
|
||||
import com.jsowell.common.enums.MemberWalletEnum;
|
||||
import com.jsowell.common.enums.uniapp.OccupyOrderPayStatusEnum;
|
||||
import com.jsowell.common.enums.uniapp.OccupyOrderStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.OrderPayModeEnum;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.enums.uniapp.OrderPileOccupyPayStatusEnum;
|
||||
import com.jsowell.common.enums.uniapp.OrderPileOccupyStatusEnum;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.PageUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.common.util.id.IdUtils;
|
||||
import com.jsowell.pile.domain.OrderPileOccupy;
|
||||
import com.jsowell.pile.dto.PayOrderDTO;
|
||||
import com.jsowell.pile.dto.GenerateOccupyOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryOccupyOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||
import com.jsowell.pile.domain.ykcCommond.RemoteControlGroundLockCommand;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.mapper.OrderPileOccupyMapper;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
@@ -28,6 +26,7 @@ import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||
import com.jsowell.pile.vo.web.OrderListVO;
|
||||
import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -58,6 +57,12 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService {
|
||||
@Resource
|
||||
private IMemberBasicInfoService memberBasicInfoService;
|
||||
|
||||
@Autowired
|
||||
private YKCPushCommandService ykcPushCommandService;
|
||||
|
||||
@Autowired
|
||||
private OrderPileOccupyService orderPileOccupyService;
|
||||
|
||||
@Override
|
||||
public int deleteByPrimaryKey(Integer id) {
|
||||
return orderPileOccupyMapper.deleteByPrimaryKey(id);
|
||||
@@ -154,7 +159,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService {
|
||||
String occupyCode = "OP" + IdUtils.getOrderCode();
|
||||
orderPileOccupy.setOccupyCode(occupyCode);
|
||||
orderPileOccupy.setMemberId(memberId);
|
||||
orderPileOccupy.setStatus(OrderPileOccupyStatusEnum.DRAFT_ORDER.getCode()); // 占桩中
|
||||
orderPileOccupy.setStatus(OccupyOrderStatusEnum.DRAFT_ORDER.getCode()); // 占桩中
|
||||
orderPileOccupy.setPayStatus(Constants.ZERO); // 未支付
|
||||
orderPileOccupy.setPileSn(pileSn);
|
||||
PileInfoVO pileInfoVO = pileBasicInfoService.selectPileInfoBySn(pileSn);
|
||||
@@ -298,9 +303,9 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService {
|
||||
List<OrderPileOccupyVO> list = orderPileOccupyMapper.getOccupyOrderInfo(memberId);
|
||||
for (OrderPileOccupyVO orderPileOccupyVO : list) {
|
||||
// 订单状态
|
||||
orderPileOccupyVO.setStatus(OrderPileOccupyStatusEnum.getValueByCode(orderPileOccupyVO.getStatus()));
|
||||
orderPileOccupyVO.setStatus(OccupyOrderStatusEnum.getValueByCode(orderPileOccupyVO.getStatus()));
|
||||
// 支付状态
|
||||
orderPileOccupyVO.setPayStatus(OrderPileOccupyPayStatusEnum.getValueByCode(orderPileOccupyVO.getPayStatus()));
|
||||
orderPileOccupyVO.setPayStatus(OccupyOrderPayStatusEnum.getValueByCode(orderPileOccupyVO.getPayStatus()));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
@@ -315,6 +320,28 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService {
|
||||
public OrderPileOccupy getOrderInfoByPile(String pileSn, String connectorCode) {
|
||||
return orderPileOccupyMapper.getOrderInfoByPile(pileSn, connectorCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remoteGroundLock(RemoteGroundLockDTO dto) {
|
||||
// 控制地锁升降
|
||||
RemoteControlGroundLockCommand command = new RemoteControlGroundLockCommand();
|
||||
command.setPileSn(dto.getPileSn());
|
||||
command.setConnectorCode(dto.getConnectorCode());
|
||||
command.setOperate(dto.getOperate());
|
||||
ykcPushCommandService.pushRemoteControlGroundLock(command);
|
||||
|
||||
// 如果是降锁生成占桩订单
|
||||
if (StringUtils.equals(dto.getOperate(), Constants.ZERO)) {
|
||||
// 生成占桩订单
|
||||
GenerateOccupyOrderDTO generateOccupyOrderDTO = new GenerateOccupyOrderDTO();
|
||||
generateOccupyOrderDTO.setMemberId(dto.getMemberId());
|
||||
generateOccupyOrderDTO.setPileSn(dto.getPileSn());
|
||||
generateOccupyOrderDTO.setConnectorCode(dto.getConnectorCode());
|
||||
// 生成占桩订单(草稿单)
|
||||
orderPileOccupyService.generateOccupyPileOrder(generateOccupyOrderDTO);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 支付占桩订单
|
||||
*
|
||||
@@ -367,16 +394,16 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService {
|
||||
|
||||
// 更新占桩订单状态
|
||||
OrderPileOccupy orderPileOccupy = queryByOccupyCode(dto.getOrderCode());
|
||||
orderPileOccupy.setStatus(OrderPileOccupyStatusEnum.ORDER_COMPLETE.getValue());
|
||||
orderPileOccupy.setPayStatus(OrderPileOccupyPayStatusEnum.PAYMENT_COMPLETION.getValue());
|
||||
orderPileOccupy.setStatus(OccupyOrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||
orderPileOccupy.setPayStatus(OccupyOrderPayStatusEnum.PAYMENT_COMPLETION.getValue());
|
||||
updateByPrimaryKeySelective(orderPileOccupy);
|
||||
}
|
||||
|
||||
private void whiteListPayOccupyPileOrder(PayOrderDTO dto) {
|
||||
// 更新占桩订单状态
|
||||
OrderPileOccupy orderPileOccupy = queryByOccupyCode(dto.getOrderCode());
|
||||
orderPileOccupy.setStatus(OrderPileOccupyStatusEnum.ORDER_COMPLETE.getValue());
|
||||
orderPileOccupy.setPayStatus(OrderPileOccupyPayStatusEnum.NO_PAYMENT_REQUIRED.getValue());
|
||||
orderPileOccupy.setStatus(OccupyOrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||
orderPileOccupy.setPayStatus(OccupyOrderPayStatusEnum.NO_PAYMENT_REQUIRED.getValue());
|
||||
updateByPrimaryKeySelective(orderPileOccupy);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user