liujc 1 سال پیش
والد
کامیت
a51beebf54
17فایلهای تغییر یافته به همراه320 افزوده شده و 4 حذف شده
  1. 36 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserController.java
  2. 34 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/UserController.java
  3. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Student.java
  4. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java
  5. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserService.java
  6. 69 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserServiceImpl.java
  7. 33 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/UserInfoWrapper.java
  8. 2 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml
  9. 2 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  10. 3 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/MessageSenderPlugin.java
  11. 1 1
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/MessageSenderPluginContext.java
  12. 6 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/AwSmsPlugin.java
  13. 7 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/CommEmailPlugin.java
  14. 93 1
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/JiguangPushPlugin.java
  15. 7 1
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/MOxintongSMSPlugin.java
  16. 6 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/ShiyuanSMSPlugin.java
  17. 7 1
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/YimeiSmsPlugin.java

+ 36 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserController.java

@@ -2,16 +2,30 @@ package com.yonge.cooleshow.student.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.microsvc.toolkit.common.response.template.R;
+import com.microsvc.toolkit.common.webportal.exception.BizException;
+import com.microsvc.toolkit.config.jwt.utils.JwtUserInfo;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.wrapper.UserInfoWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
 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 springfox.documentation.annotations.ApiIgnore;
 
 import java.util.List;
 
@@ -30,7 +44,11 @@ public class UserController extends BaseController {
     @Autowired
     private LiveRoomService liveRoomService;
 
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
+    @Autowired
+    private SysUserService sysUserService;
 
     /**
      * 同步融云用户状态变更
@@ -43,5 +61,23 @@ public class UserController extends BaseController {
         liveRoomService.opsRoom(userState);
     }
 
+
+
+    @ApiOperation(value = "更新更新IM用户信息", notes = "更新用户信息")
+    @PostMapping("/updateImUserInfo")
+    public HttpResponseResult<JSONObject> updateImUserInfo(@Validated @RequestBody UserInfoWrapper.UpdateUser info) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        info.setUserId(user.getId().intValue());
+        info.setClient(ClientEnum.STUDENT);
+
+
+        sysUserService.imDeviceId(info);
+        return succeed();
+    }
+
 }
 

+ 34 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/UserController.java

@@ -2,12 +2,21 @@ package com.yonge.cooleshow.teacher.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.wrapper.UserInfoWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,6 +40,12 @@ public class UserController extends BaseController {
     private LiveRoomService liveRoomService;
 
 
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+    @Autowired
+    private SysUserService sysUserService;
+
 
     /**
      * 同步融云用户状态变更
@@ -43,5 +58,24 @@ public class UserController extends BaseController {
         liveRoomService.opsRoom(userState);
     }
 
+
+
+    @ApiOperation(value = "更新更新IM用户信息", notes = "更新用户信息")
+    @PostMapping("/updateImUserInfo")
+    public HttpResponseResult<JSONObject> updateImUserInfo(@Validated @RequestBody UserInfoWrapper.UpdateUser info) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        info.setUserId(user.getId().intValue());
+        info.setClient(ClientEnum.STUDENT);
+
+
+        sysUserService.imDeviceId(info);
+        return succeed();
+    }
+
+
 }
 

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Student.java

@@ -108,6 +108,10 @@ public class Student implements Serializable {
     @TableField(value = "tenant_group_id_")
     private Long tenantGroupId;
 
+    @ApiModelProperty("IM绑定设备")
+    @TableField(value = "im_device_id_")
+    private String imDeviceId;
+
     public Long getTenantId() {
         return tenantId;
     }

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java

@@ -247,6 +247,9 @@ public class Teacher implements Serializable {
     @TableField(value = "avatar_")
     private String avatar;
 
+    @ApiModelProperty("IM绑定设备")
+    @TableField(value = "im_device_id_")
+    private String imDeviceId;
 
     public ESettlementFrom getSettlementFrom() {
         return settlementFrom;

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysUserService.java

@@ -4,6 +4,7 @@ import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
+import com.yonge.cooleshow.biz.dal.wrapper.UserInfoWrapper;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 
 import java.util.List;
@@ -35,4 +36,10 @@ public interface SysUserService{
     SysUser findUserByPhone(String phone);
 
     SysUser getByUserId(Long userId);
+
+    /**
+     * 设置推送设备id
+     *
+     */
+    void imDeviceId(UserInfoWrapper.UpdateUser info);
 }

