f54277fc0ce8f6af4a579e69f974e6c15b60acb9.svn-base 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package cn.com.goldenwater.dcproj.service.impl.meeting;
  2. import cn.com.goldenwater.dcproj.constValue.SmsCodeEnum;
  3. import cn.com.goldenwater.dcproj.dao.AttMeetingListDao;
  4. import cn.com.goldenwater.dcproj.dao.BisInspAllRlationPersDao;
  5. import cn.com.goldenwater.dcproj.dao.DdMessageDao;
  6. import cn.com.goldenwater.dcproj.model.AttMeetingList;
  7. import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
  8. import cn.com.goldenwater.dcproj.model.DdMessage;
  9. import cn.com.goldenwater.dcproj.param.AttMeetingListParam;
  10. import cn.com.goldenwater.dcproj.param.BisInspAllRlationPersParam;
  11. import cn.com.goldenwater.dcproj.service.AttMeetingListService;
  12. import cn.com.goldenwater.core.service.AbstractCrudService;
  13. import cn.com.goldenwater.dcproj.utils.HttpClientUtils;
  14. import cn.com.goldenwater.id.util.UuidUtil;
  15. import com.github.pagehelper.PageHelper;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.data.redis.core.RedisTemplate;
  19. import org.springframework.stereotype.Service;
  20. import org.springframework.transaction.annotation.Transactional;
  21. import java.util.*;
  22. import java.util.concurrent.TimeUnit;
  23. /**
  24. * @author lune
  25. * @date 2019-7-9
  26. */
  27. @Service
  28. @Transactional(rollbackFor = Exception.class)
  29. public class AttMeetingListServiceImpl extends AbstractCrudService<AttMeetingList, AttMeetingListParam> implements AttMeetingListService {
  30. @Autowired
  31. private AttMeetingListDao attMeetingListDao;
  32. public AttMeetingListServiceImpl(AttMeetingListDao attMeetingListDao) {
  33. super(attMeetingListDao);
  34. this.attMeetingListDao = attMeetingListDao;
  35. }
  36. private static String apiKey = "1036432406699048960";
  37. private static String apiSecrect = "bbSsX1wvmaKdca5x2+yBDgeFtl9hj4zJmnegunWuLuHLwLo+QjxOr3//P4BJNrVADa7tN4w0DX1KS/VSec5G0x+ucDeAcSt9tWgFGyoBVtblybh+vzLbwH4sJa92hQfu\n";
  38. @Autowired
  39. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  40. @Autowired
  41. private RedisTemplate redisTemplate;
  42. @Override
  43. public String sendMessage(String persName, String phone) throws Exception {
  44. AttMeetingListParam attMeetingListParam = new AttMeetingListParam();
  45. attMeetingListParam.setName(persName);
  46. List<AttMeetingList> list = attMeetingListDao.findList(attMeetingListParam);
  47. if (null != list && list.size() > 0) {
  48. String oldCode = (String) redisTemplate.opsForValue().get(phone);
  49. if (StringUtils.isNotBlank(oldCode)) {
  50. return SmsCodeEnum.ERROR.getKey();
  51. }
  52. String apiUrl = "http://10.1.198.101/gateway/api/sms/send";
  53. Map<String, String> params = new HashMap<String, String>();
  54. Random rand = new Random();
  55. int num = rand.nextInt(900000) + 100000;
  56. String code = num + "";
  57. params.put("apiKey", apiKey);
  58. params.put("apiSecrect", apiSecrect);
  59. params.put("templateParam", "{\"code\":\"" + code + "\"}");
  60. params.put("signName", "金水云平台");
  61. params.put("templeteCode", "SMS_177545278");
  62. params.put("mobile", phone);
  63. String content = HttpClientUtils.simplePostInvoke(apiUrl+"/gateway/api/sms/send", params);
  64. redisTemplate.opsForValue().set(phone, code, 5L, TimeUnit.MINUTES);
  65. return SmsCodeEnum.SUCCESS.getKey();
  66. }
  67. return SmsCodeEnum.NO_USER.getKey();
  68. }
  69. @Override
  70. public AttMeetingList getAttmeetingList(String phone, String code, String meetingId) {
  71. String oldCode = (String) redisTemplate.opsForValue().get(phone);
  72. if (StringUtils.isNotBlank(code) && code.equals(oldCode)) {
  73. AttMeetingListParam attMeetingListParam = new AttMeetingListParam();
  74. attMeetingListParam.setMeetingId(meetingId);
  75. attMeetingListParam.setMbleNum(phone);
  76. AttMeetingList attMeetingList = attMeetingListDao.getBy(attMeetingListParam);
  77. if (attMeetingList != null) {
  78. attMeetingList.setSignState("1");
  79. attMeetingList.setUptm(new Date());
  80. attMeetingList.setSignTm(new Date());
  81. attMeetingListDao.update(attMeetingList);
  82. } else {
  83. BisInspAllRlationPersParam inspAllRlationPersParam = new BisInspAllRlationPersParam();
  84. inspAllRlationPersParam.setMobilenumb(phone);
  85. BisInspAllRlationPers allRlationPers = bisInspAllRlationPersDao.getBy(inspAllRlationPersParam);
  86. attMeetingList = addAttMeetingList(allRlationPers, meetingId, "1");
  87. }
  88. return attMeetingList;
  89. }
  90. return null;
  91. }
  92. @Override
  93. public AttMeetingList addAttMeetingList(BisInspAllRlationPers allRlationPers, String meetingId, String state) {
  94. AttMeetingList attMeetingList = new AttMeetingList();
  95. attMeetingList.setId(UuidUtil.uuid());
  96. attMeetingList.setIntm(new Date());
  97. attMeetingList.setMbleNum(allRlationPers.getMobilenumb());
  98. attMeetingList.setName(allRlationPers.getPersName());
  99. attMeetingList.setSignTm(new Date());
  100. attMeetingList.setSignState(state);
  101. attMeetingList.setSex(allRlationPers.getSex());
  102. attMeetingList.setMeetingId(meetingId);
  103. attMeetingList.setUnit(allRlationPers.getOrgNm());
  104. attMeetingList.setUptm(new Date());
  105. attMeetingListDao.insert(attMeetingList);
  106. return attMeetingList;
  107. }
  108. @Override
  109. public boolean getAttmeeting(String persName, String phone, String code) {
  110. String oldCode = (String) redisTemplate.opsForValue().get(phone);
  111. if (StringUtils.isNotBlank(code) && code.equals(oldCode)) {
  112. return true;
  113. }
  114. return false;
  115. }
  116. }