| | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.dy.common.multiDataSource.DataSourceContext; |
| | | import com.dy.common.mw.protocol.Command; |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.command.ComSupport; |
| | |
| | | import com.dy.pipIrrGlobal.daoPr.PrIntakeVcMapper; |
| | | import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper; |
| | | import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper; |
| | | import com.dy.pipIrrGlobal.daoSe.SeVirtualCardMapper; |
| | | import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory; |
| | | import com.dy.pipIrrGlobal.pojoSe.SeClientCard; |
| | | import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; |
| | | import com.dy.pipIrrGlobal.voRm.VoCommand; |
| | | import com.dy.pipIrrGlobal.voRm.VoUnclosedParam; |
| | | import com.dy.pipIrrGlobal.voRm.VoUnclosedValve; |
| | | import com.dy.pipIrrGlobal.voSe.VoVirtualCard; |
| | | import com.dy.pipIrrRemote.common.qo.QoCommand; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | |
| | | private final PrIntakeMapper prIntakeMapper; |
| | | private final PrWaterPriceMapper prWaterPriceMapper; |
| | | private final PrIntakeVcMapper prIntakeVcMapper; |
| | | private final SeClientCardMapper seClientCardMapper; |
| | | |
| | | /** |
| | | * pro_mw:属性 |
| | | * tag从控制器中获取 |
| | | * key_mw:url的key |
| | | */ |
| | | private Environment env = null; |
| | | private String pro_mw = "mw"; |
| | | private String key_mw = "comSendUrl"; |
| | | @Autowired |
| | | public CommandSv(RmCommandHistoryMapper rmCommandHistoryMapper, SeVirtualCardMapper seVirtualCardMapper, PrIntakeMapper prIntakeMapper, PrWaterPriceMapper prWaterPriceMapper, PrIntakeVcMapper prIntakeVcMapper, SeClientCardMapper seClientCardMapper, Environment env) { |
| | | this.rmCommandHistoryMapper = rmCommandHistoryMapper; |
| | | this.seVirtualCardMapper = seVirtualCardMapper; |
| | | this.prIntakeMapper = prIntakeMapper; |
| | | this.prWaterPriceMapper = prWaterPriceMapper; |
| | | this.prIntakeVcMapper = prIntakeVcMapper; |
| | | this.seClientCardMapper = seClientCardMapper; |
| | | this.env = env; |
| | | } |
| | | |
| | | /** |
| | | * 虚拟卡ID换虚拟卡对象 |
| | |
| | | */ |
| | | public Long insert(RmCommandHistory po) { |
| | | rmCommandHistoryMapper.insert(po); |
| | | return po.getId(); |
| | | return po.getComId(); |
| | | } |
| | | |
| | | /** |
| | |
| | | com.id = Command.defaultId; |
| | | com.code = "LCD0001"; |
| | | com.type = "innerCommand"; |
| | | comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); |
| | | |
| | | JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); |
| | | |
| | | if(response != null && response.getString("code").equals("0001")) { |
| | | JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); |
| | | HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); |
| | |
| | | * @return |
| | | */ |
| | | public VoUnclosedParam getUncloseParam(Long intakeId) { |
| | | return rmCommandHistoryMapper.getUncloseParam(intakeId); |
| | | Command com = new Command() ; |
| | | com.id = Command.defaultId; |
| | | com.code = "LCD0001"; |
| | | com.type = "innerCommand"; |
| | | comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw); |
| | | |
| | | JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com)); |
| | | if(response != null && response.getString("code").equals("0001")) { |
| | | JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment").getJSONObject("onLineMap"); |
| | | HashMap<String, Boolean> onLineMap = JSON.parseObject(attachment.toJSONString(), HashMap.class); |
| | | |
| | | JSONArray jsonArray = new JSONArray(); |
| | | for (Map.Entry<String, Boolean> entry : onLineMap.entrySet()) { |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("rtuAddr", entry.getKey()); |
| | | jsonObject.put("isOnLine", entry.getValue()); |
| | | jsonArray.add(jsonObject); |
| | | } |
| | | System.out.println(jsonArray); |
| | | return rmCommandHistoryMapper.getUncloseParam(jsonArray.toJSONString(), intakeId); |
| | | } else { |
| | | QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>(); |
| | | VoUnclosedParam voUnclosedParam = new VoUnclosedParam(); |
| | | return voUnclosedParam; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 根据水卡编号获取水卡对象,远程充值使用 |
| | | * @param cardId |
| | | * @return |
| | | */ |
| | | public SeClientCard geClientCardByCardId(Long cardId) { |
| | | return seClientCardMapper.selectByPrimaryKey(cardId); |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件获取命令日志历史记录 |
| | | * @param query |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoCommand>> getCommandHistories(QoCommand query) { |
| | | // 完善查询起止时间 |
| | | String timeStart = query.getTimeStart(); |
| | | String timeStop = query.getTimeStop(); |
| | | if(timeStart != null) { |
| | | timeStart = timeStart + " 00:00:00"; |
| | | query.setTimeStart(timeStart); |
| | | } |
| | | if(timeStop != null) { |
| | | timeStop = timeStop + " 23:59:59"; |
| | | query.setTimeStop(timeStop); |
| | | } |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(query); |
| | | |
| | | Long itemTotal = rmCommandHistoryMapper.getCommandHistoriesCount(params); |
| | | |
| | | QueryResultVo<List<VoCommand>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.pageSize = query.pageSize ; |
| | | rsVo.pageCurr = query.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = rmCommandHistoryMapper.getCommandHistories(params); |
| | | return rsVo ; |
| | | } |
| | | } |