From e6456d2196b3e57bd06be0fbc74dd3e0fc28fdeb Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 22 七月 2025 19:17:55 +0800 Subject: [PATCH] 代码提交 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 207 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java new file mode 100644 index 0000000..7d59715 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SmsRecordsServiceImpl.java @@ -0,0 +1,207 @@ +package com.ruoyi.system.service.impl; + +import java.io.IOException; +import java.sql.Date; +import java.time.LocalDate; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson2.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; +import com.ruoyi.common.enums.MsgLSEnum; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.OkHttpExample; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysConfigService; +import com.smartor.common.LSHospTokenUtil; +import com.smartor.domain.ServiceSubtask; +import com.smartor.mapper.ServiceSubtaskMapper; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.SmsRecordsMapper; +import com.ruoyi.system.domain.SmsRecords; +import com.ruoyi.system.service.ISmsRecordsService; + +/** + * 鐭俊璁板綍Service涓氬姟灞傚鐞� + * + * @author smartor + * @date 2023-03-06 + */ +@Slf4j +@Service +public class SmsRecordsServiceImpl implements ISmsRecordsService { + @Autowired + private SmsRecordsMapper smsRecordsMapper; + + @Autowired + private ISysConfigService iSysConfigService; + + @Autowired + private ServiceSubtaskMapper serviceSubtaskMapper; + + /** + * 鏌ヨ鐭俊璁板綍 + * + * @param recordid 鐭俊璁板綍涓婚敭 + * @return 鐭俊璁板綍 + */ + @Override + public SmsRecords selectSmsRecordsByRecordid(Long recordid) { + return smsRecordsMapper.selectSmsRecordsByRecordid(recordid); + } + + /** + * 鏌ヨ鐭俊璁板綍鍒楄〃 + * + * @param smsRecords 鐭俊璁板綍 + * @return 鐭俊璁板綍 + */ + @Override + public List<SmsRecords> selectSmsRecordsList(SmsRecords smsRecords) { + return smsRecordsMapper.selectSmsRecordsList(smsRecords); + } + + /** + * 鏂板鐭俊璁板綍 + * + * @param smsRecords 鐭俊璁板綍 + * @return 缁撴灉 + */ + @Override + public int insertSmsRecords(SmsRecords smsRecords) { + smsRecords.setCreateTime(DateUtils.getNowDate()); + return smsRecordsMapper.insertSmsRecords(smsRecords); + } + + /** + * 鏂板鐭俊璁板綍 + * + * @param smsRecords 鐭俊璁板綍 + * @return 缁撴灉 + */ + @Override + public Boolean sendSmsRecords(SmsRecords smsRecords) { + //鑾峰彇閫氱煡鐭俊鎻愬墠"鍑犲ぉ"鍙戦�� + Integer days = 0; + String noticeSmsBeforeSend = iSysConfigService.selectConfigByKey("notice_sms_before_send"); + //鑾峰彇鍖婚櫌鏈烘瀯ID + String hospOrgid = iSysConfigService.selectConfigByKey("hosp_orgid"); + if (StringUtils.isNotEmpty(noticeSmsBeforeSend)) days = Integer.valueOf(noticeSmsBeforeSend); + + //閫氳繃褰撳墠鏃ユ湡锛屽姞涓婃彁鍓嶇殑澶╂暟锛岃幏鍙栬 + LocalDate newDate = LocalDate.now().plusDays(days); + Date date = Date.valueOf(newDate); + smsRecords.setVisitTime(date); + + List<String> orgidList = null; + if (StringUtils.isNotEmpty(hospOrgid)) { + orgidList = Arrays.asList(hospOrgid.split(",")); + smsRecords.setOrgidList(orgidList); + } + List<SmsRecords> selectSmsRecordsList = smsRecordsMapper.selectSmsRecordsList(smsRecords); + for (SmsRecords record : selectSmsRecordsList) { + Boolean aBoolean = sendSMS(record.getOrgid(), record.getPhone(), record.getMsg()); + ServiceSubtask serviceSubtask = new ServiceSubtask(); + serviceSubtask.setId(record.getSubId()); + if (aBoolean) serviceSubtask.setVisitNotice(1); + serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); + } + + return true; + } + + + public Boolean sendSMS(String orgid, String phone, String content) { + //涓芥按鐨勭煭淇″彂閫佹柟寮� + Boolean isSuccess = false; + try { + Map<String, String> map = MsgLSEnum.getAddressByCode(orgid); + String token = LSHospTokenUtil.getToken(orgid); + log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫侊紝鍦板潃锛歿}锛屽弬鏁帮細{}锛屾満鏋処D锛歿}", map.get("address"), orgid); + String dxCode = getDXCode(map.get("address"), phone, content, map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(orgid), token); + log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫佺粨鏋滐細{}", dxCode); + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, Object> textParam = null; + textParam = objectMapper.readValue(dxCode, Map.class); + String code = textParam.get("Code").toString(); + if (code.equals("0")) { + isSuccess = true; + } + } catch (Exception e) { + e.printStackTrace(); + } + return isSuccess; + } + + /** + * 淇敼鐭俊璁板綍 + * + * @param smsRecords 鐭俊璁板綍 + * @return 缁撴灉 + */ + @Override + public int updateSmsRecords(SmsRecords smsRecords) { + smsRecords.setUpdateTime(DateUtils.getNowDate()); + return smsRecordsMapper.updateSmsRecords(smsRecords); + } + + /** + * 鎵归噺鍒犻櫎鐭俊璁板綍 + * + * @param recordids 闇�瑕佸垹闄ょ殑鐭俊璁板綍涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteSmsRecordsByRecordids(Long[] recordids) { + return smsRecordsMapper.deleteSmsRecordsByRecordids(recordids); + } + + /** + * 鍒犻櫎鐭俊璁板綍淇℃伅 + * + * @param recordid 鐭俊璁板綍涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteSmsRecordsByRecordid(Long recordid) { + return smsRecordsMapper.deleteSmsRecordsByRecordid(recordid); + } + + + private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) { + Map<String, Object> map = new LinkedHashMap<>(); + + Map<String, Object> YeWuXX = new LinkedHashMap<>(); + Map<String, Object> DuanXinXX = new LinkedHashMap<>(); + DuanXinXX.put("ShouJiHM", ShouJiHM); + DuanXinXX.put("FaSongNR", FaSongNR); + DuanXinXX.put("FaSongRID", FaSongRID); + DuanXinXX.put("FaSongRXM", FaSongRXM); + YeWuXX.put("DuanXinXX", DuanXinXX); + + map.put("XiaoXiTou", headerMap); + map.put("YeWuXX", YeWuXX); + + String body = new Gson().toJson(map); + +// String result = HttpUtils.sendPost(address, body); + String result = null; + try { + result = OkHttpExample.sendPostRequest(address, body, token); + } catch (IOException e) { + e.printStackTrace(); + } + log.info("銆恎etDXCode銆戠煭淇″彂閫佺粨鏋滐細{}", result); + + JSONObject jsonObject = JSONObject.parseObject(result); + String code = (String) jsonObject.toString(); + return code; + } +} -- Gitblit v1.9.3