java110 лет назад: 4
Родитель
Сommit
7c0d8207a0
15 измененных файлов с 224 добавлено и 0 удалено
  1. 9 0
      java110-bean/src/main/java/com/java110/dto/carInoutPayment/CarInoutPaymentDto.java
  2. 9 0
      java110-bean/src/main/java/com/java110/dto/machine/CarInoutDto.java
  3. 18 0
      java110-db/src/main/resources/mapper/common/CarInoutPaymentV1ServiceDaoImplMapper.xml
  4. 3 0
      java110-interface/src/main/java/com/java110/intf/common/ICarInoutPaymentV1InnerServiceSMO.java
  5. 3 0
      java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
  6. 24 0
      service-common/src/main/java/com/java110/common/cmd/carInout/UpdateCarInoutCarNumCmd.java
  7. 91 0
      service-common/src/main/java/com/java110/common/cmd/carInoutPayment/ListCarInoutPaymentSummaryCmd.java
  8. 2 0
      service-common/src/main/java/com/java110/common/dao/ICarInoutPaymentV1ServiceDao.java
  9. 6 0
      service-common/src/main/java/com/java110/common/dao/impl/CarInoutPaymentV1ServiceDaoImpl.java
  10. 5 0
      service-common/src/main/java/com/java110/common/smo/impl/CarInoutPaymentV1InnerServiceSMOImpl.java
  11. 12 0
      service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java
  12. 3 0
      service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java
  13. 24 0
      service-job/src/main/java/com/java110/job/adapt/hcIot/GetTempCarFeeOrderAdapt.java
  14. 5 0
      service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java
  15. 10 0
      service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/carInoutPayment/CarInoutPaymentDto.java

