Explorar o código

add 教务端发送push和IM接口

river %!s(int64=4) %!d(string=hai) anos
pai
achega
6d52adacac

+ 38 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PushInfoDto.java

@@ -0,0 +1,38 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+
+import java.util.List;
+
+public class PushInfoDto {
+
+    private List<Integer> userIds;
+
+    private MessageTypeEnum messageType;
+
+    private String imContent;
+
+    public List<Integer> getUserIds() {
+        return userIds;
+    }
+
+    public void setUserIds(List<Integer> userIds) {
+        this.userIds = userIds;
+    }
+
+    public MessageTypeEnum getMessageType() {
+        return messageType;
+    }
+
+    public void setMessageType(MessageTypeEnum messageType) {
+        this.messageType = messageType;
+    }
+
+    public String getImContent() {
+        return imContent;
+    }
+
+    public void setImContent(String imContent) {
+        this.imContent = imContent;
+    }
+}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java

@@ -35,7 +35,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				.hasIpAddress("0.0.0.0/0")
 				.antMatchers("/v2/api-docs", "/classGroup/highClassGroups", "/code/*", "/api/*", "/appVersionInfo/queryByPlatform", "/eduDegree/*",
 						"/uploadFile", "/eduContracts/queryProduceContract","/activity/doubleEleven2020Statis","/replacementInstrument/queryPage",
-						"/replacementInstrumentActivity/queryReplacementsStat","/eduStudentRegistration/queryPreApplyList","/eduSubject/findSubSubjects","/eduFinancialExpenditure/batchAdd").permitAll().anyRequest().authenticated().and().httpBasic();
+						"/replacementInstrumentActivity/queryReplacementsStat","/eduStudentRegistration/queryPreApplyList","/eduSubject/findSubSubjects","/eduFinancialExpenditure/batchAdd","/eduSendNotice/*").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 52 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduSendNoticeController.java

@@ -0,0 +1,52 @@
+package com.ym.mec.web.controller.education;
+
+
+import com.ym.mec.biz.dal.dto.PushInfoDto;
+import com.ym.mec.biz.dal.entity.FinancialExpenditure;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "发送PUSH、IM(教务端)")
+@RequestMapping("eduSendNotice")
+@RestController
+public class EduSendNoticeController extends BaseController {
+
+    @Autowired
+    private SysMessageService sysMessageService;
+
+    @ApiOperation(value = "发送PUSH")
+    @PostMapping(value = "/push")
+    public HttpResponseResult push(@RequestBody PushInfoDto pushInfo) {
+        Map<Integer, String> userMap = new HashMap<>();
+        for (Integer userId : pushInfo.getUserIds()) {
+            userMap.put(userId, userId.toString());
+        }
+
+        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, pushInfo.getMessageType(), userMap, null, 0, null, "SYSTEM");
+        return succeed();
+    }
+
+    @ApiOperation(value = "发送IM")
+    @PostMapping(value = "/im")
+    public HttpResponseResult im(@RequestBody PushInfoDto pushInfo) {
+
+        for (Integer userId : pushInfo.getUserIds()) {
+            sysMessageService.sendNoAuthPrivateMessage("1", userId.toString(), pushInfo.getImContent());
+        }
+        return succeed();
+    }
+}