123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.huimv.wine.ws.admin;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.alibaba.fastjson.JSONPObject;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.huimv.wine.common.EventWsErrUtil;
- import com.huimv.wine.entity.Manager;
- import com.huimv.wine.entity.Warn;
- import com.huimv.wine.entity.vo.*;
- import com.huimv.wine.mapper.WarnMapper;
- import com.huimv.wine.mapper.WineMapper;
- import com.huimv.wine.mapper.WorkerMapper;
- import com.huimv.wine.utils.Result;
- import com.huimv.wine.utils.SpringContextUtil;
- import com.huimv.wine.utils.WebsocketManagerUtil;
- import com.huimv.wine.utils.WebsocketWorkerUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import javax.websocket.Session;
- import java.util.ArrayList;
- import java.util.List;
- @Component
- public class AdminWine {
- public void handle(JSONObject message, Session session, Manager manager) {
- String event = message.getString("event");
- JSONObject data = message.getJSONObject("data");
- switch (event) {
- case "adminWineChangeQuery":
- query(session, manager, data);
- break;
- case "adminWineChangeQueryWine":
- queryWine(session, message.getString("data"));
- break;
- case "adminWineChangeQueryWorker":
- queryWorker(session, manager, message.getString("data"));
- break;
- case "adminWineChangeAssign":
- assign(session, manager, data);
- break;
- case "adminWineDeviceFix":
- deviceFix(session, manager, data);
- break;
- case "adminWineHistoryQueryWorker":
- historyQueryWorker(session, manager, data);
- break;
- case "adminWineHistoryQueryOrder":
- queryOrder(session, manager, data);
- break;
- case "adminWineHistoryOrderUpdate":
- orderUpdate(session, data);
- break;
- case "adminWineHistoryOrderDelete":
- orderDelete(session, data);
- break;
- default:
- WsEvent wsEvent = EventWsErrUtil.getWsErr("unrecognized event");
- WebsocketManagerUtil.sendMessage(session, wsEvent);
- break;
- }
- }
- private void query(Session session, Manager manager, JSONObject data) {
- WarnMapper warnMapper = SpringContextUtil.getBean(WarnMapper.class);
- AdminWineChangeQueryParam adminWineChangeQueryParam = JSONObject.toJavaObject(data,AdminWineChangeQueryParam.class);
- Page<WarnQueryResult> page = new Page<>(adminWineChangeQueryParam.getPage(),adminWineChangeQueryParam.getLimit());
- String like = "%s"+adminWineChangeQueryParam.getCond()+"%s";
- Page<WarnQueryResult> warnQueryResultPage = warnMapper.warnQuery(page,manager.getId(),adminWineChangeQueryParam.getDeal(),like);
- Page<WarnQueryResultVo> warnQueryResultVoPage = new Page<>();
- List warnQueryResultVoList = new ArrayList<>();
- for (WarnQueryResult record : warnQueryResultPage.getRecords()) {
- WarnQueryResultVo warnQueryResultVo = new WarnQueryResultVo();
- BeanUtil.copyProperties(record,warnQueryResultVo);
- List<WineWithIdNameRemainVo> olds = new ArrayList();
- olds.add(createWineWithIdNameRemain(record.getW1id(),record.getW1name(),record.getW1remain()));
- olds.add(createWineWithIdNameRemain(record.getW2id(),record.getW2name(),record.getW2remain()));
- olds.add(createWineWithIdNameRemain(record.getW3id(),record.getW3name(),record.getW3remain()));
- olds.add(createWineWithIdNameRemain(record.getW4id(),record.getW4name(),record.getW4remain()));
- warnQueryResultVo.setOld(olds);
- warnQueryResultVoList.add(warnQueryResultVo);
- }
- warnQueryResultVoPage.setRecords(warnQueryResultVoList);
- warnQueryResultVoPage.setCurrent(warnQueryResultPage.getCurrent());
- warnQueryResultVoPage.setTotal(warnQueryResultPage.getTotal());
- warnQueryResultVoPage.setCountId(warnQueryResultPage.getCountId());
- WsEvent wsEvent = new WsEvent("adminWineChangeQueryRes",Result.success(warnQueryResultVoPage));
- WebsocketWorkerUtil.sendMessage(session,wsEvent);
- }
- private void queryWine(Session session, String cond) {
- WineMapper wineMapper = SpringContextUtil.getBean(WineMapper.class);
- String like = "%"+cond+"%s";
- List<WineWithIdNameVo> wineWithIdNameVos = wineMapper.WinesQueryByIdOrName(like);
- WsEvent wsEvent = new WsEvent("adminWineChangeQueryWineRes",Result.success(wineWithIdNameVos));
- WebsocketWorkerUtil.sendMessage(session,wsEvent);
- }
- private void queryWorker(Session session, Manager manager, String cond) {
- WorkerMapper workerMapper = SpringContextUtil.getBean(WorkerMapper.class);
- String like = "%"+cond+"%s";
- List<WorkerWithIdPhoneName> workerWithIdPhoneNames = workerMapper.WorkersQueryByPhoneOrName(manager.getId(),like);
- WsEvent wsEvent = new WsEvent("adminWineChangeQueryWorkerRes",Result.success(workerWithIdPhoneNames));
- WebsocketWorkerUtil.sendMessage(session,wsEvent);
- }
- private void assign(Session session, Manager manager, JSONObject data) {
- WarnMapper warnMapper = SpringContextUtil.getBean(WarnMapper.class);
- AdminWineAssignParam adminWineAssignParam = JSONObject.toJavaObject(data, AdminWineAssignParam.class);
- if (ObjectUtil.isEmpty(adminWineAssignParam.getWorker())){
- WsEvent wsEvent = new WsEvent("adminWineChangeAssignRes",Result.fail("请选择上酒工"));
- WebsocketWorkerUtil.sendMessage(session,wsEvent);
- return;
- }
- Warn warn = warnMapper.selectById(adminWineAssignParam.getId());
- if (ObjectUtil.isEmpty(warn)){
- WsEvent wsEvent = new WsEvent("adminWineChangeAssignRes",Result.fail("报警不存在"));
- WebsocketWorkerUtil.sendMessage(session,wsEvent);
- return;
- }
- }
- private void deviceFix(Session session, Manager manager, JSONObject data) {
- }
- private void historyQueryWorker(Session session, Manager manager, JSONObject data) {
- }
- private void queryOrder(Session session, Manager manager, JSONObject data) {
- }
- private void orderUpdate(Session session, JSONObject data) {
- }
- private void orderDelete(Session session, JSONObject data) {
- }
- private static WineWithIdNameRemainVo createWineWithIdNameRemain(int id, String name, int remain) {
- WineWithIdNameRemainVo wine = new WineWithIdNameRemainVo();
- wine.setId(id);
- wine.setName(name);
- wine.setRemain(remain);
- return wine;
- }
- }
|