From 3ce13a024c662970a1bedcd5ff6f475531e507f9 Mon Sep 17 00:00:00 2001 From: 252535409 <252535409@qq.com> Date: Thu, 30 Nov 2023 14:51:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0openmeetings=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/ai/controller/RoomController.java | 171 ++++++++++++++++++ .../org/jeecg/modules/ai/entity/Room.java | 154 ++++++++++++++++ .../jeecg/modules/ai/mapper/RoomMapper.java | 18 ++ .../modules/ai/mapper/xml/RoomMapper.xml | 5 + .../modules/ai/service/IRoomService.java | 21 +++ .../ai/service/impl/RoomServiceImpl.java | 123 +++++++++++++ .../api/controller/AiAPIController.java | 21 +++ .../service/ISysAnnouncementService.java | 1 + .../impl/SysAnnouncementServiceImpl.java | 53 ++++++ .../src/main/resources/application-dev.yml | 13 +- 10 files changed, 574 insertions(+), 6 deletions(-) create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/controller/RoomController.java create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/entity/Room.java create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/mapper/RoomMapper.java create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/mapper/xml/RoomMapper.xml create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java create mode 100644 service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/controller/RoomController.java b/service-management-system/src/main/java/org/jeecg/modules/ai/controller/RoomController.java new file mode 100644 index 0000000..5626279 --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/controller/RoomController.java @@ -0,0 +1,171 @@ +package org.jeecg.modules.ai.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.ai.entity.Room; +import org.jeecg.modules.ai.service.IRoomService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 房间表 + * @Author: jeecg-boot + * @Date: 2023-11-30 + * @Version: V1.0 + */ +@Api(tags="房间表") +@RestController +@RequestMapping("/ai/room") +@Slf4j +public class RoomController extends JeecgController { + @Autowired + private IRoomService roomService; + + /** + * 分页列表查询 + * + * @param room + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "房间表-分页列表查询") + @ApiOperation(value="房间表-分页列表查询", notes="房间表-分页列表查询") + @GetMapping(value = "/list") + public Result queryPageList(Room room, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(room, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = roomService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param room + * @return + */ + @AutoLog(value = "房间表-添加") + @ApiOperation(value="房间表-添加", notes="房间表-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody Room room) { + roomService.save(room); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param room + * @return + */ + @AutoLog(value = "房间表-编辑") + @ApiOperation(value="房间表-编辑", notes="房间表-编辑") + @PutMapping(value = "/edit") + public Result edit(@RequestBody Room room) { + roomService.updateById(room); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "房间表-通过id删除") + @ApiOperation(value="房间表-通过id删除", notes="房间表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + roomService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "房间表-批量删除") + @ApiOperation(value="房间表-批量删除", notes="房间表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.roomService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "房间表-通过id查询") + @ApiOperation(value="房间表-通过id查询", notes="房间表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + Room room = roomService.getById(id); + if(room==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(room); + } + + /** + * 导出excel + * + * @param request + * @param room + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, Room room) { + return super.exportXls(request, room, Room.class, "房间表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, Room.class); + } + +} diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/entity/Room.java b/service-management-system/src/main/java/org/jeecg/modules/ai/entity/Room.java new file mode 100644 index 0000000..756a6fb --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/entity/Room.java @@ -0,0 +1,154 @@ +package org.jeecg.modules.ai.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 房间表 + * @Author: jeecg-boot + * @Date: 2023-11-30 + * @Version: V1.0 + */ +@Data +@TableName("room") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="room对象", description="房间表") +public class Room implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.Long id; + /**删除标志*/ + @Excel(name = "删除标志", width = 15) + @ApiModelProperty(value = "删除标志") + private java.lang.Integer deleted; + /**创建时间*/ + @Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private java.util.Date inserted; + /**更新时间*/ + @Excel(name = "更新时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private java.util.Date updated; + /**允许录屏*/ + @Excel(name = "允许录屏", width = 15) + @ApiModelProperty(value = "允许录屏") + private java.lang.Integer allowRecording; + /**允许提问*/ + @Excel(name = "允许提问", width = 15) + @ApiModelProperty(value = "允许提问") + private java.lang.Integer allowUserQuestions; + /**预约*/ + @Excel(name = "预约", width = 15) + @ApiModelProperty(value = "预约") + private java.lang.Integer appointment; + /**只允许音频*/ + @Excel(name = "只允许音频", width = 15) + @ApiModelProperty(value = "只允许音频") + private java.lang.Integer audioOnly; + /**房间容量*/ + @Excel(name = "房间容量", width = 20) + @ApiModelProperty(value = "房间容量") + private java.lang.Long capacity; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer chatModerated; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer chatOpened; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer closed; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String comment; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String confno; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer demoRoom; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer demoTime; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String externalId; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer filesOpened; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer ispublic; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer moderated; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String name; + /** */ + @Excel(name = " ", width = 20) + @ApiModelProperty(value = " ") + private java.lang.Long ownerId; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String pin; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String redirectUrl; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer sipEnabled; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String tag; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.String type; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer waitModerator; + /** */ + @Excel(name = " ", width = 15) + @ApiModelProperty(value = " ") + private java.lang.Integer waitForRecording; +} diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/RoomMapper.java b/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/RoomMapper.java new file mode 100644 index 0000000..1372f5b --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/RoomMapper.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.ai.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.ai.entity.Room; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 房间表 + * @Author: jeecg-boot + * @Date: 2023-11-30 + * @Version: V1.0 + */ +public interface RoomMapper extends BaseMapper { + +} diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/xml/RoomMapper.xml b/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/xml/RoomMapper.xml new file mode 100644 index 0000000..6a600d1 --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/mapper/xml/RoomMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java b/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java new file mode 100644 index 0000000..096332e --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.ai.service; + +import org.jeecg.modules.ai.entity.Room; + +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 房间表 + * @Author: jeecg-boot + * @Date: 2023-11-30 + * @Version: V1.0 + */ +public interface IRoomService extends IService { + + /** + * 创建房间并返回房间地址 + * @return + */ + public String saveRoom(String userId); + +} diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java b/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java new file mode 100644 index 0000000..15ca639 --- /dev/null +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java @@ -0,0 +1,123 @@ +package org.jeecg.modules.ai.service.impl; + +import java.io.StringReader; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +import javax.annotation.Resource; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.jeecg.modules.ai.entity.Room; +import org.jeecg.modules.ai.mapper.RoomMapper; +import org.jeecg.modules.ai.service.IRoomService; +import org.jeecg.modules.message.entity.SysMessage; +import org.jeecg.modules.message.service.ISysMessageService; +import org.jeecg.modules.system.entity.SysAnnouncement; +import org.jeecg.modules.system.entity.SysAnnouncementSend; +import org.jeecg.modules.system.service.ISysAnnouncementSendService; +import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import cn.hutool.http.webservice.SoapClient; +import cn.hutool.http.webservice.SoapUtil; + +/** + * @Description: 房间表 + * @Author: jeecg-boot + * @Date: 2023-11-30 + * @Version: V1.0 + */ +@Service +@DS("multi-datasource1") +public class RoomServiceImpl extends ServiceImpl implements IRoomService { + + @Resource + private RoomMapper roomMapper; + + /** + * 创建房间并返回房间地址 + * @return + */ + public String saveRoom(String userId) { + Room room = new Room(); + room.setName("远程协助"+userId); + room.setDeleted(0); + room.setInserted(new Date()); + room.setAllowRecording(1); + room.setAllowUserQuestions(0); + room.setAppointment(0); + room.setAudioOnly(1); + room.setCapacity(2L); + room.setChatOpened(0); + room.setClosed(0); + room.setDemoRoom(0); + room.setFilesOpened(0); + room.setIspublic(1); + room.setModerated(0); + room.setSipEnabled(0); + room.setType("INTERVIEW"); + room.setWaitForRecording(1); + room.setWaitModerator(0); + room.setChatModerated(0); + roomMapper.insert(room); + //生成房间地址 + //请求地址 + String soapUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"; + HashMap map = new HashMap<>(); + map.put("theCityName", "武汉"); + SoapClient soapClient = SoapClient.create(soapUrl) + //请求方法,命名空间 + .setMethod("web:getWeatherbyCityName", "http://WebXml.com.cn/") + .setParams(map); + String sendSoap = soapClient.send(true); + System.out.println(sendSoap); + Map map1 = new HashMap(); + Map soapMap = XmlMap(sendSoap, map1); + System.out.println(JSONObject.toJSONString(soapMap)); + + + String roomUrl = ""; + return roomUrl; + } + + public static Map XmlMap(String xml, Map map) { + try { + SAXReader reader = new SAXReader(); + Document doc = reader.read(new StringReader(xml)); + Element root = doc.getRootElement(); + String path = ""; + if (map.containsKey(root.getName().trim())) { + path = map.get(root.getName().trim()); + map.remove(root.getName().trim()); + } + for (Iterator i = root.elementIterator(); i.hasNext(); ) { + Element element = (Element) i.next(); + if (element.isTextOnly()) { + if (path.length() > 0) { + map.put(path + element.getName().trim(), element.getTextTrim()); + } else { + map.put(element.getName().trim(), element.getTextTrim()); + } + } else { + map.put(element.getName().trim(), path + element.getName().trim() + "."); + XmlMap(element.asXML(), map); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return map; + } + + +} diff --git a/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java b/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java index 5f1c674..daf402e 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java +++ b/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.api.controller; +import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; @@ -17,9 +18,12 @@ import org.jeecg.modules.ai.service.IPreReviewMaterialService; import org.jeecg.modules.ai.service.IPreReviewRecordsDetailService; import org.jeecg.modules.ai.service.IPreReviewRecordsService; import org.jeecg.modules.ai.service.IReasonEvaluationService; +import org.jeecg.modules.ai.service.IRoomService; import org.jeecg.modules.ai.vo.PreExaminationMattersVo; import org.jeecg.modules.ai.vo.PreReviewMaterialVo; import org.jeecg.modules.ai.vo.PreReviewRecordsDetailVo; +import org.jeecg.modules.system.entity.SysAnnouncement; +import org.jeecg.modules.system.service.ISysAnnouncementService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -53,6 +57,10 @@ public class AiAPIController { private IPreReviewRecordsService preReviewRecordsService; @Autowired private IReasonEvaluationService reasonEvaluationService; + @Autowired + private IRoomService iRoomService; + @Autowired + private ISysAnnouncementService iSysAnnouncementService; /** * 获取已授权预审事项 @@ -137,6 +145,19 @@ public class AiAPIController { return Result.OK("设置成功"); } + /** + * 创建会议室并返回链接 + * @param reviewInfo + * @return + */ + @GetMapping(value = "/createRoom") + public Result createRoom(@RequestParam(name = "userId", required = true) String userId) { + String roomUrl = iRoomService.saveRoom(userId); + //发送系统消息 + iSysAnnouncementService.saveRoomAnnouncement(roomUrl); + return Result.OK(roomUrl); + } + /** * 评价理由 * @param req diff --git a/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java b/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java index 38521d1..3dec5e8 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java +++ b/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java @@ -22,4 +22,5 @@ public interface ISysAnnouncementService extends IService { public Page querySysCementPageByUserId(Page page,String userId,String msgCategory); + public boolean saveRoomAnnouncement(String roomUrl); } diff --git a/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java b/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java index 15ef737..50560bd 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java +++ b/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java @@ -1,20 +1,25 @@ package org.jeecg.modules.system.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.WebsocketConst; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.message.websocket.WebSocket; import org.jeecg.modules.system.entity.SysAnnouncement; import org.jeecg.modules.system.entity.SysAnnouncementSend; import org.jeecg.modules.system.mapper.SysAnnouncementMapper; import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper; import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Arrays; +import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.List; @@ -33,6 +38,10 @@ public class SysAnnouncementServiceImpl extends ServiceImpl querySysCementPageByUserId(Page page, String userId,String msgCategory) { return page.setRecords(sysAnnouncementMapper.querySysCementListByUserId(page, userId, msgCategory)); } + + @Override + public boolean saveRoomAnnouncement(String roomUrl) { + SysAnnouncement sysAnnouncement = new SysAnnouncement(); + sysAnnouncement.setTitile("远程协助请求"); + sysAnnouncement.setMsgContent("有用户请求远程协助,请登录:"+roomUrl+",密码是:111111"); + sysAnnouncement.setSender("admin"); + sysAnnouncement.setMsgCategory("2"); + sysAnnouncement.setMsgType("USER"); + sysAnnouncement.setSendStatus("1"); + sysAnnouncement.setSendTime(new Date()); + sysAnnouncement.setUserIds(messageReceiveId); + sysAnnouncement.setDelFlag("0"); + sysAnnouncement.setCreateBy("admin"); + sysAnnouncement.setCancelTime(new Date()); + sysAnnouncement.setStartTime(new Date()); + sysAnnouncement.setPriority("H"); + Calendar calendar = Calendar.getInstance(); + // 延迟一个小时 + calendar.add(Calendar.HOUR_OF_DAY, 1); + sysAnnouncement.setEndTime(calendar.getTime()); + sysAnnouncement.setCancelTime(calendar.getTime()); + sysAnnouncementMapper.insert(sysAnnouncement); + + + SysAnnouncementSend send = new SysAnnouncementSend(); + send.setAnntId(sysAnnouncement.getId()); + send.setCreateTime(new Date()); + send.setCreateBy("admin"); + send.setCreateTime(new Date()); + send.setReadFlag("0"); + send.setUserId(messageReceiveId); + int r = sysAnnouncementSendMapper.insert(send); + + if(r>0) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, messageReceiveId); + obj.put(WebsocketConst.MSG_ID, sysAnnouncement.getId()); + obj.put(WebsocketConst.MSG_TXT, sysAnnouncement.getTitile()); + webSocket.sendMessage(messageReceiveId, obj.toJSONString()); + } + return r>0; + } } diff --git a/service-management-system/src/main/resources/application-dev.yml b/service-management-system/src/main/resources/application-dev.yml index be8c9fa..3e65516 100644 --- a/service-management-system/src/main/resources/application-dev.yml +++ b/service-management-system/src/main/resources/application-dev.yml @@ -113,11 +113,11 @@ spring: password: Wzw7788521 driver-class-name: com.mysql.cj.jdbc.Driver # 多数据源配置 -# multi-datasource1: -# url: jdbc:mysql://222.128.10.207:9002/kp_admin?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true -# username: blroot -# password: KgshvIerauLFCYTl -# driver-class-name: com.mysql.cj.jdbc.Driver + multi-datasource1: + url: jdbc:mysql://47.92.244.192:3306/openmeetings?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true + username: root + password: Wzw7788521 + driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 9 @@ -259,4 +259,5 @@ ucap: connectTimeout: 10000 aliyun: accessKey: 123 - accessKeySecret: 456 \ No newline at end of file + accessKeySecret: 456 +message_receive_id: 1000000