@@ -35,6 +35,8 @@ public class CarInoutPaymentDto extends PageDto implements Serializable {
     private String stateName;
     private String inTime;
 
+    private String boxId;
+
 
     private Date createTime;
 
@@ -43,6 +45,13 @@ public class CarInoutPaymentDto extends PageDto implements Serializable {
     private String startTime;
     private String endTime;
 
+    public String getBoxId() {
+        return boxId;
+    }
+
+    public void setBoxId(String boxId) {
+        this.boxId = boxId;
+    }
 
     public String getRealCharge() {
         return realCharge;

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/machine/CarInoutDto.java

@@ -30,6 +30,7 @@ public class CarInoutDto extends CarInoutPaymentDto implements Serializable {
     private String inTime;
     private String inoutId;
     private String carNum;
+    private String oldCarNum;
     private String state;
     private String stateName;
     private String[] states;
@@ -225,4 +226,12 @@ public class CarInoutDto extends CarInoutPaymentDto implements Serializable {
     public void setEndTime(String endTime) {
         this.endTime = endTime;
     }
+
+    public String getOldCarNum() {
+        return oldCarNum;
+    }
+
+    public void setOldCarNum(String oldCarNum) {
+        this.oldCarNum = oldCarNum;
+    }
 }

+ 18 - 0
java110-db/src/main/resources/mapper/common/CarInoutPaymentV1ServiceDaoImplMapper.xml

@@ -190,4 +190,22 @@
         </if>
 
     </select>
+
+    <select id="queryCarInoutPaymentSummary" parameterType="Map" resultType="Map">
+        select DATE_FORMAT(t.create_time,'%Y-%m-%d') createTime,sum(real_charge) realChargeTotal
+        from car_inout_payment t
+        LEFT JOIN parking_area pa on t.pa_id = pa.pa_id and pa.status_cd = '0'
+        LEFT join parking_box_area pba on pa.pa_id = pba.pa_id and pba.status_cd = '0'
+        where t.status_cd = '0'
+        and pba.box_id = #{boxId}
+        <if test="startTime !=null and startTime != ''">
+            and t.create_time &gt; #{startTime}
+        </if>
+        <if test="endTime !=null and endTime != ''">
+            and t.create_time &lt; #{endTime}
+        </if>
+        group by DATE_FORMAT(t.create_time,'%Y-%m-%d')
+    </select>
+
+
 </mapper>

+ 3 - 0
java110-interface/src/main/java/com/java110/intf/common/ICarInoutPaymentV1InnerServiceSMO.java

@@ -67,4 +67,7 @@ public interface ICarInoutPaymentV1InnerServiceSMO {
     int queryCarInoutPaymentsCount(@RequestBody CarInoutPaymentDto carInoutPaymentDto);
     @RequestMapping(value = "/queryCarInoutPaymentMarjor", method = RequestMethod.POST)
     List<CarInoutPaymentDto> queryCarInoutPaymentMarjor(@RequestBody CarInoutPaymentDto carInoutPaymentDto);
+
+    @RequestMapping(value = "/queryCarInoutPaymentSummary", method = RequestMethod.POST)
+    List<CarInoutPaymentDto> queryCarInoutPaymentSummary(@RequestBody CarInoutPaymentDto carInoutPaymentDto);
 }

+ 3 - 0
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java

@@ -3,6 +3,7 @@ package com.java110.intf.job;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
+import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
@@ -104,4 +105,6 @@ public interface IDataBusInnerServiceSMO {
 
     @RequestMapping(value = "/heartbeatVideo", method = RequestMethod.POST)
     ResultVo heartbeatVideo(@RequestBody JSONObject reqJson);
+    @RequestMapping(value = "/updateCarInoutCarNum", method = RequestMethod.POST)
+    ResultVo updateCarInoutCarNum(@RequestBody CarInoutDto carInoutDto);
 }

+ 24 - 0
service-common/src/main/java/com/java110/common/cmd/carInout/UpdateCarInoutCarNumCmd.java

@@ -25,6 +25,7 @@ import com.java110.core.log.LoggerFactory;
 import com.java110.dto.machine.CarInoutDto;
 import com.java110.intf.common.ICarInoutDetailV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.po.car.CarInoutDetailPo;
 import com.java110.po.car.CarInoutPo;
 import com.java110.utils.exception.CmdException;
@@ -59,12 +60,25 @@ public class UpdateCarInoutCarNumCmd extends Cmd {
     @Autowired
     private ICarInoutDetailV1InnerServiceSMO carInoutDetailV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "inoutId", "inoutId不能为空");
         Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
         Assert.hasKeyAndValue(reqJson, "carNum", "车牌号不能为空");
 
+        CarInoutDto carInoutDto = new CarInoutDto();
+        carInoutDto.setCarNum(reqJson.getString("carNum"));
+        carInoutDto.setCommunityId(reqJson.getString("communityId"));
+        carInoutDto.setStates(new String[]{CarInoutDto.STATE_IN,CarInoutDto.STATE_REPAY});
+        List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+
+       if(carInoutDtos != null && carInoutDtos.size() > 0){
+           throw new CmdException("车牌已进场");
+       }
+
     }
 
     @Override
@@ -78,6 +92,13 @@ public class UpdateCarInoutCarNumCmd extends Cmd {
 
         Assert.listOnlyOne(carInoutDtos,"进出明细不存在");
 
+        carInoutDto = carInoutDtos.get(0);
+        carInoutDto.setOldCarNum(carInoutDto.getCarNum());
+        carInoutDto.setCarNum(reqJson.getString("carNum"));
+
+        //调用物理网 修改 车牌号
+        dataBusInnerServiceSMOImpl.updateCarInoutCarNum(carInoutDto);
+
         CarInoutPo carInoutPo = new CarInoutPo();
         carInoutPo.setInoutId(reqJson.getString("inoutId"));
         carInoutPo.setCarNum(reqJson.getString("carNum"));
@@ -95,6 +116,9 @@ public class UpdateCarInoutCarNumCmd extends Cmd {
         if (flag < 1) {
             throw new CmdException("更新数据失败");
         }
+
+
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 91 - 0
service-common/src/main/java/com/java110/common/cmd/carInoutPayment/ListCarInoutPaymentSummaryCmd.java

@@ -0,0 +1,91 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.common.cmd.carInoutPayment;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.log.LoggerFactory;
+import com.java110.dto.carInoutPayment.CarInoutPaymentDto;
+import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 类表述:查询
+ * 服务编码:carInoutPayment.listCarInoutPayment
+ * 请求路劲:/app/carInoutPayment.ListCarInoutPayment
+ * add by 吴学文 at 2021-10-14 15:03:12 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "carInoutPayment.listCarInoutPaymentSummary")
+public class ListCarInoutPaymentSummaryCmd extends Cmd {
+
+    private static Logger logger = LoggerFactory.getLogger(ListCarInoutPaymentSummaryCmd.class);
+    @Autowired
+    private ICarInoutPaymentV1InnerServiceSMO carInoutPaymentV1InnerServiceSMOImpl;
+    @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+        Assert.hasKeyAndValue(reqJson, "boxId", "未包含岗亭信息");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        CarInoutPaymentDto carInoutPaymentDto = BeanConvertUtil.covertBean(reqJson, CarInoutPaymentDto.class);
+        carInoutPaymentDto.setBoxId(reqJson.getString("boxId"));
+
+        if(StringUtil.isEmpty(carInoutPaymentDto.getStartTime())){
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.MONTH,-1);
+            carInoutPaymentDto.setStartTime(DateUtil.getFormatTimeString(calendar.getTime(),DateUtil.DATE_FORMATE_STRING_B));
+        }
+        if(StringUtil.isEmpty(carInoutPaymentDto.getEndTime())){
+            carInoutPaymentDto.setEndTime(DateUtil.getFormatTimeString(new Date(),DateUtil.DATE_FORMATE_STRING_B));
+        }
+        List<CarInoutPaymentDto> carInoutPaymentDtos = carInoutPaymentV1InnerServiceSMOImpl.queryCarInoutPaymentSummary(carInoutPaymentDto);
+
+        ResultVo resultVo = new ResultVo(1, 1, carInoutPaymentDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+}

+ 2 - 0
service-common/src/main/java/com/java110/common/dao/ICarInoutPaymentV1ServiceDao.java

@@ -76,4 +76,6 @@ public interface ICarInoutPaymentV1ServiceDao {
     int queryCarInoutPaymentsCount(Map info);
 
     List<Map> queryCarInoutPaymentMarjor(Map info);
+
+    List<Map>  queryCarInoutPaymentSummary(Map info);
 }

+ 6 - 0
service-common/src/main/java/com/java110/common/dao/impl/CarInoutPaymentV1ServiceDaoImpl.java

@@ -123,6 +123,12 @@ public class CarInoutPaymentV1ServiceDaoImpl extends BaseServiceDao implements I
         return businessCarInoutPaymentInfos;
     }
 
+    public List<Map>  queryCarInoutPaymentSummary(Map info) throws DAOException{
+        logger.debug("查询 queryCarInoutPaymentSummary 入参 info : {}",info);
+        List<Map> businessCarInoutPaymentInfos = sqlSessionTemplate.selectList("carInoutPaymentV1ServiceDaoImpl.queryCarInoutPaymentSummary",info);
+        return businessCarInoutPaymentInfos;
+    }
+
 
 
 }

+ 5 - 0
service-common/src/main/java/com/java110/common/smo/impl/CarInoutPaymentV1InnerServiceSMOImpl.java

@@ -91,5 +91,10 @@ public class CarInoutPaymentV1InnerServiceSMOImpl extends BaseServiceSMO impleme
     public List<CarInoutPaymentDto> queryCarInoutPaymentMarjor(@RequestBody CarInoutPaymentDto carInoutPaymentDto){
         return BeanConvertUtil.covertBeanList(carInoutPaymentV1ServiceDaoImpl.queryCarInoutPaymentMarjor(BeanConvertUtil.beanCovertMap(carInoutPaymentDto)),CarInoutPaymentDto.class);
     }
+    @Override
+    public List<CarInoutPaymentDto> queryCarInoutPaymentSummary(@RequestBody CarInoutPaymentDto carInoutPaymentDto){
+        return BeanConvertUtil.covertBeanList(carInoutPaymentV1ServiceDaoImpl.queryCarInoutPaymentSummary(BeanConvertUtil.beanCovertMap(carInoutPaymentDto)),CarInoutPaymentDto.class);
+    }
+
 
 }

+ 12 - 0
service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java

@@ -18,6 +18,7 @@ package com.java110.job.adapt;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.RestTemplate;
 import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
+import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
@@ -119,6 +120,17 @@ public abstract class DatabusAdaptImpl implements IDatabusAdapt {
     public ResultVo getTempCarFeeOrder(TempCarPayOrderDto tempCarPayOrderDto) {
         return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
     }
+    /**
+     * 修改在场车辆车牌号
+     *
+     * @param carInoutDto
+     * @return
+     */
+    @Override
+    public ResultVo updateCarInoutCarNum(CarInoutDto carInoutDto) {
+        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
+    }
+
 
     /**
      * 查询 临时车待支付订单

+ 3 - 0
service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java

@@ -17,6 +17,7 @@ package com.java110.job.adapt;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
+import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
@@ -82,4 +83,6 @@ public interface IDatabusAdapt {
     ResultVo payVideo(MachineDto machineDto);
 
     ResultVo heartbeatVideo(JSONObject reqJson);
+
+    ResultVo updateCarInoutCarNum(CarInoutDto carInoutDto);
 }

+ 24 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/GetTempCarFeeOrderAdapt.java

@@ -18,6 +18,7 @@ package com.java110.job.adapt.hcIot;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.RestTemplate;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.common.IMachineTranslateInnerServiceSMO;
@@ -80,4 +81,27 @@ public class GetTempCarFeeOrderAdapt extends DatabusAdaptImpl {
 
     }
 
+    /**
+     * 修改在场车辆车牌号
+     *
+     * @param carInoutDto
+     * @return
+     */
+    @Override
+    public ResultVo updateCarInoutCarNum(CarInoutDto carInoutDto) {
+        JSONObject postParameters = new JSONObject();
+        postParameters.put("taskId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
+        postParameters.put("carNum", carInoutDto.getCarNum());
+        postParameters.put("oldCarNum", carInoutDto.getOldCarNum());
+        postParameters.put("extPaId", carInoutDto.getPaId());
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders(outRestTemplate));
+        ResponseEntity<String> responseEntity = outRestTemplate.exchange(IotConstant.getUrl(IotConstant.UPDATE_CAR_INOUT_CAR_NUM), HttpMethod.POST, httpEntity, String.class);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return new ResultVo(ResultVo.CODE_ERROR, responseEntity.getBody());
+        }
+        JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+        return new ResultVo(paramOut.getInteger("code"), paramOut.getString("msg"), paramOut.getJSONObject("data"));
+    }
+
+
 }

