java110 hace 4 años
padre
commit
ff9e7dee60

+ 6 - 6
java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml

@@ -63,18 +63,12 @@
         <if test="inTime !=null and inTime != ''">
             , t.in_time= #{inTime}
         </if>
-        <if test="paId !=null and paId != ''">
-            , t.pa_id= #{paId}
-        </if>
         <if test="carNum !=null and carNum != ''">
             , t.car_num= #{carNum}
         </if>
         <if test="state !=null and state != ''">
             , t.state= #{state}
         </if>
-        <if test="communityId !=null and communityId != ''">
-            , t.community_id= #{communityId}
-        </if>
         <if test="outTime !=null and outTime != ''">
             , t.out_time= #{outTime}
         </if>
@@ -82,6 +76,12 @@
         <if test="inoutId !=null and inoutId != ''">
             and t.inout_id= #{inoutId}
         </if>
+        <if test="paId !=null and paId != ''">
+            and t.pa_id= #{paId}
+        </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
 
     </update>
 

+ 0 - 195
service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineUploadCarLogListener.java

@@ -1,195 +0,0 @@
-package com.java110.api.listener.machineTranslate;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.machineTranslate.IMachineTranslateBMO;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.machine.CarInoutDto;
-import com.java110.dto.machine.MachineDto;
-import com.java110.intf.common.*;
-import com.java110.intf.community.ICommunityInnerServiceSMO;
-import com.java110.utils.constant.ResponseConstant;
-import com.java110.utils.constant.ServiceCodeMachineTranslateConstant;
-import com.java110.utils.exception.ListenerExecuteException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.StringUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 调用地址
- * http://api.demo.winqi.cn/api/machineTranslate.machineUploadFaceLog?app_id=992019111002270001&communityId=7020181217000001&transaction_id=-1&req_time=20181113225612&user_id=-1
- * 硬件获取用户信息
- */
-@Java110Listener("machineUploadCarLogListener")
-public class MachineUploadCarLogListener extends BaseMachineListener {
-
-    @Autowired
-    private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
-
-    @Autowired
-    private IMachineTranslateBMO machineTranslateBMOImpl;
-
-    @Autowired
-    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
-
-    @Autowired
-    private ICarInoutInnerServiceSMO carInoutInnerServiceSMOImpl;
-
-    @Autowired
-    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
-
-    @Autowired
-    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
-
-    @Autowired
-    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
-
-    @Autowired
-    private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
-
-    /**
-     * @param event   事件对象
-     * @param reqJson 请求报文数据
-     */
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        // Assert.hasKeyAndValue(reqJson, "faceid", "请求报文中未包含用户ID");
-        super.validateMachineHeader(event, reqJson);
-        //Assert.hasKeyAndValue(reqJson, "machineCode", "必填,请填写设备编码");
-        //Assert.hasKeyAndValue(reqJson, "photo", "必填,请填写用户照片信息");
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        ResponseEntity<String> responseEntity = null;
-        JSONObject outParam = null;
-
-        try {
-            Map<String, String> reqHeader = context.getRequestHeaders();
-            //判断是否是心跳类过来的
-            if (!super.validateMachineBody(event, context, reqJson, machineInnerServiceSMOImpl)) {
-                return;
-            }
-            outParam = new JSONObject();
-            outParam.put("code", 0);
-            outParam.put("message", "success");
-            JSONArray data = null;
-            reqJson.put("communityId", reqJson.containsKey("communityId") ? reqJson.getString("communityId") : reqHeader.get("communityId"));
-            HttpHeaders httpHeaders = super.getHeader(context);
-
-            reqJson.put("fileId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
-
-            //判断是否有 进场记录
-            CarInoutDto carInoutDto = new CarInoutDto();
-            carInoutDto.setCommunityId(reqJson.getString("communityId"));
-            carInoutDto.setCarNum(reqJson.getString("carNum"));
-            carInoutDto.setStates(new String[]{"100300", "100400", "100600"});
-            List<CarInoutDto> carInoutDtos = carInoutInnerServiceSMOImpl.queryCarInouts(carInoutDto);
-            MachineDto machineDto = new MachineDto();
-            machineDto.setMachineId(reqJson.getString("communityId"));
-            machineDto.setMachineCode(reqJson.getString("communityId"));
-
-            if (carInoutDtos == null || carInoutDtos.size() < 1) {
-                //添加单元信息
-                machineTranslateBMOImpl.addCarInout(reqJson, context, reqJson.getString("communityId"));
-                machineDto.setDirection("3306");
-            } else {
-                CarInoutDto tmpCarInoutDto = new CarInoutDto();
-                tmpCarInoutDto.setInoutId(carInoutDtos.get(0).getInoutId());
-                tmpCarInoutDto.setCommunityId(reqJson.getString("communityId"));
-                machineTranslateBMOImpl.modifyCarInout(reqJson, context, tmpCarInoutDto, "100500", reqJson.getString("outTime"));
-                machineDto.setDirection("3307");
-            }
-
-            machineTranslateBMOImpl.addCarInoutDetail(reqJson, context, reqJson.getString("communityId"), machineDto);
-
-            reqJson.put("machineRecordId", reqJson.getString("detailId"));
-            reqJson.put("relTypeCd", "15000");
-            //保存文件信息
-            if(reqJson.containsKey("photo") && !StringUtil.isEmpty(reqJson.getString("reqJson"))){
-                machineTranslateBMOImpl.savePhoto(reqJson, context);
-            }
-            commit(context);
-            responseEntity = context.getResponseEntity();
-            if (responseEntity.getStatusCode() != HttpStatus.OK) {
-                throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "上报记录失败" + responseEntity);
-            }
-            outParam = new JSONObject();
-            outParam.put("code", 0);
-            outParam.put("message", "success");
-            outParam.put("data", data);
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), httpHeaders, HttpStatus.OK);
-            context.setResponseEntity(responseEntity);
-        } catch (Exception e) {
-            outParam.put("code", -1);
-            outParam.put("message", e.getMessage());
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), HttpStatus.OK);
-            context.setResponseEntity(responseEntity);
-        }
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeMachineTranslateConstant.MACHINE_UPLOAD_CAR_LOG;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-
-    public IMachineTranslateInnerServiceSMO getMachineTranslateInnerServiceSMOImpl() {
-        return machineTranslateInnerServiceSMOImpl;
-    }
-
-    public void setMachineTranslateInnerServiceSMOImpl(IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl) {
-        this.machineTranslateInnerServiceSMOImpl = machineTranslateInnerServiceSMOImpl;
-    }
-
-    public IMachineInnerServiceSMO getMachineInnerServiceSMOImpl() {
-        return machineInnerServiceSMOImpl;
-    }
-
-    public void setMachineInnerServiceSMOImpl(IMachineInnerServiceSMO machineInnerServiceSMOImpl) {
-        this.machineInnerServiceSMOImpl = machineInnerServiceSMOImpl;
-    }
-
-    public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
-        return communityInnerServiceSMOImpl;
-    }
-
-    public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
-        this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
-    }
-
-    public IFileRelInnerServiceSMO getFileRelInnerServiceSMOImpl() {
-        return fileRelInnerServiceSMOImpl;
-    }
-
-    public void setFileRelInnerServiceSMOImpl(IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl) {
-        this.fileRelInnerServiceSMOImpl = fileRelInnerServiceSMOImpl;
-    }
-
-    public IFileInnerServiceSMO getFileInnerServiceSMOImpl() {
-        return fileInnerServiceSMOImpl;
-    }
-
-    public void setFileInnerServiceSMOImpl(IFileInnerServiceSMO fileInnerServiceSMOImpl) {
-        this.fileInnerServiceSMOImpl = fileInnerServiceSMOImpl;
-    }
-}

