Browse Source

无牌车校验

wuxw 3 years ago
parent
commit
a63e8303d3

+ 53 - 0
service-common/src/main/java/com/java110/common/cmd/machine/CustomCarInOutCmd.java

@@ -15,6 +15,7 @@
  */
 package com.java110.common.cmd.machine;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
 import com.java110.common.dao.ICarBlackWhiteServiceDao;
@@ -27,11 +28,16 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.machine.CarBlackWhiteDto;
 import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
+import com.java110.dto.parkingCouponCar.ParkingCouponCarDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
+import com.java110.intf.acct.IParkingCouponCarOrderV1InnerServiceSMO;
+import com.java110.intf.acct.IParkingCouponCarV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
 import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
+import com.java110.po.parkingCouponCar.ParkingCouponCarPo;
+import com.java110.po.parkingCouponCarOrder.ParkingCouponCarOrderPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
@@ -42,6 +48,7 @@ import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -77,6 +84,13 @@ public class CustomCarInOutCmd extends Cmd {
     @Autowired
     private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IParkingCouponCarV1InnerServiceSMO parkingCouponCarV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingCouponCarOrderV1InnerServiceSMO parkingCouponCarOrderV1InnerServiceSMOImpl;
+
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
@@ -148,6 +162,8 @@ public class CustomCarInOutCmd extends Cmd {
             tempCarPayOrderDto.setAmount(Double.parseDouble(reqJson.getString("amount")));
             tempCarPayOrderDto.setPayCharge(Double.parseDouble(reqJson.getString("payCharge")));
             tempCarPayOrderDto.setPayType(reqJson.getString("payType"));
+            //处理优惠券
+            dealParkingCouponCar(reqJson,tempCarPayOrderDto);
             //tempCarPayOrderDto.setMachineId(reqJson.getString("machineId"));
              resultVo = dataBusInnerServiceSMOImpl.notifyTempCarFeeOrder(tempCarPayOrderDto);
             if(resultVo.getCode() != ResultVo.CODE_OK){
@@ -157,4 +173,41 @@ public class CustomCarInOutCmd extends Cmd {
         ResponseEntity<String> responseEntity = machineOpenDoorBMOImpl.customCarInOut(reqJson);
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
+
+    private void dealParkingCouponCar(JSONObject reqJson,TempCarPayOrderDto tempCarPayOrderDto) {
+        //处理停车劵
+
+        if(!reqJson.containsKey("pccIds")) {
+            return ;
+        }
+
+        JSONArray pccIds = reqJson.getJSONArray("pccIds");
+        ParkingCouponCarPo parkingCouponCarPo = null;
+        ParkingCouponCarOrderPo parkingCouponCarOrderPo = null;
+        String pccId = "";
+        List<String> tmpPccIds = new ArrayList<>();
+        for(int pccIndex = 0;pccIndex <  pccIds.size();pccIndex++){
+            pccId = pccIds.getString(pccIndex);
+            tmpPccIds.add(pccId);
+            parkingCouponCarPo = new ParkingCouponCarPo();
+            parkingCouponCarPo.setPccId(pccId);
+            parkingCouponCarPo.setState(ParkingCouponCarDto.STATE_FINISH);
+            parkingCouponCarV1InnerServiceSMOImpl.updateParkingCouponCar(parkingCouponCarPo);
+
+            parkingCouponCarOrderPo = new ParkingCouponCarOrderPo();
+            parkingCouponCarOrderPo.setOrderId(GenerateCodeFactory.getGeneratorId("11"));
+            parkingCouponCarOrderPo.setCarNum(reqJson.getString("carNum"));
+            parkingCouponCarOrderPo.setCarOutId("-1");
+            parkingCouponCarOrderPo.setCommunityId(reqJson.getString("communityId"));
+            parkingCouponCarOrderPo.setMachineId(StringUtil.isEmpty(reqJson.getString("machineId"))?"-1":reqJson.getString("machineId"));
+            parkingCouponCarOrderPo.setMachineName("未知");
+            parkingCouponCarOrderPo.setPaId(reqJson.getString("paId"));
+            parkingCouponCarOrderPo.setPccId(pccId);
+            parkingCouponCarOrderPo.setRemark("pc端支付停车劵抵扣");
+
+            parkingCouponCarOrderV1InnerServiceSMOImpl.saveParkingCouponCarOrder(parkingCouponCarOrderPo);
+        }
+
+        tempCarPayOrderDto.setPccIds(tmpPccIds.toArray(new String[tmpPccIds.size()]));
+    }
 }