From da3b5c72fa45bc26a9868c2b26e3efda14845179 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 17 四月 2023 01:01:36 +0800
Subject: [PATCH] 加入搜索
---
service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java | 115 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 61 insertions(+), 54 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java b/service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java
index 7678784..19cd090 100644
--- a/service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/chargeMachine/StartChargeCmd.java
@@ -1,6 +1,5 @@
package com.java110.common.cmd.chargeMachine;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.common.charge.IChargeCore;
import com.java110.core.annotation.Java110Cmd;
@@ -10,13 +9,12 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.account.AccountDto;
-import com.java110.dto.accountDetail.AccountDetailDto;
import com.java110.dto.chargeMachine.ChargeMachineDto;
-import com.java110.dto.chargeMachineOrder.ChargeMachineOrderDto;
-import com.java110.dto.chargeMachinePort.ChargeMachinePortDto;
-import com.java110.dto.chargeRuleFee.ChargeRuleFeeDto;
-import com.java110.dto.couponPropertyPoolConfig.CouponPropertyPoolConfigDto;
-import com.java110.dto.couponPropertyUser.CouponPropertyUserDto;
+import com.java110.dto.chargeMachine.ChargeMachineOrderDto;
+import com.java110.dto.chargeMachine.ChargeMachinePortDto;
+import com.java110.dto.chargeMachine.ChargeRuleFeeDto;
+import com.java110.dto.couponPool.CouponPropertyPoolConfigDto;
+import com.java110.dto.couponPool.CouponPropertyUserDto;
import com.java110.dto.user.UserDto;
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.acct.ICouponPropertyPoolConfigV1InnerServiceSMO;
@@ -27,6 +25,7 @@
import com.java110.po.accountDetail.AccountDetailPo;
import com.java110.po.chargeMachineOrder.ChargeMachineOrderPo;
import com.java110.po.chargeMachineOrderAcct.ChargeMachineOrderAcctPo;
+import com.java110.po.chargeMachineOrderCoupon.ChargeMachineOrderCouponPo;
import com.java110.po.chargeMachinePort.ChargeMachinePortPo;
import com.java110.po.couponPropertyUser.CouponPropertyUserPo;
import com.java110.utils.exception.CmdException;
@@ -82,6 +81,9 @@
@Autowired
private IChargeRuleFeeV1InnerServiceSMO chargeRuleFeeV1InnerServiceSMOImpl;
+ @Autowired
+ private IChargeMachineOrderCouponV1InnerServiceSMO chargeMachineOrderCouponV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
@@ -124,9 +126,9 @@
if (chargeRuleFeeDtos == null || chargeRuleFeeDtos.size() < 1) {
throw new CmdException("鏈缃厖鍊兼敹璐�");
}
- reqJson.put("durationPrice",chargeRuleFeeDtos.get(chargeRuleFeeDtos.size()-1).getDurationPrice());
+ reqJson.put("durationPrice", chargeRuleFeeDtos.get(chargeRuleFeeDtos.size() - 1).getDurationPrice());
- BigDecimal payMoneyDec = new BigDecimal(Double.parseDouble(chargeRuleFeeDtos.get(chargeRuleFeeDtos.size()-1).getDurationPrice()));
+ BigDecimal payMoneyDec = new BigDecimal(Double.parseDouble(chargeRuleFeeDtos.get(chargeRuleFeeDtos.size() - 1).getDurationPrice()));
double payMoney = payMoneyDec.multiply(new BigDecimal(duration)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
@@ -252,17 +254,14 @@
}
resultVo.setData(orderId);
- double couponDurationHours = 0.0;
- //鎵f
- if (reqJson.containsKey("couponIds") && !StringUtil.isEmpty(reqJson.getString("couponIds"))) {
- //todo 浼樻儬鍒告姷鎵�
- couponDurationHours = withholdCoupon(reqJson, chargeMachineDtos, orderId);
- }
- if (durationHours - couponDurationHours > 0) {
- // todo 3.0 璐︽埛鎵f
- withholdAccount(reqJson, chargeMachineDtos, orderId, durationHours, couponDurationHours);
- }
+ //todo 浼樻儬鍒告姷鎵�
+ withholdCoupon(reqJson, chargeMachineDtos, orderId);
+
+
+ // todo 3.0 璐︽埛棰勬墸娆�
+ withholdAccount(reqJson, chargeMachineDtos, orderId, durationHours);
+
context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
}
@@ -274,10 +273,14 @@
* @param chargeMachineDtos
* @param orderId
*/
- private double withholdCoupon(JSONObject reqJson, List<ChargeMachineDto> chargeMachineDtos, String orderId) {
+ private void withholdCoupon(JSONObject reqJson, List<ChargeMachineDto> chargeMachineDtos, String orderId) {
+ if (!reqJson.containsKey("couponIds") || StringUtil.isEmpty(reqJson.getString("couponIds"))) {
+ return;
+ }
int flag;
- double hours = 0;
- String couponNames = "";
+// double hours = 0;
+// String couponNames = "";
+ ChargeMachineOrderCouponPo chargeMachineOrderCouponPo = null;
for (String couponId : reqJson.getString("couponIds").split(",")) {
String requestId = DistributedLock.getLockUUID();
String key = this.getClass().getSimpleName() + reqJson.getString("couponId");
@@ -301,8 +304,6 @@
throw new CmdException("鏍搁攢澶辫触");
}
- couponNames += ("浼樻儬鍒稿悕绉帮細" + couponPropertyUserDtos.get(0).getCouponName() + ",浼樻儬鍒哥紪鍙凤細" + couponId + ";");
-
CouponPropertyPoolConfigDto couponPropertyPoolConfigDto = new CouponPropertyPoolConfigDto();
couponPropertyPoolConfigDto.setCouponId(couponPropertyUserDtos.get(0).getCppId());
couponPropertyPoolConfigDto.setColumnKey("hours");
@@ -311,30 +312,43 @@
Assert.listOnlyOne(couponPropertyPoolConfigDtos, "鏈寘鍚紭鎯犲埜閰嶇疆淇℃伅");
double value = Double.parseDouble(couponPropertyPoolConfigDtos.get(0).getColumnValue());
- hours += value;
+
+ chargeMachineOrderCouponPo = new ChargeMachineOrderCouponPo();
+ chargeMachineOrderCouponPo.setCouponId(couponId);
+ chargeMachineOrderCouponPo.setCouponName(couponPropertyUserDtos.get(0).getCouponName());
+ chargeMachineOrderCouponPo.setOrderId(orderId);
+ chargeMachineOrderCouponPo.setCommunityId(chargeMachineDtos.get(0).getCommunityId());
+ chargeMachineOrderCouponPo.setState("W");
+ chargeMachineOrderCouponPo.setCmocId(GenerateCodeFactory.getGeneratorId("11"));
+ chargeMachineOrderCouponPo.setHours(value + "");
+ chargeMachineOrderCouponV1InnerServiceSMOImpl.saveChargeMachineOrderCoupon(chargeMachineOrderCouponPo);
+
+// couponNames += ("浼樻儬鍒稿悕绉帮細" + couponPropertyUserDtos.get(0).getCouponName() + "(" + couponId + "),灏忔椂锛�"+value+";");
+//
+// hours += value;
} finally {
DistributedLock.releaseDistributedLock(requestId, key);
}
}
- hours = Math.ceil(hours);
+// hours = Math.ceil(hours);
- ChargeMachineOrderAcctPo chargeMachineOrderAcctPo = new ChargeMachineOrderAcctPo();
- chargeMachineOrderAcctPo.setAcctDetailId("-1");
- chargeMachineOrderAcctPo.setAmount("0");
- chargeMachineOrderAcctPo.setCmoaId(GenerateCodeFactory.getGeneratorId("11"));
- chargeMachineOrderAcctPo.setOrderId(orderId);
- chargeMachineOrderAcctPo.setAcctId(reqJson.getString("acctId"));
- chargeMachineOrderAcctPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- chargeMachineOrderAcctPo.setEndTime(DateUtil.getAddHoursStringA(DateUtil.getCurrentDate(), new Double(hours).intValue()));
- chargeMachineOrderAcctPo.setRemark("浼樻儬鍒告姷鎵�," + couponNames);
- chargeMachineOrderAcctPo.setCommunityId(chargeMachineDtos.get(0).getCommunityId());
- chargeMachineOrderAcctPo.setEnergy("0");
- chargeMachineOrderAcctPo.setDurationPrice(reqJson.getString("durationPrice"));
+// ChargeMachineOrderAcctPo chargeMachineOrderAcctPo = new ChargeMachineOrderAcctPo();
+// chargeMachineOrderAcctPo.setAcctDetailId("-1");
+// chargeMachineOrderAcctPo.setAmount("0");
+// chargeMachineOrderAcctPo.setCmoaId(GenerateCodeFactory.getGeneratorId("11"));
+// chargeMachineOrderAcctPo.setOrderId(orderId);
+// chargeMachineOrderAcctPo.setAcctId(reqJson.getString("acctId"));
+// chargeMachineOrderAcctPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+// chargeMachineOrderAcctPo.setEndTime(DateUtil.getAddHoursStringA(DateUtil.getCurrentDate(), new Double(hours).intValue()));
+// chargeMachineOrderAcctPo.setRemark("浼樻儬鍒告姷鎵�," + couponNames);
+// chargeMachineOrderAcctPo.setCommunityId(chargeMachineDtos.get(0).getCommunityId());
+// chargeMachineOrderAcctPo.setEnergy("0");
+// chargeMachineOrderAcctPo.setDurationPrice(reqJson.getString("durationPrice"));
+//
+// chargeMachineOrderAcctV1InnerServiceSMOImpl.saveChargeMachineOrderAcct(chargeMachineOrderAcctPo);
- chargeMachineOrderAcctV1InnerServiceSMOImpl.saveChargeMachineOrderAcct(chargeMachineOrderAcctPo);
-
- return hours;
+// return hours;
}
/**
@@ -344,20 +358,17 @@
* @param chargeMachineDtos
* @param orderId
*/
- private void withholdAccount(JSONObject reqJson, List<ChargeMachineDto> chargeMachineDtos, String orderId, double durationHours, double couponDurationHours) {
+ private void withholdAccount(JSONObject reqJson, List<ChargeMachineDto> chargeMachineDtos, String orderId, double durationHours) {
AccountDto accountDto = new AccountDto();
accountDto.setAcctId(reqJson.getString("acctId"));
List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
double amount = 0.0;
BigDecimal durationPrice = new BigDecimal(Double.parseDouble(reqJson.getString("durationPrice")));
- if (couponDurationHours > 0) {
- durationPrice = durationPrice.multiply(new BigDecimal(durationHours - couponDurationHours)).setScale(2, BigDecimal.ROUND_HALF_UP);
- amount = durationPrice.doubleValue();
- } else {
- durationPrice = durationPrice.multiply(new BigDecimal(durationHours)).setScale(2, BigDecimal.ROUND_HALF_UP);
- amount = durationPrice.doubleValue();
- }
+
+ durationPrice = durationPrice.multiply(new BigDecimal(durationHours)).setScale(2, BigDecimal.ROUND_HALF_UP);
+ amount = durationPrice.doubleValue();
+
AccountDetailPo accountDetailPo = new AccountDetailPo();
accountDetailPo.setAcctId(accountDtos.get(0).getAcctId());
@@ -373,11 +384,7 @@
chargeMachineOrderAcctPo.setCmoaId(GenerateCodeFactory.getGeneratorId("11"));
chargeMachineOrderAcctPo.setOrderId(orderId);
chargeMachineOrderAcctPo.setAcctId(accountDtos.get(0).getAcctId());
- if (couponDurationHours > 0) {
- chargeMachineOrderAcctPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- } else {
- chargeMachineOrderAcctPo.setStartTime(DateUtil.getAddHoursStringA(DateUtil.getCurrentDate(), new Double(Math.ceil(couponDurationHours)).intValue()));
- }
+ chargeMachineOrderAcctPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
chargeMachineOrderAcctPo.setEndTime(DateUtil.getAddHoursStringA(DateUtil.getCurrentDate(), new Double(Math.ceil(durationHours)).intValue()));
chargeMachineOrderAcctPo.setRemark("璐︽埛鎵f");
chargeMachineOrderAcctPo.setCommunityId(chargeMachineDtos.get(0).getCommunityId());
--
Gitblit v1.8.0