|
@@ -0,0 +1,512 @@
|
|
|
+package com.huimv.wine.ws.su;
|
|
|
+
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.huimv.wine.common.EventWsErrUtil;
|
|
|
+import com.huimv.wine.entity.*;
|
|
|
+import com.huimv.wine.entity.vo.DevicesQueryVo;
|
|
|
+import com.huimv.wine.entity.vo.ManagerVo;
|
|
|
+import com.huimv.wine.entity.vo.ParamsVo;
|
|
|
+import com.huimv.wine.entity.vo.WsEvent;
|
|
|
+import com.huimv.wine.mapper.*;
|
|
|
+import com.huimv.wine.utils.Base64ImageSaver;
|
|
|
+import com.huimv.wine.utils.Result;
|
|
|
+import com.huimv.wine.utils.WebsocketManagerUtil;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import javax.websocket.Session;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Component
|
|
|
+public class SuperConfig {
|
|
|
+ @Autowired
|
|
|
+ private ManagerMapper managerMapper;
|
|
|
+ @Autowired
|
|
|
+ private DeviceMapper deviceMapper;
|
|
|
+ @Autowired
|
|
|
+ private OperationMapper operationMapper;
|
|
|
+ @Autowired
|
|
|
+ private WineMapper wineMapper;
|
|
|
+ @Autowired
|
|
|
+ private AdvertiseMapper advertiseMapper;
|
|
|
+ @Autowired
|
|
|
+ private ParamsMapper paramsMapper;
|
|
|
+
|
|
|
+ public void handle(String event, JSONObject data, Session session, Manager manager) {
|
|
|
+ switch (event) {
|
|
|
+ case "superConfigDeviceQueryManager":
|
|
|
+ QueryManager(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigDeviceQuery":
|
|
|
+ Query(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigDeviceUpdate":
|
|
|
+ Update(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigDeviceAssign":
|
|
|
+ Assign(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigWineQuery":
|
|
|
+ wineQuery(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigWineDelete":
|
|
|
+ JSONArray array = data.getJSONArray("data");
|
|
|
+ List<Integer> list = new ArrayList<>();
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
+ list.add(array.getInteger(i));
|
|
|
+ }
|
|
|
+ wineDelete(session, manager,list);
|
|
|
+ break;
|
|
|
+ case "superConfigWineAdd":
|
|
|
+ wineAdd(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigWineUpdate":
|
|
|
+ wineUpdate(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigAdvertiseQuery":
|
|
|
+ advertiseQuery(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigAdvertiseDelete":
|
|
|
+ JSONArray array1 = data.getJSONArray("data");
|
|
|
+ List<Integer> list1 = new ArrayList<>();
|
|
|
+ for (int i = 0; i < array1.size(); i++) {
|
|
|
+ list1.add(array1.getInteger(i));
|
|
|
+ }
|
|
|
+ advertiseDelete(session, manager, list1);
|
|
|
+ break;
|
|
|
+ case "superConfigAdvertiseUpdate":
|
|
|
+ advertiseUpdate(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigAdvertiseAdd":
|
|
|
+ advertiseAdd(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigParamList":
|
|
|
+ paramList(session, manager, data);
|
|
|
+ break;
|
|
|
+ case "superConfigParamUpdate":
|
|
|
+ JSONArray array2 = data.getJSONArray("data");
|
|
|
+ paramsUpdate(session, manager, array2);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("unrecognized event");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void QueryManager(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<ManagerVo> managerVos = managerMapper.ManagerQuery(data.toString());
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceQueryManagerRes",managerVos);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Query(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String manager1 = data.getString("manager");
|
|
|
+ String cond = data.getString("cond");
|
|
|
+ Integer pageNum = data.getInteger("page");
|
|
|
+ Integer pageSize = data.getInteger("limit");
|
|
|
+ Page<DevicesQueryVo> page = new Page<>(pageNum, pageSize);
|
|
|
+ if (manager1 == null) {
|
|
|
+ Page<DevicesQueryVo> devicesQuery = deviceMapper.devicesQuery(page, cond);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceQueryRes", devicesQuery);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ } else if (manager1.equals("*")) {
|
|
|
+ Page<DevicesQueryVo> devicesQuery = deviceMapper.devicesQuery2(page, cond);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceQueryRes", devicesQuery);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ Page<DevicesQueryVo> devicesQuery = deviceMapper.devicesQuery3(page, cond,manager1);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceQueryRes", devicesQuery);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Update(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String did = data.getString("Did");
|
|
|
+ Device device = deviceMapper.selectById(did);
|
|
|
+ if (ObjectUtil.isEmpty(device)) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceUpdateRes","no such device");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ device.setManager(data.getString("mid"));
|
|
|
+ device.setAddr(data.getString("addr"));
|
|
|
+ device.setMark(data.getString("mark"));
|
|
|
+ deviceMapper.updateById(device);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceUpdateRes", null);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(1);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe("修改设备信息");
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Assign(Session session, Manager manager1, JSONObject data) {
|
|
|
+ if (!manager1.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ String manager = data.getString("manager");
|
|
|
+ JSONArray devices = data.getJSONArray("devices");
|
|
|
+ for (int i = 0; i < devices.size(); i++) {
|
|
|
+ list.add(devices.getString(i));
|
|
|
+ }
|
|
|
+ deviceMapper.DevicesAssignManager(list,manager);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigDeviceAssignRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager1.getId());
|
|
|
+ operation.setOpType(1);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe("修改设备管理员");
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void wineQuery(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer pageNum = data.getInteger("page");
|
|
|
+ Integer pageSize = data.getInteger("limit");
|
|
|
+ Page<Wine> page = new Page<>(pageNum, pageSize);
|
|
|
+ if (pageNum == 1) {
|
|
|
+ Page<Wine> winesQuery = wineMapper.WinesQuery(page, data.getString("cond"));
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigWineQueryRes",winesQuery);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ Page<Wine> winePage = wineMapper.WinesQuery2(page, data.getString("cond"));
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigWineQueryRes",winePage);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void wineDelete(Session session, Manager manager, List<Integer> data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wineMapper.WinesDelete(data);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigWineDeleteRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(2);
|
|
|
+ operation.setLevel(1);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ String format = "";
|
|
|
+ for (Integer integer : data) {
|
|
|
+ format = format+String.format("[%s]", integer);
|
|
|
+ }
|
|
|
+ operation.setDescribe("删除酒品:"+format);
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void wineAdd(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (data.getString("image").equals("")) {
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigWineAddRes",Result.fail("图片数据不可为空"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ QueryWrapper<Wine> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.orderByDesc("id").last(" limit 1");
|
|
|
+ Wine wine = wineMapper.selectOne(queryWrapper);
|
|
|
+ String image = Base64ImageSaver.saveBase64(data.getString("image"), String.format("static/wine/%d", wine.getId() + 1));
|
|
|
+ if (image.contains("文件存储失败")) {
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigWineAddRes",Result.fail(image));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Wine wine1 = new Wine();
|
|
|
+ wine1.setPicture(String.format("static/wine/%d.%s", "http://192.168.1.10:3080", wine.getId() + 1, image));
|
|
|
+ wine1.setId(wine.getId() + 1);
|
|
|
+ wine1.setName(data.getString("name"));
|
|
|
+ wine1.setPrice(data.getInteger("price"));
|
|
|
+ wine1.setDegree(data.getInteger("degree"));
|
|
|
+ wine1.setDensity(data.getInteger("density"));
|
|
|
+ wine1.setDescribe(data.getString("describe"));
|
|
|
+ wineMapper.insert(wine1);
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigWineAddRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(0);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe(String.format("新增酒品:%s[%d]", data.getString("name"),wine.getId() + 1));
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void wineUpdate(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer id = data.getInteger("id");
|
|
|
+ Wine wine = wineMapper.selectById(id);
|
|
|
+ if (ObjectUtil.isEmpty(wine)) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigWineUpdateRes",Result.fail("no such wine"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String image = Base64ImageSaver.saveBase64(data.getString("image"), String.format("static/wine/%d",id));
|
|
|
+ if (image.contains("文件存储失败")) {
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigWineUpdateRes",Result.fail(image));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wine.setPicture(String.format("static/wine/%d.%s", "http://192.168.1.10:3080", id, image));
|
|
|
+ wine.setName(data.getString("name"));
|
|
|
+ wine.setDescribe(data.getString("describe"));
|
|
|
+ wine.setPrice(data.getInteger("price"));
|
|
|
+ wine.setDegree(data.getInteger("degree"));
|
|
|
+ wine.setDensity(data.getInteger("density"));
|
|
|
+ wineMapper.updateById(wine);
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigWineUpdateRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(1);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe(String.format("修改酒品[%d]信息",id));
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void advertiseQuery(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer pageNum = data.getInteger("page");
|
|
|
+ Integer pageSize = data.getInteger("limit");
|
|
|
+ String desc = data.getString("desc");
|
|
|
+ Integer type = data.getInteger("type");
|
|
|
+ Page<Advertise> page = new Page<>(pageNum, pageSize);
|
|
|
+ QueryWrapper<Advertise> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (type == -1) {
|
|
|
+ queryWrapper.like("describe", desc);
|
|
|
+ } else {
|
|
|
+ queryWrapper.eq("type", type).like("describe", desc);
|
|
|
+ }
|
|
|
+ Page<Advertise> advertisePage = advertiseMapper.selectPage(page, queryWrapper);
|
|
|
+ for (Advertise record : advertisePage.getRecords()) {
|
|
|
+ record.setSrc(String.format("%s/%s", "http://192.168.1.10:3080", record.getSrc()));
|
|
|
+ }
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseQueryRes",advertisePage);
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void advertiseDelete(Session session, Manager manager, List<Integer> ids) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ advertiseMapper.deleteBatchIds(ids);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseDeleteRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(2);
|
|
|
+ operation.setLevel(1);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ String format = "";
|
|
|
+ for (Integer integer : ids) {
|
|
|
+ format = format+String.format("[%s]", integer);
|
|
|
+ }
|
|
|
+ operation.setDescribe("删除广告:" + format);
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void advertiseUpdate(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer id = data.getInteger("id");
|
|
|
+ Advertise advertise = advertiseMapper.selectById(id);
|
|
|
+ String image = Base64ImageSaver.saveBase64(data.getString("base64"), String.format("static/adv/%d",id));
|
|
|
+ if (image.contains("文件存储失败")) {
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigAdvertiseUpdateRes",Result.fail(image));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ advertise.setSrc(String.format("static/adv/%d.%s", "http://192.168.1.10:3080", id, image));
|
|
|
+ advertise.setOrder(data.getInteger("order"));
|
|
|
+ advertise.setType(data.getBoolean("type"));
|
|
|
+ advertise.setTime(new Date());
|
|
|
+ advertise.setDuration(data.getInteger("duration"));
|
|
|
+ advertise.setDescribe(data.getString("describe"));
|
|
|
+ advertiseMapper.updateById(advertise);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseUpdateRes", Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(1);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe(String.format("更新广告:%d", id));
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void advertiseAdd(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (data.getString("base64").equals("")) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseAddRes", Result.fail("资源不可为空"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ QueryWrapper<Advertise> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.orderByDesc("id").last(" limit 1");
|
|
|
+ Advertise advertise = advertiseMapper.selectOne(queryWrapper);
|
|
|
+ Integer id = advertise.getId();
|
|
|
+ id++;
|
|
|
+ if (ObjectUtil.isEmpty(advertise)) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseAddRes", Result.fail("添加失败 01"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String image = Base64ImageSaver.saveBase64(data.getString("base64"), String.format("static/adv/%d",id));
|
|
|
+ if (image.contains("文件存储失败")) {
|
|
|
+ WsEvent wsEvent =new WsEvent("superConfigAdvertiseUpdateRes",Result.fail(image));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Advertise advertise1 = new Advertise();
|
|
|
+ advertise1.setId(id);
|
|
|
+ advertise1.setOrder(data.getInteger("order"));
|
|
|
+ advertise1.setType(data.getBoolean("type"));
|
|
|
+ advertise1.setDuration(data.getInteger("duration"));
|
|
|
+ advertise1.setDescribe(data.getString("describe"));
|
|
|
+ advertise1.setSrc(String.format("static/adv/%d.%s", "http://192.168.1.10:3080", id, image));
|
|
|
+ advertiseMapper.insert(advertise1);
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigAdvertiseAddRes", Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(0);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe(String.format("新增广告:%d",id));
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void paramList(Session session, Manager manager, JSONObject data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<ParamsVo> list = new ArrayList<>();
|
|
|
+ List<Params> params = paramsMapper.selectList(null);
|
|
|
+ for (Params param : params) {
|
|
|
+ ParamsVo paramsVo = new ParamsVo();
|
|
|
+ paramsVo.setId(param.getId());
|
|
|
+ paramsVo.setName(param.getDescribe());
|
|
|
+ paramsVo.setValue(param.getValue());
|
|
|
+ list.add(paramsVo);
|
|
|
+ }
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigParamListRes", Result.success(list));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void paramsUpdate(Session session, Manager manager, JSONArray data) {
|
|
|
+ if (!manager.getIsSuper()) {
|
|
|
+ WsEvent wsEvent = EventWsErrUtil.getWsErr("auth failed.");
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (int i = 0; i < data.size(); i++) {
|
|
|
+ if (data.getJSONObject(i).getString("name").equals("")) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigParamUpdateRes",Result.fail("参数名不可为空"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Params params = paramsMapper.selectById(data.getJSONObject(i).getInteger("id"));
|
|
|
+ if (ObjectUtil.isEmpty(params)) {
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigParamUpdateRes",Result.fail("no such param"));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ params.setDescribe(data.getJSONObject(i).getString("name"));
|
|
|
+ params.setValue(data.getJSONObject(i).getInteger("value"));
|
|
|
+ paramsMapper.updateById(params);
|
|
|
+ }
|
|
|
+ WsEvent wsEvent = new WsEvent("superConfigParamUpdateRes",Result.success(null));
|
|
|
+ WebsocketManagerUtil.sendMessage(session, wsEvent);
|
|
|
+ Operation operation = new Operation();
|
|
|
+ operation.setUserType(0);
|
|
|
+ operation.setUserId(manager.getId());
|
|
|
+ operation.setOpType(1);
|
|
|
+ operation.setLevel(0);
|
|
|
+ operation.setTime(new Date());
|
|
|
+ operation.setDescribe("修改系统运行参数");
|
|
|
+ operationMapper.insert(operation);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+}
|