已重命名1个文件
已修改11个文件
已添加4个文件
203 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-druid.yml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application-prod.yml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/target/classes/com/ruoyi/web/controller/common/SmsController.class 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecompletioninfo.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/DonationCompletionBaseInfoDTO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/SmsDTO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceDonatecompletioninfoVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/target/classes/com/ruoyi/project/domain/dto/SmsDTO.class 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package com.ruoyi.web.controller.common;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sign.Md5Utils;
import com.ruoyi.project.domain.GiApi;
import com.ruoyi.project.domain.dto.ApiDTO;
import com.ruoyi.project.domain.dto.SmsDTO;
import com.ruoyi.project.service.IApiService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.Map;
@Slf4j
@Api(description = "短信服务")
@RestController
@RequestMapping("/sms")
public class SmsController {
    @Value("${sms.url}")
    private String url="http://103.21.119.249:3131/http/send.aspx";
    @Value("${sms.loginName}")
    private String loginName="qddxfsyy";
    @Value("${sms.passWord}")
    private String passWord="Qyfy_0718";
    @ApiOperation("短信服务->发送短信")
    @PostMapping("/send")
    public AjaxResult getApiList(@RequestBody SmsDTO DTO) {
        if (ObjectUtils.isNotEmpty(DTO.getTel())&&ObjectUtils.isNotEmpty(DTO.getMessageContent())) {
            String key= keyForMd5(loginName,passWord);
            String content="{\"LoginName\":\""+loginName+"\",\"PassWord\":\""+passWord+"\"," +
                    "\"Key\":\""+key+"\"," +
                    "\"Tel\":\""+DTO.getTel()+"\",\"MessageContent\":\""+DTO.getMessageContent()+"\"}";
            String result="";
            result= HttpUtils.sendPost(url, Base64.getEncoder().encodeToString(content.getBytes()) );
            return AjaxResult.success(result);
        } else {
            return AjaxResult.error("电话和消息不能为空");
        }
    }
    public String keyForMd5(String name, String pass)
    {
        return md5(md5(pass) + pass + md5(name));
    }
    public static String md5(String str) {
        try {
            // 1. èŽ·å– MD5 æ¶ˆæ¯æ‘˜è¦å®žä¾‹
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 2. ä½¿ç”¨ UTF-8 ç¼–码将字符串转换为字节数组并计算哈希
            byte[] hashBytes = md.digest(str.getBytes(StandardCharsets.UTF_8));
            // 3. å°†å­—节数组转换为十六进制字符串(小写)
            return bytesToHex(hashBytes).toLowerCase();
        } catch (NoSuchAlgorithmException e) {
            // MD5 æ˜¯æ ‡å‡†ç®—法,正常情况下不会抛出此异常
            throw new RuntimeException("系统不支持 MD5 ç®—法", e);
        }
    }
    /**
     * å°†å­—节数组转换为十六进制字符串
     *
     * @param bytes å­—节数组
     * @return åå…­è¿›åˆ¶å­—符串
     */
    private static String bytesToHex(byte[] bytes) {
        StringBuilder sb = new StringBuilder(bytes.length * 2);
        for (byte b : bytes) {
            // å°†æ¯ä¸ªå­—节的高4位和低4位分别转换为十六进制字符
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceTransportController.java
@@ -72,8 +72,7 @@
            //补充 é™„ä»¶
            ServiceTransportFile serviceTransportFile = new ServiceTransportFile();
            serviceTransportFile.setDelFlag(0);
            serviceTransportFile.setTransportId(transport.getReportId());
            serviceTransportFile.setCaseNo(transport.getCaseNo());
            serviceTransportFile.setTransportId(transport.getId());
            List<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
            transport.setAnnexfilesList(serviceTransportFiles);
        }
@@ -107,7 +106,7 @@
    public AjaxResult edit(@RequestBody ServiceTransport serviceTransport) {
        boolean b = serviceTransportService.updateById(serviceTransport);
        if (b) {
            serviceTransportFileService.updateList(serviceTransport.getAnnexfilesList(), serviceTransport.getReportId(), serviceTransport.getCaseNo(), getNickName());
            serviceTransportFileService.updateList(serviceTransport.getAnnexfilesList(), serviceTransport.getId(), serviceTransport.getCaseNo(), getNickName());
        }
        return toAjax(b);
    }
ruoyi-admin/src/main/resources/application-druid.yml
@@ -1,3 +1,11 @@
# é¡¹ç›®ç›¸å…³é…ç½®
ruoyi:
  # æ–‡ä»¶è·¯å¾„ ç¤ºä¾‹ï¼ˆ Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  # å¼€å‘环境 window
  profile: D:/OPO/WEB/uploadFile
  # å½’档路径
  archived: D:/OPO/WEB/archived/
# æ•°æ®æºé…ç½®
spring:
  datasource:
@@ -90,3 +98,8 @@
  proxy:
    enabled: true  # æ˜¯å¦å¯ç”¨ä»£ç†
    url: http://127.0.0.1:8800/dingtalk-api  # Nginx代理地址,需要替换为实际地址
sms:
  url: http://103.21.119.249:3131/http/send.aspx
  loginName: qddxfsyy
  passWord: Qyfy_0718
ruoyi-admin/src/main/resources/application-prod.yml
ÎļþÃû´Ó ruoyi-admin/src/main/resources/application-srm.yml ÐÞ¸Ä
@@ -1,3 +1,15 @@
# é¡¹ç›®ç›¸å…³é…ç½®
ruoyi:
  # æ–‡ä»¶è·¯å¾„ ç¤ºä¾‹ï¼ˆ Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  # å¼€å‘环境 window
  #  profile: D:/lihusoft/OPO/WEB/Upload
  # å¼€å‘环境 linux
  #  profile: /home/smartor/uploadFile
  # åŒ»é™¢çŽ¯å¢ƒ
  profile: /home/smartor/uploadFile
  # å½’档路径
  archived: /home/smartor/archived/
# æ•°æ®æºé…ç½®
spring:
  datasource:
@@ -91,3 +103,9 @@
  proxy:
    enabled: true  # æ˜¯å¦å¯ç”¨ä»£ç†
    url: http://192.168.111.9:9096/dingtalk-api  # Nginx代理地址,需要替换为实际地址
sms:
  url: http://192.168.111.9:9096/http/send.aspx
  loginName: qddxfsyy
  passWord: Qyfy_0718
ruoyi-admin/src/main/resources/application.yml
@@ -8,15 +8,6 @@
  copyrightYear: 2021
  # å®žä¾‹æ¼”示开关
  demoEnabled: true
  # æ–‡ä»¶è·¯å¾„ ç¤ºä¾‹ï¼ˆ Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
  # å¼€å‘环境 window
  #  profile: D:/lihusoft/OPO/WEB/Upload
  # å¼€å‘环境 linux
  #  profile: /home/smartor/uploadFile
  # åŒ»é™¢çŽ¯å¢ƒ
  profile: D:/OPO/WEB/Upload
  # å½’档路径
  archived: D:/OPO/WEB/archived/
  # èŽ·å–ip地址开关
  addressEnabled: false
  # éªŒè¯ç ç±»åž‹ math æ•°ç»„计算 char å­—符验证
@@ -25,7 +16,7 @@
# å¼€å‘环境配置
server:
  # æœåŠ¡å™¨çš„HTTP端口,默认为9095
  port: 9095
  port: 8080
  servlet:
    # åº”用的访问路径
    context-path: /
@@ -53,7 +44,7 @@
    # å›½é™…化资源文件路径
    basename: i18n/messages
  profiles:
    active: srm
    active: druid
  # æ–‡ä»¶ä¸Šä¼ 
  servlet:
    multipart:
ruoyi-admin/target/classes/com/ruoyi/web/controller/common/SmsController.class
Binary files differ
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceDonatecompletioninfo.java
@@ -134,5 +134,13 @@
    @ApiModelProperty("完成状态1待利用,2进行中,3捐献完成,4放弃")
    @Excel(name = "完成状态1待利用,2进行中,3捐献完成,4放弃")
    private String completeState;
    @ApiModelProperty("亲属关系")
    @Excel(name = "亲属关系")
    private String signfamilyrelations;
    @ApiModelProperty("亲属姓名")
    @Excel(name = "亲属姓名")
    private String relationname;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/DonationCompletionBaseInfoDTO.java
@@ -215,4 +215,13 @@
    @Excel(name = "完成状态1待利用,2进行中,3捐献完成,4放弃")
    private String completeState;
    @ApiModelProperty("亲属关系")
    @Excel(name = "亲属关系")
    private String signfamilyrelations;
    @ApiModelProperty("亲属姓名")
    @Excel(name = "亲属姓名")
    private String relationname;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/dto/SmsDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.project.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@ApiModel("短信")
public class SmsDTO {
    @ApiModelProperty("电话号码")
     private String tel;
    @ApiModelProperty("电话号码")
    private String messageContent;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceDonatecompletioninfoVO.java
@@ -139,5 +139,12 @@
    @Excel(name = "完成状态1待利用,2进行中,3捐献完成,4放弃")
    private String completeState;
    @ApiModelProperty("亲属关系")
    @Excel(name = "亲属关系")
    private String signfamilyrelations;
    @ApiModelProperty("亲属姓名")
    @Excel(name = "亲属姓名")
    private String relationname;
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java
@@ -152,7 +152,11 @@
            b = updateById(serviceDonateorganBase);
            if (b == true && CollectionUtils.isNotEmpty(serviceDonateorganBaseVO.getServiceDonateorganList())) {
                for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganBaseVO.getServiceDonateorganList()) {
                    serviceDonateorganMapper.updateById(serviceDonateorgan);
                    if(ObjectUtils.isNotEmpty(serviceDonateorgan.getId()) ) {
                        serviceDonateorganMapper.updateById(serviceDonateorgan);
                    }else {
                        serviceDonateorganMapper.insert(serviceDonateorgan);
                    }
                }
            }
        }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
@@ -77,9 +77,9 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean updateList(List<ServiceTransportFile> annexfilesList, Long reportId,String caseNo,String updateName) {
    public Boolean updateList(List<ServiceTransportFile> annexfilesList, Long transportId,String caseNo,String updateName) {
        // å…ˆå°†æ•°æ®æŸ¥å‡ºæ¥
        List<ServiceTransportFile> list = list(new LambdaQueryWrapper<ServiceTransportFile>().eq(ServiceTransportFile::getTransportId, reportId));
        List<ServiceTransportFile> list = list(new LambdaQueryWrapper<ServiceTransportFile>().eq(ServiceTransportFile::getTransportId, transportId));
        // æå–现有记录的路径集合,用于高效比较
        Set<String> existingPaths = list.stream().map(file -> file.getFileName() != null ? file.getPath().trim() : "").filter(StringUtils::isNotEmpty).collect(Collectors.toSet());
@@ -103,7 +103,7 @@
        for (ServiceTransportFile serviceTransportFile : annexfilesList) {
            if (StringUtils.isNotEmpty(serviceTransportFile.getFileName()) && !existingPaths.contains(serviceTransportFile.getFileName().trim())) {
                serviceTransportFile.setId(null);
                serviceTransportFile.setTransportId(reportId);
                serviceTransportFile.setTransportId(transportId);
                serviceTransportFile.setCreateBy(updateName);
                serviceTransportFile.setUpdateTime(new Date());
                result &= save(serviceTransportFile);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportServiceImpl.java
@@ -58,7 +58,6 @@
                ServiceTransportFile serviceTransportFile = new ServiceTransportFile();
                serviceTransportFile.setDelFlag(0);
                serviceTransportFile.setTransportId(serviceTransport1.getId());
                serviceTransportFile.setCaseNo(serviceTransport1.getCaseNo());
                List<ServiceTransportFile> serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile);
                serviceTransport1.setAnnexfilesList(serviceTransportFiles);
ruoyi-project/src/main/resources/mapper/project/ServiceDonatecompletioninfoMapper.xml
@@ -208,7 +208,9 @@
        sdc.CoordinatedUserNameT AS coordinatedusernamet,
        sdc.AssessAnnex AS assessannex,
        sdc.DonateOrgan AS donateorgan,
        sdc.complete_state as completeState
        sdc.complete_state as completeState,
        sdc.signfamilyrelations,
        sdc.relationname
        FROM
        service_donatebaseinfo sd
        LEFT JOIN service_donatecompletioninfo sdc ON sd.ID = sdc.InfoID
ruoyi-project/src/main/resources/mapper/project/ServiceDonationwitnessMapper.xml
@@ -158,7 +158,9 @@
        st.OrganDonation_Other as organdonationOther,
        st.DonationCategory as donationcategory,
        st.DeathJudgeAnnex as deathjudgeannex,
        st.witness_state as witnessState
        st.witness_state as witnessState,
        st.IsSpendRemember as isspendremember,
        st.IsRestoreRemains as isrestoreremains
        FROM
        service_donatebaseinfo sd
        LEFT JOIN service_donationwitness st ON sd.ID = st.InfoID
ruoyi-project/target/classes/com/ruoyi/project/domain/dto/SmsDTO.class
Binary files differ