+ 5 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java

@@ -85,6 +85,9 @@ public class IotConstant {
     //删除车辆
     public static final String DELETE_CAR_BLACK_WHITE_URL = "/extApi/car/deleteBlackWhite";
 
+    //修改车牌
+    public static final String UPDATE_CAR_INOUT_CAR_NUM = "/extApi/car/updateCarInoutCarNum";
+
     //开门接口
     public static final String OPEN_DOOR = "/extApi/machine/openDoor";
     //开门接口
@@ -110,6 +113,8 @@ public class IotConstant {
     //查询临时停车费订单
     public static final String GET_TEMP_CAR_FEE_ORDER = "/extApi/fee/getTempCarFeeOrder";
 
+
+
     //查询临时停车费订单
     public static final String NOTIFY_TEMP_CAR_FEE_ORDER = "/extApi/fee/notifyTempCarFeeOrder";
 

+ 10 - 0
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.businessDatabus.BusinessDatabusDto;
 import com.java110.dto.businessDatabus.CustomBusinessDatabusDto;
+import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
 import com.java110.entity.order.Business;
@@ -88,6 +89,9 @@ public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataB
         return databusAdaptImpl.heartbeatVideo(reqJson);
     }
 
+
+
+
     @Override
     public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
         IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_START_MACHINE_PROTOCOL, IDatabusAdapt.class);
@@ -108,6 +112,12 @@ public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataB
         return databusAdaptImpl.getTempCarFeeOrder(tempCarPayOrderDto);
     }
 
+    @Override
+    public ResultVo updateCarInoutCarNum(@RequestBody CarInoutDto carInoutDto) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_GET_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.updateCarInoutCarNum(carInoutDto);
+    }
+
     @Override
     public ResultVo notifyTempCarFeeOrder(@RequestBody TempCarPayOrderDto tempCarPayOrderDto) {
         IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_NOTIFY_TEMP_CAR_FEE_ORDER_PROTOCOL, IDatabusAdapt.class);