wuxw
2025-03-26 2ab97974bcc58b6ac15fdf33236c663a6125c473
service-fee/src/main/java/com/java110/fee/cmd/meter/AuditFloorShareReadingCmd.java
@@ -18,18 +18,27 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.context.CmdContextUtils;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.data.DatabusDataDto;
import com.java110.dto.floorShareReading.FloorShareReadingDto;
import com.java110.intf.fee.IFloorShareMeterV1InnerServiceSMO;
import com.java110.intf.fee.IFloorShareReadingV1InnerServiceSMO;
import com.java110.intf.job.IDataBusInnerServiceSMO;
import com.java110.po.floorShareMeter.FloorShareMeterPo;
import com.java110.po.floorShareReading.FloorShareReadingPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.ListUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
/**
@@ -51,10 +60,17 @@
    @Autowired
    private IFloorShareReadingV1InnerServiceSMO floorShareReadingV1InnerServiceSMOImpl;
    @Autowired
    private IFloorShareMeterV1InnerServiceSMO floorShareMeterV1InnerServiceSMOImpl;
    @Autowired
    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "readingId", "readingId不能为空");
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
        Assert.hasKeyAndValue(reqJson, "state", "审核状态不能为空");
        super.validateProperty(cmdDataFlowContext);
    }
@@ -62,13 +78,43 @@
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        FloorShareReadingPo floorShareReadingPo = BeanConvertUtil.covertBean(reqJson, FloorShareReadingPo.class);
        String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
        FloorShareReadingDto floorShareReadingDto = new FloorShareReadingDto();
        floorShareReadingDto.setReadingId(reqJson.getString("readingId"));
        floorShareReadingDto.setCommunityId(reqJson.getString("communityId"));
        List<FloorShareReadingDto> floorShareReadingDtos
                = floorShareReadingV1InnerServiceSMOImpl.queryFloorShareReadings(floorShareReadingDto);
        if (ListUtil.isNull(floorShareReadingDtos)) {
            throw new CmdException("记录不存在");
        }
        String state = reqJson.getString("state");
        FloorShareReadingPo floorShareReadingPo = new FloorShareReadingPo();
        floorShareReadingPo.setReadingId(reqJson.getString("readingId"));
        floorShareReadingPo.setState(state);
        floorShareReadingPo.setStatsMsg("审核意见:" + reqJson.getString("auditRemark"));
        int flag = floorShareReadingV1InnerServiceSMOImpl.updateFloorShareReading(floorShareReadingPo);
        if (flag < 1) {
            throw new CmdException("更新数据失败");
        }
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
        //todo
        if (FloorShareReadingDto.STATE_F.equals(state)) {
            FloorShareMeterPo floorShareMeterPo = new FloorShareMeterPo();
            floorShareMeterPo.setFsmId(floorShareReadingDtos.get(0).getFsmId());
            floorShareMeterPo.setCurReadingTime(floorShareReadingDtos.get(0).getPreReadingTime());
            floorShareMeterPo.setCurDegree(floorShareReadingDtos.get(0).getPreDegrees());
            floorShareMeterPo.setCommunityId(floorShareReadingDtos.get(0).getCommunityId());
            floorShareMeterV1InnerServiceSMOImpl.updateFloorShareMeter(floorShareMeterPo);
            return ;
        }
        reqJson.put("staffId",userId);
        dataBusInnerServiceSMOImpl.databusData(new DatabusDataDto(DatabusDataDto.BUSINESS_TYPE_SHARE_READING, reqJson));
    }
}