From 8749db96edc44e76a9b2ecaf0332e8c0f34fbb5b Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 08 八月 2023 14:58:59 +0800
Subject: [PATCH] 优化代码
---
service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeCreateOrderV1InnerServiceSMOImpl.java | 140 +++++++++++++++++++++-------------------------
1 files changed, 63 insertions(+), 77 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeCreateOrderV1InnerServiceSMOImpl.java b/service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeCreateOrderV1InnerServiceSMOImpl.java
index 6b49ba3..abe0eaf 100644
--- a/service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeCreateOrderV1InnerServiceSMOImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/smo/impl/TempCarFeeCreateOrderV1InnerServiceSMOImpl.java
@@ -1,22 +1,23 @@
package com.java110.fee.smo.impl;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.couponUser.CouponUserDto;
-import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
+import com.java110.dto.parking.ParkingAreaDto;
+import com.java110.dto.parking.ParkingCouponCarDto;
+import com.java110.dto.fee.TempCarPayOrderDto;
import com.java110.fee.bmo.tempCarFee.IGetTempCarFeeRules;
import com.java110.intf.acct.ICouponUserDetailV1InnerServiceSMO;
import com.java110.intf.acct.ICouponUserV1InnerServiceSMO;
+import com.java110.intf.acct.IParkingCouponCarOrderV1InnerServiceSMO;
+import com.java110.intf.acct.IParkingCouponCarV1InnerServiceSMO;
+import com.java110.intf.community.IParkingAreaV1InnerServiceSMO;
import com.java110.intf.fee.ITempCarFeeCreateOrderV1InnerServiceSMO;
-import com.java110.po.couponUser.CouponUserPo;
-import com.java110.po.couponUserDetail.CouponUserDetailPo;
-import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo;
+import com.java110.po.parking.ParkingCouponCarPo;
+import com.java110.po.parking.ParkingCouponCarOrderPo;
import com.java110.utils.cache.CommonCache;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -25,7 +26,6 @@
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
-import java.util.Arrays;
import java.util.List;
@RestController
@@ -39,12 +39,25 @@
@Autowired
private ICouponUserDetailV1InnerServiceSMO couponUserDetailV1InnerServiceSMOImpl;
+ @Autowired
+ private IParkingCouponCarV1InnerServiceSMO parkingCouponCarV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IParkingCouponCarOrderV1InnerServiceSMO parkingCouponCarOrderV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IParkingAreaV1InnerServiceSMO parkingAreaV1InnerServiceSMOImpl;
+
+
@Override
public ResponseEntity<String> createOrder(@RequestBody JSONObject reqJson) {
TempCarPayOrderDto tempCarPayOrderDto = new TempCarPayOrderDto();
tempCarPayOrderDto.setPaId(reqJson.getString("paId"));
tempCarPayOrderDto.setCarNum(reqJson.getString("carNum"));
+ if(reqJson.containsKey("couponIds")&& !StringUtil.isEmpty(reqJson.getString("couponIds"))) {
+ tempCarPayOrderDto.setPccIds(reqJson.getString("couponIds").split(","));
+ }
ResponseEntity<String> responseEntity = getTempCarFeeRulesImpl.getTempCarFeeOrder(tempCarPayOrderDto);
if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -57,10 +70,11 @@
JSONObject fee = orderInfo.getJSONObject("data");
//double money = fee.getDouble("payCharge");
- BigDecimal money = new BigDecimal(fee.getDouble("payCharge"));
- //3.0 鑰冭檻浼樻儬鍗�
- double couponPrice = checkCouponUser(reqJson);
- money = money.subtract(new BigDecimal(couponPrice)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
+ BigDecimal money = new BigDecimal(fee.getDouble("amount"));
+ //3.0 鑰冭檻浼樻儬鍗� 杩欓噷涓嶈�冭檻浜� 鍥犱负 鐗╄仈缃戝钩鍙板凡缁� 鑰冭檻杩囦簡
+
+ // double couponPrice = checkCouponUser(reqJson);
+ //money = money.subtract(new BigDecimal(couponPrice)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
double receivedAmount = money.doubleValue();
//鎵�鏈� 浼樻儬鎶樻墸璁$畻瀹屽悗锛屽鏋滄�婚噾棰濆皬浜庣瓑浜�0锛屽垯杩斿洖鎬绘墸娆句负0
@@ -86,82 +100,54 @@
throw new CmdException("宸茬粡澶勭悊杩囦簡 鍐嶄笉澶勭悊");
}
JSONObject paramObj = JSONObject.parseObject(paramIn);
+
+ ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+ parkingAreaDto.setPaId(paramObj.getString("paId"));
+ List<ParkingAreaDto> parkingAreaDtos = parkingAreaV1InnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+ if(parkingAreaDtos == null || parkingAreaDtos.size()<1){
+ paramObj.put("communityId","-1");
+ }else{
+ paramObj.put("communityId",parkingAreaDtos.get(0).getCommunityId());
+ }
paramObj.putAll(reqJson);
- modifyCouponUser(paramObj);
TempCarPayOrderDto tempCarPayOrderDto = BeanConvertUtil.covertBean(paramObj, TempCarPayOrderDto.class);
+ dealParkingCouponCar(paramObj,tempCarPayOrderDto);
ResponseEntity<String> responseEntity = getTempCarFeeRulesImpl.notifyTempCarFeeOrder(tempCarPayOrderDto);
return responseEntity;
}
- private double checkCouponUser(JSONObject paramObj) {
- BigDecimal couponPrice = new BigDecimal(0.0);
- String couponIds = paramObj.getString("couponIds");
- if (couponIds == null || "".equals(couponIds)) {
- paramObj.put("couponPrice", couponPrice.doubleValue());
- paramObj.put("couponUserDtos", new JSONArray()); //杩欓噷鑰冭檻绌�
- return couponPrice.doubleValue();
+
+ private void dealParkingCouponCar(JSONObject reqJson,TempCarPayOrderDto tempCarPayOrderDto) {
+ //澶勭悊鍋滆溅鍔�
+
+ if(!reqJson.containsKey("couponIds") || StringUtil.isEmpty(reqJson.getString("couponIds"))) {
+ return ;
}
- List<String> result = Arrays.asList(couponIds.split(","));
- CouponUserDto couponUserDto = new CouponUserDto();
- couponUserDto.setCouponIds(result.toArray(new String[result.size()]));
- List<CouponUserDto> couponUserDtos = couponUserV1InnerServiceSMOImpl.queryCouponUsers(couponUserDto);
- if (couponUserDtos == null || couponUserDtos.size() < 1) {
- paramObj.put("couponPrice", couponPrice.doubleValue());
- return couponPrice.doubleValue();
- }
- for (CouponUserDto couponUser : couponUserDtos) {
- //涓嶈绠楀凡杩囨湡璐墿鍒搁噾棰�
- if (couponUser.getEndTime().compareTo(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B)) >= 0) {
- couponPrice = couponPrice.add(new BigDecimal(Double.parseDouble(couponUser.getActualPrice())));
- }
- }
- paramObj.put("couponPrice", couponPrice.doubleValue());
- paramObj.put("couponUserDtos", BeanConvertUtil.beanCovertJSONArray(couponUserDtos));
- return couponPrice.doubleValue();
- }
+ String[] pccIds = reqJson.getString("couponIds").split(",");
+ ParkingCouponCarPo parkingCouponCarPo = null;
+ ParkingCouponCarOrderPo parkingCouponCarOrderPo = null;
+ for(String pccId: pccIds){
+ parkingCouponCarPo = new ParkingCouponCarPo();
+ parkingCouponCarPo.setPccId(pccId);
+ parkingCouponCarPo.setState(ParkingCouponCarDto.STATE_FINISH);
+ parkingCouponCarV1InnerServiceSMOImpl.updateParkingCouponCar(parkingCouponCarPo);
- private void modifyCouponUser(JSONObject paramObj) {
- if (!paramObj.containsKey("couponPrice") || paramObj.getDouble("couponPrice") <= 0) {
- return;
- }
- //FeeDto feeInfo = (FeeDto) paramObj.get("feeInfo");
- CouponUserDto couponUserDto = null;
- JSONArray couponUserDtos = paramObj.getJSONArray("couponUserDtos");
- CouponUserDto couponUser = null;
- for (int accountIndex = 0; accountIndex < couponUserDtos.size(); accountIndex++) {
- couponUser = BeanConvertUtil.covertBean(couponUserDtos.getJSONObject(accountIndex), CouponUserDto.class);
- couponUserDto = new CouponUserDto();
- couponUserDto.setCouponId(couponUser.getCouponId());
- couponUserDto.setState(CouponUserDto.COUPON_STATE_RUN);
- List<CouponUserDto> couponUserDtos1 = couponUserV1InnerServiceSMOImpl.queryCouponUsers(couponUserDto);
- if (couponUserDtos1 == null || couponUserDtos1.size() < 1) {
- throw new CmdException("浼樻儬鍒歌浣跨敤");
- }
- CouponUserPo couponUserPo = new CouponUserPo();
- couponUserPo.setState(CouponUserDto.COUPON_STATE_STOP);
- couponUserPo.setCouponId(couponUser.getCouponId());
- int fage = couponUserV1InnerServiceSMOImpl.updateCouponUser(couponUserPo);
- if (fage < 1) {
- throw new CmdException("鏇存柊浼樻儬鍗蜂俊鎭け璐�");
- }
- CouponUserDetailPo couponUserDetailPo = new CouponUserDetailPo();
- couponUserDetailPo.setUoId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_usId));
- couponUserDetailPo.setCouponId(couponUser.getCouponId());
- couponUserDetailPo.setUserId(couponUser.getUserId());
- couponUserDetailPo.setCouponName(couponUser.getCouponName());
- couponUserDetailPo.setUserName(couponUser.getUserName());
- couponUserDetailPo.setObjId(paramObj.getString("carNum"));
- couponUserDetailPo.setObjType("杞﹁締");
- couponUserDetailPo.setOrderId(paramObj.getString("oId"));
- fage = couponUserDetailV1InnerServiceSMOImpl.saveCouponUserDetail(couponUserDetailPo);
- if (fage < 1) {
- throw new CmdException("鏂板浼樻儬鍗蜂娇鐢ㄨ褰曚俊鎭け璐�");
- }
+ parkingCouponCarOrderPo = new ParkingCouponCarOrderPo();
+ parkingCouponCarOrderPo.setOrderId(GenerateCodeFactory.getGeneratorId("11"));
+ parkingCouponCarOrderPo.setCarNum(reqJson.getString("carNum"));
+ parkingCouponCarOrderPo.setCarOutId("-1");
+ parkingCouponCarOrderPo.setCommunityId(reqJson.getString("communityId"));
+ parkingCouponCarOrderPo.setMachineId("-1");
+ parkingCouponCarOrderPo.setMachineName("鏈煡");
+ parkingCouponCarOrderPo.setPaId(reqJson.getString("paId"));
+ parkingCouponCarOrderPo.setPccId(pccId);
+ parkingCouponCarOrderPo.setRemark("鎵嬫満绔敮浠樺仠杞﹀姷鎶垫墸");
+
+ parkingCouponCarOrderV1InnerServiceSMOImpl.saveParkingCouponCarOrder(parkingCouponCarOrderPo);
}
- paramObj.put("remark", paramObj.getString("remark") + "-浼樻儬鍔垫姷鎵�" + paramObj.getDouble("couponPrice") + "鍏�");
-
+ tempCarPayOrderDto.setPccIds(pccIds);
}
}
--
Gitblit v1.8.0