f2f76f9ba4decf3a7c4105ca294bbf0a990ba8b7.svn-base 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.AgoraStudioDescDao;
  4. import cn.com.goldenwater.dcproj.model.AgoraStudioDesc;
  5. import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
  6. import cn.com.goldenwater.dcproj.param.AgoraStudioDescParam;
  7. import cn.com.goldenwater.dcproj.service.AgoraStudioDescService;
  8. import cn.com.goldenwater.dcproj.service.BisInspAllRlationPersService;
  9. import cn.com.goldenwater.dcproj.utils.Builder;
  10. import cn.com.goldenwater.dcproj.utils.UserMsgSectrityUtils;
  11. import cn.com.goldenwater.target.CheckException;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.slf4j.Logger;
  14. import org.slf4j.LoggerFactory;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import java.util.Date;
  19. import java.util.Optional;
  20. import static cn.com.goldenwater.dcproj.util.CheckUtil.check;
  21. import static cn.com.goldenwater.dcproj.util.CheckUtil.notNull;
  22. /**
  23. * @author lhc
  24. * @date 2021-7-4
  25. */
  26. @Service
  27. @Transactional
  28. public class AgoraStudioDescServiceImpl extends AbstractCrudService<AgoraStudioDesc, AgoraStudioDescParam> implements AgoraStudioDescService {
  29. private Logger logger = LoggerFactory.getLogger(getClass());
  30. private static final String CHANNEL_NAME_PREFIX = "CN_";
  31. @Autowired
  32. private AgoraStudioDescDao agoraStudioDescDao;
  33. @Autowired
  34. private BisInspAllRlationPersService bisInspAllRlationPersService;
  35. public AgoraStudioDescServiceImpl(AgoraStudioDescDao agoraStudioDescDao) {
  36. super(agoraStudioDescDao);
  37. this.agoraStudioDescDao = agoraStudioDescDao;
  38. }
  39. @Override
  40. public int insert(AgoraStudioDesc agoraStudioDesc) {
  41. insertAs(agoraStudioDesc);
  42. return 1;
  43. }
  44. @Override
  45. public int update(AgoraStudioDesc agoraStudioDesc) {
  46. agoraStudioDesc.setUptm(new Date());
  47. return this.agoraStudioDescDao.update(agoraStudioDesc);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.agoraStudioDescDao.delete(id);
  52. }
  53. @Override
  54. public AgoraStudioDesc insertAs(AgoraStudioDesc agoraStudioDesc) {
  55. check(StringUtils.isNotBlank(agoraStudioDesc.getPersId()), "persId,no");
  56. BisInspAllRlationPers per = bisInspAllRlationPersService.getById(agoraStudioDesc.getPersId());
  57. Optional.ofNullable(per).orElseThrow(() -> new CheckException("用户ID不正确!"));
  58. String uuid = CHANNEL_NAME_PREFIX + agoraStudioDesc.getPersId();
  59. // 查重
  60. AgoraStudioDesc ap = agoraStudioDescDao.get(uuid);
  61. if (null != ap) {
  62. agoraStudioDesc.setId(ap.getId());
  63. update(agoraStudioDesc);
  64. return agoraStudioDesc;
  65. }
  66. agoraStudioDesc.setId(uuid);
  67. agoraStudioDesc.setChannelName(uuid);
  68. agoraStudioDesc.setPersName(per.getPersName());
  69. agoraStudioDesc.setIntm(new Date());
  70. agoraStudioDesc.setUptm(new Date());
  71. agoraStudioDesc.setState("0");
  72. agoraStudioDesc.setDataStat("0");
  73. this.agoraStudioDescDao.insert(agoraStudioDesc);
  74. return agoraStudioDesc;
  75. }
  76. @Override
  77. public BisInspAllRlationPers getByPers(String channelName) {
  78. AgoraStudioDesc agoraStudioDesc = agoraStudioDescDao.getBy(Builder
  79. .of(AgoraStudioDescParam::new)
  80. .with(AgoraStudioDescParam::setChannelName, channelName)
  81. .build());
  82. notNull(agoraStudioDesc, "未找到直播间!");
  83. BisInspAllRlationPers per = bisInspAllRlationPersService.getById(agoraStudioDesc.getPersId());
  84. Optional.ofNullable(per).orElseThrow(() -> new CheckException("主播信息异常"));
  85. per.setPwd(null);
  86. per.setMobilenumb(UserMsgSectrityUtils.blurPhoneNotExc(per.getMobilenumb()));
  87. return per;
  88. }
  89. }