java110
2022-01-21 3c76b115b89ac09b941b89781d458035e3d1ad9d
小区支持小数点配置
8个文件已修改
1个文件已添加
148 ■■■■ 已修改文件
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/cmd/machine/HeartbeatCameraCmd.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/cmd/machine/PlayCameraCmd.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/hcIot/OpenDoorAdapt.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java
@@ -93,4 +93,7 @@
    @RequestMapping(value = "/payVideo", method = RequestMethod.POST)
    ResultVo payVideo(@RequestBody MachineDto machineDto);
    @RequestMapping(value = "/heartbeatVideo", method = RequestMethod.POST)
    ResultVo heartbeatVideo(@RequestBody JSONObject reqJson);
}
service-common/src/main/java/com/java110/common/cmd/machine/HeartbeatCameraCmd.java
New file
@@ -0,0 +1,69 @@
/*
 * 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.machine;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.AbstractServiceCmdListener;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.log.LoggerFactory;
import com.java110.intf.common.IMachineInnerServiceSMO;
import com.java110.intf.job.IDataBusInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * 类表述:摄像头播放
 * 服务编码:machine.openParkingAreaDoorControlLog
 * 请求路劲:/app/machine.openParkingAreaDoorControlLog
 * add by 吴学文 at 2021-09-18 13:35:13 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 = "machine.heartbeatCamera")
public class HeartbeatCameraCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(HeartbeatCameraCmd.class);
    @Autowired
    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
    @Autowired
    IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "machineId", "未包含摄像头");
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        Assert.hasKeyAndValue(reqJson, "callIds", "未包含callIds");
        ResultVo resultVo = dataBusInnerServiceSMOImpl.heartbeatVideo(reqJson);
        cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(resultVo));
    }
}
service-common/src/main/java/com/java110/common/cmd/machine/PlayCameraCmd.java
@@ -43,7 +43,7 @@
 * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
 * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
 */
