Переглянути джерело

添加---市级的审核驳回短信发送功能

zhouhaijun 1 місяць тому
батько
коміт
1ad5a5e65b

Різницю між файлами не показано, бо вона завелика
+ 427 - 0
log/cic-data-reportin.out


+ 6 - 0
pom.xml

@@ -250,6 +250,12 @@
             <artifactId>spring-boot-configuration-processor</artifactId>
             <optional>true</optional>
         </dependency>
+        <!--短信-->
+        <dependency>
+            <groupId>com.example</groupId>
+            <artifactId>micro-sdk</artifactId>
+            <version>1.0.2-SNAPSHOT</version>
+        </dependency>
 
         <!--http common-->
         <dependency>

+ 2 - 2
src/main/java/com/bootdo/datas/controller/DataVerifyController.java

@@ -186,9 +186,9 @@ public class DataVerifyController {
     @ResponseBody
     @RequiresPermissions("datas:dataVerify:rebut")
     public R batchRebut(@RequestParam("ids[]") Long[] ids) {
-        log.info("审核通过 备案主键 ids:" + ids);
+        log.info("审核驳回 备案主键 ids:" + ids);
         for (Long id : ids) {
-            log.info("审核通过 id:" + id);
+            log.info("审核驳回 id:" + id);
             GyDataImportDTO data = new GyDataImportDTO();
             // 判断是否已审核过
             data = gyDataService.get(id);

+ 13 - 0
src/main/java/com/bootdo/datas/domain/GyUnitDO.java

@@ -104,6 +104,19 @@ public class GyUnitDO implements Serializable {
      */
     private String note;
 
+    /**
+     * 移动电话
+     */
+    private String mobilePhone;
+
+    public String getMobilePhone() {
+        return mobilePhone;
+    }
+
+    public void setMobilePhone(String mobilePhone) {
+        this.mobilePhone = mobilePhone;
+    }
+
     public String getAuditStatus() {
         return auditStatus;
     }

+ 83 - 0
src/main/java/com/bootdo/datas/service/MessageService.java

@@ -0,0 +1,83 @@
+package com.bootdo.datas.service;
+
+import cn.com.scca.api.DefaultSccaClient;
+import cn.com.scca.api.SccaClient;
+import cn.com.scca.api.data.request.message.SendSmsByTemplateRequest;
+import cn.com.scca.api.data.response.message.SendSmsByTemplateResponse;
+import cn.com.scca.api.error.ApiException;
+import cn.com.scca.api.result.ResponseResult;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author zhouhj
+ */
+@Service
+public class MessageService {
+
+    @Value("${message_gateway.prefix:#{null}}")
+    private String gateWayPrefix;
+
+    @Value("${message_gateway.appId:#{null}}")
+    private String gatewayAppId;
+
+    @Value("${message_gateway.appKey:#{null}}")
+    private String gatewayAppKey;
+
+    @Value("${message_gateway.catalog_record.templateId:#{null}}")
+    private String catalogTemplateId;
+
+    @Value("${message_gateway.risk_assessment.templateId:#{null}}")
+    private String riskTemplateId;
+
+    /**
+     * 重要和核心数据目录审核驳回通知
+     * @param phoneNumberList 手机集合
+     * @param templateParams  风险名称
+     * @return
+     */
+    public Integer importance(String phoneNumberList, String templateParams) {
+        SccaClient sccaClient = new DefaultSccaClient(
+                this.gateWayPrefix,
+                this.gatewayAppId,
+                gatewayAppKey);
+        SendSmsByTemplateRequest request = new SendSmsByTemplateRequest();
+        request.setTempleteId(this.catalogTemplateId);
+        request.setTempleteParams(templateParams);
+        request.setPhoneNumberList(phoneNumberList);
+        ResponseResult<SendSmsByTemplateResponse> execute = null;
+        try {
+            execute = sccaClient.execute(request);
+        } catch (ApiException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e.getMessage());
+        }
+        System.out.println("====短信发送反馈状态码:" + execute.getResult_code() + "====反馈信息:" + execute.getResult_msg());
+        return execute.getResult_code();
+    }
+
+    /**
+     * 安全风险评估审核驳回通知
+     * @param phoneNumberList 手机集合
+     * @param templateParams 风险名称
+     * @return
+     */
+    public Integer securityRisk(String phoneNumberList, String templateParams) {
+        SccaClient sccaClient = new DefaultSccaClient(
+                gateWayPrefix,
+                this.gatewayAppId,
+                this.gatewayAppKey);
+        SendSmsByTemplateRequest request = new SendSmsByTemplateRequest();
+        request.setTempleteId(this.riskTemplateId);
+        request.setTempleteParams(templateParams);
+        request.setPhoneNumberList(phoneNumberList);
+        ResponseResult<SendSmsByTemplateResponse> execute = null;
+        try {
+            execute = sccaClient.execute(request);
+        } catch (ApiException e) {
+            throw new RuntimeException(e);
+        }
+        System.out.println("====短信发送反馈状态码:" + execute.getResult_code() + "====反馈信息:" + execute.getResult_msg());
+        return execute.getResult_code();
+    }
+}

+ 17 - 0
src/main/java/com/bootdo/datas/service/impl/GyDataServiceImpl.java

@@ -3,6 +3,7 @@ package com.bootdo.datas.service.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.bootdo.common.config.BootdoConfig;
 import com.bootdo.common.utils.*;
+import com.bootdo.datas.controller.GyDataImportController;
 import com.bootdo.datas.domain.ExpertOpinionDO;
 import com.bootdo.datas.dao.GyDataDao;
 import com.bootdo.datas.dao.GyUnitDao;
@@ -11,6 +12,7 @@ import com.bootdo.datas.dto.ExamineLogDTO;
 import com.bootdo.datas.dto.GyDataImportDTO;
 import com.bootdo.datas.service.ExamineLogService;
 import com.bootdo.datas.service.GyDataService;
+import com.bootdo.datas.service.MessageService;
 import com.bootdo.datas.service.UnitService;
 import com.bootdo.datas.tools.ExcelUtils;
 import com.bootdo.datas.tools.gm.FileCryptTool;
@@ -66,6 +68,8 @@ public class GyDataServiceImpl implements GyDataService {
     private ExamineLogService examineLogService;
     @Autowired
     private RoleService roleService;
+    @Autowired
+    private MessageService messageService;
 
     private static Logger log = LoggerFactory.getLogger(GyDataServiceImpl.class);
 
@@ -529,6 +533,7 @@ public class GyDataServiceImpl implements GyDataService {
     @Override
     public void updateStatus(GyDataImportDTO data) {
         int effect = gyDataDao.updateStatus(data);
+
         if ("2".equalsIgnoreCase(data.getDataStatus()) && effect > 0) {
             GyDataImportDTO gyDataImportDTO = get(data.getId());
             RoleDO roleDO = roleService.get(gyDataImportDTO.getRoleId());
@@ -561,6 +566,18 @@ public class GyDataServiceImpl implements GyDataService {
                 examineLogService.save(dto);
             }
 
+            //发送短息
+            if("1".equals(data.getAuditStage())){
+                //审核阶段:   1:市级,2:省级
+                GyUnitDO gyUnitDO = gyUnitDao.getGyUnitByCreditCode(data.getGyUnitId());
+                if(Objects.nonNull(gyUnitDO)){
+                    messageService.importance(gyUnitDO.getDataSecurityWay()+","+gyUnitDO.getMobilePhone(),
+                            data.getDataName());
+                }else {
+                    log.error("=========企业的组织机构代码:"+data.getGyUnitId()+",查询不到对应的企业信息===========");
+                }
+            }
+
         }
     }
 

+ 9 - 0
src/main/resources/application.yml

@@ -55,3 +55,12 @@ deployType: 3
 sysProvince: 四川省
 #系统地市,当deployType=1时,此处要填上地级市,比如 成都市;当deployType为2、3时要为空
 sysCity:
+
+#短信网关
+message_gateway:
+  prefix: http://testmicrosrv.scca.com.cn:9527
+  appId: SCCA1816772690011426819
+  appKey: 77ac953078fd43c88a7eb4337196afa5
+  appName: 风险报送系统
+  catalog_record.templateId: 2232445
+  risk_assessment.templateId: 2232446

+ 2 - 1
src/main/resources/mybatis/datas/GyUnitMapper.xml

@@ -20,7 +20,8 @@
             a.DATA_SECURITY_WAY as dataSecurityWay,
             a.CREATE_TIME as createTime,
             a.UPDATE_TIME as updateTime,
-            a.audit_status as auditStatus
+            a.audit_status as auditStatus,
+            a.mobile_phone as mobilePhone
         from gy_unit a
             where
             a.STATUS = '0' and a.CREDIT_CODE = #{creditCode}