SipConfigService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.genersoft.iot.vmp.service.impl;
  2. import com.genersoft.iot.vmp.gb28181.bean.SipUserConfig;
  3. import com.genersoft.iot.vmp.service.ISipConfigService;
  4. import com.genersoft.iot.vmp.storager.dao.SipConfigMapper;
  5. import com.genersoft.iot.vmp.storager.dao.dto.AdminAccount;
  6. import com.genersoft.iot.vmp.utils.DateUtil;
  7. import com.genersoft.iot.vmp.utils.StpAdminUtil;
  8. import com.github.pagehelper.PageHelper;
  9. import com.github.pagehelper.PageInfo;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.util.List;
  15. @Service
  16. public class SipConfigService implements ISipConfigService {
  17. private final static Logger logger = LoggerFactory.getLogger(SipConfigService.class);
  18. @Autowired
  19. private SipConfigMapper sipConfigMapper;
  20. @Override
  21. public SipUserConfig getSipConfigByDomain(String domain) {
  22. logger.info("查询sip配置信息,domain:" + domain);
  23. List<SipUserConfig> sipConfigs = sipConfigMapper.querySipConfigByDomain(domain);
  24. // 如果有的话返回第一个
  25. if (sipConfigs == null) {
  26. logger.warn("无法找到对应的sip配置信息 {}", domain);
  27. return null;
  28. }
  29. return sipConfigs.get(0);
  30. }
  31. @Override
  32. public PageInfo<SipUserConfig> getSipConfigsById(String adminId, int page, int limit) {
  33. PageHelper.startPage(page, limit);
  34. logger.info("获取管理员{}, 的sip配置信息", adminId);
  35. List<SipUserConfig> sipConfigs;
  36. if (StpAdminUtil.hasRole("primary")) {
  37. sipConfigs = sipConfigMapper.queryAllSipConfig();
  38. } else {
  39. sipConfigs = sipConfigMapper.querySipConfigsByAdminId(adminId);
  40. }
  41. return new PageInfo<>(sipConfigs);
  42. }
  43. public List<SipUserConfig> getAllSipConfigsById(String adminId) {
  44. List<SipUserConfig> sipConfigs;
  45. logger.info("获取管理员{} 所有的sip配置信息", adminId);
  46. if (StpAdminUtil.hasRole("primary")) {
  47. sipConfigs = sipConfigMapper.queryAllSipConfig();
  48. } else {
  49. sipConfigs = sipConfigMapper.querySipConfigsByAdminId(adminId);
  50. }
  51. return sipConfigs;
  52. }
  53. @Override
  54. public SipUserConfig getSipConfigById(String adminId, String sipId) {
  55. return sipConfigMapper.querySipConfigsById(adminId, sipId);
  56. }
  57. public boolean editSipConfig(String sipId, SipUserConfig sipConfig) {
  58. return sipConfigMapper.updateSipConfig(sipConfig, sipId) > 0;
  59. }
  60. public boolean addSipConfig(String adminId, SipUserConfig sipConfig) {
  61. String createTime = "";
  62. sipConfig.setAdminId(adminId);
  63. sipConfig.setEnable("1");
  64. sipConfig.setCreateTime(DateUtil.getNow());
  65. return sipConfigMapper.addSipConfig(sipConfig) > 0;
  66. }
  67. public boolean deleteSipConfig(String sipId) {
  68. // todo 删除sip配置
  69. return false;
  70. }
  71. public boolean unbindSipConfig(String adminId, String sipId) {
  72. return sipConfigMapper.adminUnbindSip(adminId, sipId) > 0;
  73. }
  74. public boolean bindSipConfig(String adminId, String sipId) {
  75. // 判断当前管理员是否已经拥有该配置
  76. SipUserConfig sipConfig = sipConfigMapper.querySipConfigsById(adminId, sipId);
  77. if (sipConfig != null) {
  78. logger.warn("重复绑定sip adminID:{} sipId:{}", adminId, sipId);
  79. return false;
  80. }
  81. return sipConfigMapper.adminBindSip(adminId, sipId) > 0;
  82. }
  83. public List<AdminAccount> getSipAdmin(String sipId) {
  84. List<AdminAccount> adminAccount = sipConfigMapper.getSipAdmins(sipId);
  85. return adminAccount;
  86. }
  87. }