AdminWine.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.huimv.wine.ws.admin;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.ObjectUtil;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.JSONPObject;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.huimv.wine.common.EventWsErrUtil;
  8. import com.huimv.wine.entity.Manager;
  9. import com.huimv.wine.entity.Warn;
  10. import com.huimv.wine.entity.vo.*;
  11. import com.huimv.wine.mapper.WarnMapper;
  12. import com.huimv.wine.mapper.WineMapper;
  13. import com.huimv.wine.mapper.WorkerMapper;
  14. import com.huimv.wine.utils.Result;
  15. import com.huimv.wine.utils.SpringContextUtil;
  16. import com.huimv.wine.utils.WebsocketManagerUtil;
  17. import com.huimv.wine.utils.WebsocketWorkerUtil;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Component;
  20. import javax.websocket.Session;
  21. import java.util.ArrayList;
  22. import java.util.List;
  23. @Component
  24. public class AdminWine {
  25. public void handle(JSONObject message, Session session, Manager manager) {
  26. String event = message.getString("event");
  27. JSONObject data = message.getJSONObject("data");
  28. switch (event) {
  29. case "adminWineChangeQuery":
  30. query(session, manager, data);
  31. break;
  32. case "adminWineChangeQueryWine":
  33. queryWine(session, message.getString("data"));
  34. break;
  35. case "adminWineChangeQueryWorker":
  36. queryWorker(session, manager, message.getString("data"));
  37. break;
  38. case "adminWineChangeAssign":
  39. assign(session, manager, data);
  40. break;
  41. case "adminWineDeviceFix":
  42. deviceFix(session, manager, data);
  43. break;
  44. case "adminWineHistoryQueryWorker":
  45. historyQueryWorker(session, manager, data);
  46. break;
  47. case "adminWineHistoryQueryOrder":
  48. queryOrder(session, manager, data);
  49. break;
  50. case "adminWineHistoryOrderUpdate":
  51. orderUpdate(session, data);
  52. break;
  53. case "adminWineHistoryOrderDelete":
  54. orderDelete(session, data);
  55. break;
  56. default:
  57. WsEvent wsEvent = EventWsErrUtil.getWsErr("unrecognized event");
  58. WebsocketManagerUtil.sendMessage(session, wsEvent);
  59. break;
  60. }
  61. }
  62. private void query(Session session, Manager manager, JSONObject data) {
  63. WarnMapper warnMapper = SpringContextUtil.getBean(WarnMapper.class);
  64. AdminWineChangeQueryParam adminWineChangeQueryParam = JSONObject.toJavaObject(data,AdminWineChangeQueryParam.class);
  65. Page<WarnQueryResult> page = new Page<>(adminWineChangeQueryParam.getPage(),adminWineChangeQueryParam.getLimit());
  66. String like = "%s"+adminWineChangeQueryParam.getCond()+"%s";
  67. Page<WarnQueryResult> warnQueryResultPage = warnMapper.warnQuery(page,manager.getId(),adminWineChangeQueryParam.getDeal(),like);
  68. Page<WarnQueryResultVo> warnQueryResultVoPage = new Page<>();
  69. List warnQueryResultVoList = new ArrayList<>();
  70. for (WarnQueryResult record : warnQueryResultPage.getRecords()) {
  71. WarnQueryResultVo warnQueryResultVo = new WarnQueryResultVo();
  72. BeanUtil.copyProperties(record,warnQueryResultVo);
  73. List<WineWithIdNameRemainVo> olds = new ArrayList();
  74. olds.add(createWineWithIdNameRemain(record.getW1id(),record.getW1name(),record.getW1remain()));
  75. olds.add(createWineWithIdNameRemain(record.getW2id(),record.getW2name(),record.getW2remain()));
  76. olds.add(createWineWithIdNameRemain(record.getW3id(),record.getW3name(),record.getW3remain()));
  77. olds.add(createWineWithIdNameRemain(record.getW4id(),record.getW4name(),record.getW4remain()));
  78. warnQueryResultVo.setOld(olds);
  79. warnQueryResultVoList.add(warnQueryResultVo);
  80. }
  81. warnQueryResultVoPage.setRecords(warnQueryResultVoList);
  82. warnQueryResultVoPage.setCurrent(warnQueryResultPage.getCurrent());
  83. warnQueryResultVoPage.setTotal(warnQueryResultPage.getTotal());
  84. warnQueryResultVoPage.setCountId(warnQueryResultPage.getCountId());
  85. WsEvent wsEvent = new WsEvent("adminWineChangeQueryRes",Result.success(warnQueryResultVoPage));
  86. WebsocketWorkerUtil.sendMessage(session,wsEvent);
  87. }
  88. private void queryWine(Session session, String cond) {
  89. WineMapper wineMapper = SpringContextUtil.getBean(WineMapper.class);
  90. String like = "%"+cond+"%s";
  91. List<WineWithIdNameVo> wineWithIdNameVos = wineMapper.WinesQueryByIdOrName(like);
  92. WsEvent wsEvent = new WsEvent("adminWineChangeQueryWineRes",Result.success(wineWithIdNameVos));
  93. WebsocketWorkerUtil.sendMessage(session,wsEvent);
  94. }
  95. private void queryWorker(Session session, Manager manager, String cond) {
  96. WorkerMapper workerMapper = SpringContextUtil.getBean(WorkerMapper.class);
  97. String like = "%"+cond+"%s";
  98. List<WorkerWithIdPhoneName> workerWithIdPhoneNames = workerMapper.WorkersQueryByPhoneOrName(manager.getId(),like);
  99. WsEvent wsEvent = new WsEvent("adminWineChangeQueryWorkerRes",Result.success(workerWithIdPhoneNames));
  100. WebsocketWorkerUtil.sendMessage(session,wsEvent);
  101. }
  102. private void assign(Session session, Manager manager, JSONObject data) {
  103. WarnMapper warnMapper = SpringContextUtil.getBean(WarnMapper.class);
  104. AdminWineAssignParam adminWineAssignParam = JSONObject.toJavaObject(data, AdminWineAssignParam.class);
  105. if (ObjectUtil.isEmpty(adminWineAssignParam.getWorker())){
  106. WsEvent wsEvent = new WsEvent("adminWineChangeAssignRes",Result.fail("请选择上酒工"));
  107. WebsocketWorkerUtil.sendMessage(session,wsEvent);
  108. return;
  109. }
  110. Warn warn = warnMapper.selectById(adminWineAssignParam.getId());
  111. if (ObjectUtil.isEmpty(warn)){
  112. WsEvent wsEvent = new WsEvent("adminWineChangeAssignRes",Result.fail("报警不存在"));
  113. WebsocketWorkerUtil.sendMessage(session,wsEvent);
  114. return;
  115. }
  116. }
  117. private void deviceFix(Session session, Manager manager, JSONObject data) {
  118. }
  119. private void historyQueryWorker(Session session, Manager manager, JSONObject data) {
  120. }
  121. private void queryOrder(Session session, Manager manager, JSONObject data) {
  122. }
  123. private void orderUpdate(Session session, JSONObject data) {
  124. }
  125. private void orderDelete(Session session, JSONObject data) {
  126. }
  127. private static WineWithIdNameRemainVo createWineWithIdNameRemain(int id, String name, int remain) {
  128. WineWithIdNameRemainVo wine = new WineWithIdNameRemainVo();
  129. wine.setId(id);
  130. wine.setName(name);
  131. wine.setRemain(remain);
  132. return wine;
  133. }
  134. }