+ 30 - 5
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java

@@ -18,6 +18,7 @@ import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
 import com.java110.intf.common.ICarInoutDetailV1InnerServiceSMO;
+import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
@@ -30,6 +31,7 @@ import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
 import com.java110.po.car.CarInoutDetailPo;
 import com.java110.po.car.CarInoutPo;
 import com.java110.po.car.OwnerCarPo;
+import com.java110.po.carInoutPayment.CarInoutPaymentPo;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.PayFeePo;
 import com.java110.po.owner.OwnerPo;
@@ -94,6 +96,9 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
     @Autowired
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
+    @Autowired
+    private ICarInoutPaymentV1InnerServiceSMO carInoutPaymentV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "machineCode", "必填,请填写设备编码");
@@ -129,13 +134,11 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
             tempCar = CAR_TYPE_NO_DATA;
         } else {
             reqJson.put("carId", ownerCarDtos.get(0).getCarId());
+            if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarType())) {
+                tempCar = CAR_TYPE_TEMP;
+            }
         }
 
-        if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarType())) {
-            tempCar = CAR_TYPE_TEMP;
-        }
-
-
         //进场处理
         if (MachineDto.DIRECTION_IN.equals(machineDtos.get(0).getDirection())) {
             carIn(reqJson, machineDtos.get(0), tempCar);
@@ -199,8 +202,30 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
 
         //将状态更新为 出场状态
 
+        CarInoutPo carInoutPo = new CarInoutPo();
+        carInoutPo.setPaId(carInoutDtos.get(0).getPaId());
+        carInoutPo.setOutTime(reqJson.getString("outTime"));
+        carInoutPo.setInoutId(carInoutDtos.get(0).getInoutId());
+        carInoutPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
+        carInoutPo.setState(CarInoutDto.STATE_OUT);
+        flag = carInoutV1InnerServiceSMOImpl.updateCarInout(carInoutPo);
 
+        if (flag < 1) {
+            throw new CmdException("更新出场时间失败");
+        }
 
+        //写支付记录
+        CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
+        carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
+        carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
+        carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
+        carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
+        carInoutPaymentPo.setPayType(reqJson.getString("payType"));
+        carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
+        flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
+        if (flag < 1) {
+            throw new CmdException("更新出场时间失败");
+        }
     }
 
     /**