update 会员充值余额时,将充值金额添加到正在充电的订单中(仅限卡启动、VIN启动)

This commit is contained in:
Lemon
2023-06-20 16:13:25 +08:00
parent 6e2ee7f794
commit a21751b723
4 changed files with 35 additions and 15 deletions

View File

@@ -26,17 +26,9 @@ import com.jsowell.common.util.JWTUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.common.util.id.SnowflakeIdWorker;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberInvoiceTitle;
import com.jsowell.pile.domain.MemberPlateNumberRelation;
import com.jsowell.pile.domain.MemberWalletInfo;
import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.service.IMemberInvoiceTitleService;
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.service.*;
import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.MemberPlateNumberVO;
@@ -91,6 +83,12 @@ public class MemberService {
@Autowired
private IMemberInvoiceTitleService memberInvoiceTitleService;
@Autowired
private PileRemoteService pileRemoteService;
@Autowired
private IOrderBasicInfoService orderBasicInfoService;
@Autowired
private OrderService orderService;
@@ -495,6 +493,11 @@ public class MemberService {
return null;
}
/**
* 充值订单金额
* @param dto
* @throws ParseException
*/
public void rechargeOrderAmount(RechargeOrderAmountDTO dto) throws ParseException {
// 根据memberId查询出当前用户正在充电的 vin启动订单 或 卡启动订单
UniAppQueryOrderDTO orderDTO = new UniAppQueryOrderDTO();
@@ -511,13 +514,25 @@ public class MemberService {
if (StringUtils.equals(orderVO.getStartMode(), StartModeEnum.AUTH_CARD.getValue())
|| StringUtils.equals(orderVO.getStartMode(), StartModeEnum.OFFLINE_CARD.getValue())
|| StringUtils.equals(orderVO.getStartMode(), StartModeEnum.VIN_CODE.getValue())) {
// 将充值后的余额计算出来
BigDecimal rechargeAmount = new BigDecimal(dto.getRechargeAmount());
orderVO.setPayAmount(orderVO.getPayAmount().add(rechargeAmount));
BigDecimal payAmount = orderVO.getPayAmount().add(rechargeAmount);
orderVO.setPayAmount(payAmount);
// 发送0x41指令更新账户余额
RemoteAccountBalanceUpdateDTO remoteDTO = new RemoteAccountBalanceUpdateDTO();
remoteDTO.setPileSn(orderVO.getPileSn());
remoteDTO.setConnectorCode(orderVO.getConnectorCode());
remoteDTO.setAccountBalance(String.valueOf(orderVO.getPayAmount()));
pileRemoteService.remoteAccountBalanceUpdate(remoteDTO);
// 将支付金额修改数据库
OrderBasicInfo basicInfo = new OrderBasicInfo();
basicInfo.setId(Long.parseLong(orderVO.getId()));
basicInfo.setPayAmount(payAmount);
orderBasicInfoService.updateOrderBasicInfo(basicInfo);
}
}
// 将充值后的余额计算出来
// 发送0x41指令更新账户余额
}
}

View File

@@ -201,10 +201,12 @@ public class PileRemoteService {
RemoteAccountBalanceUpdateCommand command = RemoteAccountBalanceUpdateCommand.builder()
.pileSn(dto.getPileSn())
.connectorCode(dto.getConnectorCode())
.logicCard(dto.getLogicCard())
.accountBalance(dto.getAccountBalance())
.build();
if (StringUtils.isNotBlank(dto.getLogicCard())) {
command.setLogicCard(dto.getLogicCard());
}
ykcPushCommandService.pushAccountBalanceUpdateCommand(command);
}

View File

@@ -12,6 +12,8 @@ import java.math.BigDecimal;
*/
@Data
public class OrderVO {
private String id;
/**
* 订单号
*/

View File

@@ -765,6 +765,7 @@
<select id="getListByMemberIdAndOrderStatus" resultType="com.jsowell.pile.vo.uniapp.OrderVO">
SELECT
t1.id,
t1.order_code as orderCode,
t1.order_status as orderStatus,
t1.reason,