+ 69 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserServiceImpl.java

@@ -1,28 +1,38 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.Student;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.wrapper.UserInfoWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.ContractTemplateTypeEnum;
 import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.thirdparty.user.realname.RealnameAuthenticationPlugin;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.idcard.IdcardValidator;
+import jodd.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 @Service
 public class SysUserServiceImpl implements SysUserService {
@@ -38,6 +48,15 @@ public class SysUserServiceImpl implements SysUserService {
     @Resource
     private SysUserContractRecordService sysUserContractRecordService;
 
+    @Autowired
+    private StudentService studentService;
+
+    @Autowired
+    private TeacherService teacherService;
+
+    @Autowired
+    private MessageSenderPluginContext messageSenderPluginContext;
+
     @Override
     public SysUserMapper getDao() {
         return sysUserMapper;
@@ -141,4 +160,54 @@ public class SysUserServiceImpl implements SysUserService {
     public SysUser getByUserId(Long userId) {
         return sysUserMapper.getByUserId(userId);
     }
+
+
+    @Override
+    public void imDeviceId(UserInfoWrapper.UpdateUser info) {
+
+        String teacherDeviceId = null;
+        String studentDeviceId = null;
+
+        switch (info.getClient()) {
+            case STUDENT:
+            case TENANT_STUDENT:
+                studentDeviceId = info.getImDeviceId();
+                Student student = new Student();
+                student.setUserId(info.getUserId().longValue());
+                student.setImDeviceId(info.getImDeviceId());
+                studentService.updateById(student);
+
+                Teacher teacher1 = teacherService.getById(info.getUserId().longValue());
+                if (teacher1 != null) {
+                    if (StringUtils.isEmpty(teacher1.getImDeviceId())) {
+                        return;
+                    }
+                    teacherDeviceId = teacher1.getImDeviceId();
+                }
+
+                break;
+            case TEACHER:
+                teacherDeviceId = info.getImDeviceId();
+                Teacher teacher = new Teacher();
+                teacher.setUserId(info.getUserId().longValue());
+                teacher.setImDeviceId(info.getImDeviceId());
+                teacherService.updateById(teacher);
+
+                Student student1 = studentService.getById(info.getUserId().longValue());
+                if (student1 != null) {
+                    if (StringUtils.isEmpty(student1.getImDeviceId())) {
+                        return;
+                    }
+                    studentDeviceId = student1.getImDeviceId();
+                }
+                break;
+            default:
+                break;
+        }
+        List<String> list = Lists.newArrayList(studentDeviceId, teacherDeviceId).stream()
+            .filter(StringUtil::isNotBlank).collect(Collectors.toList());
+
+        messageSenderPluginContext.getMessageSenderPlugin(MessageSenderPluginContext.MessageSender.JIGUANG)
+            .deviceRemoveAlias(info.getUserId().toString(),list,info.getClient().getCode());
+    }
 }

+ 33 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/UserInfoWrapper.java

@@ -0,0 +1,33 @@
+package com.yonge.cooleshow.biz.dal.wrapper;
+
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+public class UserInfoWrapper {
+
+
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel("用户信息更新")
+    public static class UpdateUser implements Serializable {
+
+        @ApiModelProperty("IM设备ID")
+        private String imDeviceId;
+
+
+        @ApiModelProperty("用户ID")
+        private Integer userId;
+
+        @ApiModelProperty("用户类型")
+        private ClientEnum client;
+
+    }
+}

+ 2 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -15,6 +15,7 @@
         <result column="update_time_" property="updateTime"/>
         <result column="avatar_" property="avatar"/>
         <result column="tenant_group_id_" property="tenantGroupId"/>
+        <result column="im_device_id_" property="imDeviceId"/>
     </resultMap>
 
     <!-- 表字段 -->
@@ -33,6 +34,7 @@
         , t.create_time_ as `createTime`
         , t.update_time_ as `updateTime`
         , t.tenant_group_id_ as `tenantGroupId`
+        , t.im_device_id_ as imDeviceId
         </sql>
     <update id="setSubject">
         update student set subject_id_ = #{subjectIds},update_time_ = now() where user_id_ = #{id}

+ 2 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -39,6 +39,7 @@
         <result column="settlement_from_" property="settlementFrom"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
+        <result column="im_device_id_" property="imDeviceId"/>
     </resultMap>
 
     <resultMap id="HotTeacherVoMap" type="com.yonge.cooleshow.biz.dal.vo.HotTeacherVo">
@@ -89,6 +90,7 @@
         , t.evaluate_time_ as evaluateTime
         , t.tenant_id_ as tenantId
         , t.settlement_from_ as settlementFrom
+        , t.im_device_id_ as imDeviceId
     </sql>
 
     <!-- 分页查询 -->

+ 3 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/MessageSenderPlugin.java

@@ -1,6 +1,7 @@
 package com.yonge.toolset.thirdparty.message;
 
 import java.io.IOException;
+import java.util.List;
 
 public interface MessageSenderPlugin {
 	
@@ -27,4 +28,6 @@ public interface MessageSenderPlugin {
 	 * @throws IOException
 	 */
 	public boolean batchSend(String subject, String content, String[] receivers, String url, String jpushType,String sound,String channelId) throws Exception;
+
+    void deviceRemoveAlias(String alias, List<String> registerIds, String pushType);
 }

+ 1 - 1
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/MessageSenderPluginContext.java

@@ -113,7 +113,7 @@ public class MessageSenderPluginContext implements ApplicationContextAware {
 		this.applicationContext = applicationContext;
 	}
 
-	private MessageSenderPlugin getMessageSenderPlugin(MessageSender messageSender) {
+	public MessageSenderPlugin getMessageSenderPlugin(MessageSender messageSender) {
 		String beanId = mapper.get(StringUtils.lowerCase(messageSender.name()));
 
 		if (StringUtils.isBlank(beanId)) {

+ 6 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/AwSmsPlugin.java

@@ -2,6 +2,7 @@ package com.yonge.toolset.thirdparty.message.provider;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
@@ -125,6 +126,11 @@ public class AwSmsPlugin implements MessageSenderPlugin, InitializingBean {
 		}
 	}
 
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+
+    }
+
 //	public static void main(String[] args) throws IOException {
 //		AwSmsPlugin plugin = new AwSmsPlugin();
 //		plugin.send("测试", "您的验证码为274160(5分钟内有效),您正在进行商户认证,请不要向他人透露验证码", "13720176797", "", "");

+ 7 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/CommEmailPlugin.java

@@ -12,6 +12,8 @@ import org.springframework.stereotype.Service;
 
 import com.yonge.toolset.thirdparty.message.MessageSenderPlugin;
 
+import java.util.List;
+
 @Service
 public class CommEmailPlugin implements MessageSenderPlugin, InitializingBean {
 
@@ -141,4 +143,9 @@ public class CommEmailPlugin implements MessageSenderPlugin, InitializingBean {
 		return true;
 	}
 
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+
+    }
+
 }

+ 93 - 1
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/JiguangPushPlugin.java

@@ -3,9 +3,14 @@ package com.yonge.toolset.thirdparty.message.provider;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.stream.Collectors;
 
+import com.alibaba.fastjson.JSON;
+import com.google.common.collect.Lists;
+import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Value;
@@ -222,7 +227,94 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 		return true;
 	}
 
-	public void setStudentAppKey(String studentAppKey) {
+
+    /**
+     * 删除设备的别名
+     *
+     * @param alias      用户别名
+     * @param registerIds 设备注册ID
+     * @param pushType   极光应用类型
+     */
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+        //MessageSenderService.super.deviceRemoveAlias(alias, registerId);
+
+        // 接口访问基础
+        String baseUrl = "https://device.jpush.cn";
+
+        String base64_auth_string;
+
+        switch (pushType){
+            case "TENANT_STUDENT":
+            case "STUDENT":
+                base64_auth_string = encryptBASE64(this.studentAppKey + ":" + this.studentMasterSecret);
+                break;
+            case "TEACHER":
+                base64_auth_string = encryptBASE64(this.teacherAppKey + ":" + this.teacherMasterSecret);
+                break;
+            default:
+                base64_auth_string = encryptBASE64(this.systemAppKey + ":" + this.systemMasterSecret);
+                break;
+        }
+        String authorization = "Basic " + base64_auth_string;
+
+        List<String> removeIds = Lists.newArrayList();
+        // 查询别名绑定设备
+        {
+
+            // 请求头授权参数
+            HashMap<String, String> HeaderMap = new HashMap<String, String>(){{
+                put("Authorization", authorization.trim());
+            }};
+
+            // 请求参数
+            HashMap<String, Object> data = new HashMap<String, Object>(){{
+                put("new_format", "false"); // 返回结果是否使用新格式
+            }};
+
+            // 发起请求
+            try {
+                String ret = HttpUtil.get(baseUrl + "/v3/aliases/" + alias, data, HeaderMap);
+                if (StringUtils.isNotBlank(ret)) {
+                    JSONObject json = JSONObject.parseObject(ret);
+
+                    json.getJSONArray("registration_ids").forEach(item -> removeIds.add(item.toString()));
+                }
+            } catch (Exception e) {
+                throw new BizException("deviceRemoveAlias 查询别名绑定设备", e);
+            }
+
+            // 排除当前设备
+            if (CollectionUtils.isNotEmpty(removeIds) && CollectionUtils.isNotEmpty(registerIds)) {
+                removeIds.removeAll(registerIds);
+            }
+        }
+
+        // 删除别名绑定设备
+        if (CollectionUtils.isNotEmpty(removeIds)) {
+            // 请求头授权参数
+            HashMap<String, String> HeaderMap = new HashMap<String, String>(){{
+                put("Authorization", authorization.trim());
+            }};
+
+            // 请求参数
+            HashMap<String, Object> data = new HashMap<String, Object>(){{
+                put("registration_ids", new HashMap<String, Object>(){{
+                    put("remove", removeIds);
+                }});
+            }};
+
+            // 发起请求
+            try {
+                HttpUtil.postForHttps(baseUrl + "/v3/aliases/" + alias, JSON.toJSONString(data), HeaderMap);
+            } catch (Exception e) {
+                throw new BizException("deviceRemoveAlias 删除别名绑定设备", e);
+            }
+        }
+    }
+
+
+    public void setStudentAppKey(String studentAppKey) {
 		this.studentAppKey = studentAppKey;
 	}
 

+ 7 - 1
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/MOxintongSMSPlugin.java

@@ -2,6 +2,7 @@ package com.yonge.toolset.thirdparty.message.provider;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
@@ -85,7 +86,12 @@ public class MOxintongSMSPlugin implements MessageSenderPlugin, InitializingBean
 		}
 	}
 
-	@Override
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+
+    }
+
+    @Override
 	public void afterPropertiesSet() throws Exception {
 		// 参数检查
 		if (StringUtils.isBlank(reqUrl)) {

+ 6 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/ShiyuanSMSPlugin.java

@@ -2,6 +2,7 @@ package com.yonge.toolset.thirdparty.message.provider;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
@@ -121,4 +122,9 @@ public class ShiyuanSMSPlugin implements MessageSenderPlugin, InitializingBean {
 		}
 	}
 
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+
+    }
+
 }

+ 7 - 1
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/message/provider/YimeiSmsPlugin.java

@@ -3,6 +3,7 @@ package com.yonge.toolset.thirdparty.message.provider;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -82,7 +83,12 @@ public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
 		}
 	}
 
-	@Override
+    @Override
+    public void deviceRemoveAlias(String alias, List<String> registerIds, String pushType) {
+
+    }
+
+    @Override
 	public void afterPropertiesSet() throws Exception {
 
 	}