@Java110Cmd(serviceCode = "machine.playCameraCmd")
@Java110Cmd(serviceCode = "machine.playCamera")
public class PlayCameraCmd extends AbstractServiceCmdListener {
    private static Logger logger = LoggerFactory.getLogger(PlayCameraCmd.class);
service-fee/src/main/java/com/java110/fee/bmo/impl/QueryOweFeeImpl.java
@@ -1,6 +1,7 @@
package com.java110.fee.bmo.impl;
import com.alibaba.fastjson.JSONArray;
import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.factory.Java110ThreadPoolFactory;
import com.java110.core.smo.IComputeFeeSMO;
import com.java110.dto.RoomDto;
@@ -164,7 +165,11 @@
        feeDto.setFeePrice(Double.parseDouble(feePriceAll.get("feePrice").toString()));
        feeDto.setFeeTotalPrice(Double.parseDouble(feePriceAll.get("feeTotalPrice").toString()));
        //应收款取值
        String val = MappingCache.getValue(DOMAIN_COMMON, TOTAL_FEE_PRICE);
        //先取单小区的如果没有配置 取 全局的
        String val = CommunitySettingFactory.getValue(feeDto.getCommunityId(),TOTAL_FEE_PRICE);
        if(StringUtil.isEmpty(val)){
            val = MappingCache.getValue(DOMAIN_COMMON, TOTAL_FEE_PRICE);
        }
        feeDto.setVal(val);
        String received_amount_switch = MappingCache.getValue(DOMAIN_COMMON, RECEIVED_AMOUNT_SWITCH);
        if (StringUtil.isEmpty(received_amount_switch)) {
service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java
@@ -22,7 +22,6 @@
import com.java110.dto.tempCarFeeConfig.TempCarPayOrderDto;
import com.java110.entity.order.Business;
import com.java110.job.adapt.hcIot.GetToken;
import com.java110.po.machine.MachineRecordPo;
import com.java110.vo.ResultVo;
import org.springframework.http.HttpHeaders;
@@ -69,6 +68,11 @@
    @Override
    public ResultVo payVideo(MachineDto machineDto) {
        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
    }
    @Override
    public ResultVo heartbeatVideo(JSONObject reqJson) {
        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
    }
@@ -128,11 +132,13 @@
    public void execute(Business business, List<Business> businesses) throws Exception {
    }
    /**
     * 手工 送数据
     *
     * @param customBusinessDatabusDto
     */
    public void customExchange(CustomBusinessDatabusDto customBusinessDatabusDto){
    public void customExchange(CustomBusinessDatabusDto customBusinessDatabusDto) {
    }
}
service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java
@@ -74,4 +74,6 @@
    ResultVo customCarInOut(JSONObject reqJson);
    ResultVo payVideo(MachineDto machineDto);
    ResultVo heartbeatVideo(JSONObject reqJson);
}
service-job/src/main/java/com/java110/job/adapt/hcIot/IotConstant.java
@@ -87,6 +87,15 @@
    //手动进出场
    public static final String CUSTOM_CAR_INOUT = "/extApi/machine/customCarInOut";
    //播放视频
    public static final String PLAY_VIDEO = "/extApi/machine/playVideo";
    //结束视频
    public static final String BYE_VIDEO = "/extApi/machine/byeVideo";
    //心跳视频
    public static final String HEARTBEAT_VIDEO = "/extApi/machine/heartbeatVideo";
    //获取二维码
    public static final String GET_QRCODE = "/extApi/machine/getQRcode";
    //重启接口
service-job/src/main/java/com/java110/job/adapt/hcIot/OpenDoorAdapt.java
@@ -175,20 +175,32 @@
    @Override
    public ResultVo payVideo(MachineDto machineDto) {
//        JSONObject postParameters = new JSONObject();
//        postParameters.put("taskId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
//        postParameters.put("extMachineId", paramIn.getString("machineId"));
//        postParameters.put("carNum", paramIn.getString("carNum"));
//        postParameters.put("type", paramIn.getString("type"));
//        postParameters.put("amount", paramIn.getString("amount"));
//        postParameters.put("payCharge", paramIn.getString("payCharge"));
//        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders(outRestTemplate));
//        ResponseEntity<String> responseEntity = outRestTemplate.exchange(IotConstant.getUrl(IotConstant.CUSTOM_CAR_INOUT), HttpMethod.POST, httpEntity, String.class);
//        if (responseEntity.getStatusCode() != HttpStatus.OK) {
//            return new ResultVo(ResultVo.CODE_ERROR, responseEntity.getBody());
//        }
//        JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
        JSONObject paramOut = new JSONObject();
        JSONObject postParameters = new JSONObject();
        postParameters.put("taskId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
        postParameters.put("deviceId", machineDto.getMachineCode());
        postParameters.put("channelId", machineDto.getMachineVersion());
        postParameters.put("mediaProtocol", "UDP");
        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders(outRestTemplate));
        ResponseEntity<String> responseEntity = outRestTemplate.exchange(IotConstant.getUrl(IotConstant.PLAY_VIDEO), 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"));
    }
    @Override
    public ResultVo heartbeatVideo(JSONObject reqJson) {
        JSONObject postParameters = new JSONObject();
        postParameters.put("taskId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_machineTranslateId));
        postParameters.put("callIds", reqJson.getString("callIds"));
        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters.toJSONString(), getHeaders(outRestTemplate));
        ResponseEntity<String> responseEntity = outRestTemplate.exchange(IotConstant.getUrl(IotConstant.HEARTBEAT_VIDEO), 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"));
    }
}
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java
@@ -77,6 +77,12 @@
    }
    @Override
    public ResultVo heartbeatVideo(@RequestBody JSONObject reqJson) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.heartbeatVideo(reqJson);
    }
    @Override
    public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_START_MACHINE_PROTOCOL, IDatabusAdapt.class);
        return databusAdaptImpl.restartMachine(reqJson);